{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/claims-v1.json",
  "schemaVersion": "1.0.0",
  "claims": [
    {
      "id": "what-is-ethereum-quick-answer",
      "articleSlug": "what-is-ethereum",
      "statement": "Ethereum is a public blockchain that records balances and runs programs called smart contracts. Participants agree on the resulting state using proof of stake. Ether, or ETH, is its native asset, used for transaction fees and staking. Applications can use Ethereum without being owned or operated by the Ethereum network itself.",
      "sourceIds": [
        "source-200378547025c5f4",
        "source-0fc300dcdcf420c6",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-200378547025c5f4",
          "locator": "What is Ethereum; what is ether; terminology"
        },
        {
          "sourceId": "source-0fc300dcdcf420c6",
          "locator": "Validators; transaction execution; finality; fork choice"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked shared state/contract role against intro, EVM and contracts; ticket example 10 minus1 and0.01ETH is expressly illustrative."
        ]
      }
    },
    {
      "id": "what-is-ethereum-fact-network",
      "articleSlug": "what-is-ethereum",
      "statement": "Network: A shared state and rules for changing it",
      "sourceIds": [
        "source-200378547025c5f4",
        "source-f31f86bc84bd28d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-200378547025c5f4",
          "locator": "What is Ethereum; what is ether; terminology"
        },
        {
          "sourceId": "source-f31f86bc84bd28d7",
          "locator": "State transition function; EVM instructions; storage"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked shared state/contract role against intro, EVM and contracts; ticket example 10 minus1 and0.01ETH is expressly illustrative."
        ]
      }
    },
    {
      "id": "what-is-ethereum-fact-native-asset",
      "articleSlug": "what-is-ethereum",
      "statement": "Native asset: Ether, abbreviated ETH",
      "sourceIds": [
        "source-92cb5bbc68517168"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92cb5bbc68517168",
          "locator": "What is ether; denominations; transferring ether"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked shared state/contract role against intro, EVM and contracts; ticket example 10 minus1 and0.01ETH is expressly illustrative."
        ]
      }
    },
    {
      "id": "what-is-ethereum-fact-consensus",
      "articleSlug": "what-is-ethereum",
      "statement": "Consensus: Proof of stake",
      "sourceIds": [
        "source-0fc300dcdcf420c6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0fc300dcdcf420c6",
          "locator": "Validators; transaction execution; finality; fork choice"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked shared state/contract role against intro, EVM and contracts; ticket example 10 minus1 and0.01ETH is expressly illustrative."
        ]
      }
    },
    {
      "id": "ether-and-ethereum-quick-answer",
      "articleSlug": "ether-and-ethereum",
      "statement": "Ethereum is the network; ether, abbreviated ETH, is its native asset. One ETH equals one billion gwei or one billion billion wei. Ethereum transaction fees are ultimately paid in ETH, even when an application lets a sponsor pay or presents the cost in another token.",
      "sourceIds": [
        "source-92cb5bbc68517168",
        "source-a8f47d83f0f10a68",
        "source-a40a3054f2d60b07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92cb5bbc68517168",
          "locator": "What is ether; denominations; transferring ether"
        },
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        },
        {
          "sourceId": "source-a40a3054f2d60b07",
          "locator": "Abstract; definitions; UserOperation; EntryPoint; paymasters"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked wei/gwei units, ERC20 distinction, sponsorship, issuance/burn. Recomputed50000×4gwei=0.0002ETH."
        ]
      }
    },
    {
      "id": "ether-and-ethereum-fact-smallest-unit",
      "articleSlug": "ether-and-ethereum",
      "statement": "Smallest unit: One wei equals 10^-18 ETH",
      "sourceIds": [
        "source-92cb5bbc68517168"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92cb5bbc68517168",
          "locator": "What is ether; denominations; transferring ether"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked wei/gwei units, ERC20 distinction, sponsorship, issuance/burn. Recomputed50000×4gwei=0.0002ETH."
        ]
      }
    },
    {
      "id": "ether-and-ethereum-fact-fee-quotation",
      "articleSlug": "ether-and-ethereum",
      "statement": "Fee quotation: One gwei equals 10^-9 ETH",
      "sourceIds": [
        "source-a8f47d83f0f10a68"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked wei/gwei units, ERC20 distinction, sponsorship, issuance/burn. Recomputed50000×4gwei=0.0002ETH."
        ]
      }
    },
    {
      "id": "ether-and-ethereum-fact-token-distinction",
      "articleSlug": "ether-and-ethereum",
      "statement": "Token distinction: An ERC-20 balance is contract state, separate from native ETH",
      "sourceIds": [
        "source-e99ee03961c5d3e7",
        "source-d131f5d8edf3944c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        },
        {
          "sourceId": "source-d131f5d8edf3944c",
          "locator": "Account types; an account examined; a note on wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked wei/gwei units, ERC20 distinction, sponsorship, issuance/burn. Recomputed50000×4gwei=0.0002ETH."
        ]
      }
    },
    {
      "id": "ethereum-accounts-quick-answer",
      "articleSlug": "ethereum-accounts",
      "statement": "An Ethereum account is a record in the network’s state, identified by an address. A traditional externally owned account uses a private key; a contract account runs code. EIP-7702 also allows a key-controlled account to delegate code execution, so the old rule that externally owned accounts never have code is incomplete.",
      "sourceIds": [
        "source-d131f5d8edf3944c",
        "source-d4e3c4ededc427a1",
        "source-556d7525a12cff50"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d131f5d8edf3944c",
          "locator": "Account types; an account examined; a note on wallets"
        },
        {
          "sourceId": "source-d4e3c4ededc427a1",
          "locator": "Abstract; persistence of code delegation; transaction origination; security considerations"
        },
        {
          "sourceId": "source-556d7525a12cff50",
          "locator": "Prague-Electra (Pectra); Paris (The Merge); London"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked EIP7702 persistent delegation and account nonce/code distinction against pinned spec. Added source-backed UTXO/account comparison;5−2=3 assumes no fees."
        ]
      }
    },
    {
      "id": "ethereum-accounts-fact-identifier",
      "articleSlug": "ethereum-accounts",
      "statement": "Identifier: An address identifies an account, not necessarily a person",
      "sourceIds": [
        "source-d131f5d8edf3944c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d131f5d8edf3944c",
          "locator": "Account types; an account examined; a note on wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked EIP7702 persistent delegation and account nonce/code distinction against pinned spec. Added source-backed UTXO/account comparison;5−2=3 assumes no fees."
        ]
      }
    },
    {
      "id": "ethereum-accounts-fact-wallet",
      "articleSlug": "ethereum-accounts",
      "statement": "Wallet: Software that interacts with accounts",
      "sourceIds": [
        "source-d131f5d8edf3944c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d131f5d8edf3944c",
          "locator": "Account types; an account examined; a note on wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked EIP7702 persistent delegation and account nonce/code distinction against pinned spec. Added source-backed UTXO/account comparison;5−2=3 assumes no fees."
        ]
      }
    },
    {
      "id": "ethereum-accounts-fact-delegation",
      "articleSlug": "ethereum-accounts",
      "statement": "Delegation: EIP-7702 delegation persists until changed or cleared",
      "sourceIds": [
        "source-d4e3c4ededc427a1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d4e3c4ededc427a1",
          "locator": "Abstract; persistence of code delegation; transaction origination; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked EIP7702 persistent delegation and account nonce/code distinction against pinned spec. Added source-backed UTXO/account comparison;5−2=3 assumes no fees."
        ]
      }
    },
    {
      "id": "ethereum-transactions-and-nonces-quick-answer",
      "articleSlug": "ethereum-transactions-and-nonces",
      "statement": "An Ethereum transaction is a signed request to change network state. Its fields identify the destination, any ETH value, call data and fee limits. A sender nonce orders ordinary transactions and prevents the same authorized transaction from executing repeatedly; a transaction hash alone does not prove inclusion or success.",
      "sourceIds": [
        "source-b75ec7ad726d1661",
        "source-d131f5d8edf3944c",
        "source-a7715dc3ab892daa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        },
        {
          "sourceId": "source-d131f5d8edf3944c",
          "locator": "Account types; an account examined; a note on wallets"
        },
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC optional same-nonce replacement and pending fields against sequential transaction/account nonce descriptions. Added direct eth-accounts support.",
          "The nonce-12/13 illustration is explicitly ordinary sender sequencing; included failed execution still consumes the ordinary transaction nonce. The unchanged article retains its separately reviewed EIP-7702 nonce caveat."
        ]
      }
    },
    {
      "id": "ethereum-transactions-and-nonces-fact-value",
      "articleSlug": "ethereum-transactions-and-nonces",
      "statement": "Value: The native ETH amount, denominated in wei",
      "sourceIds": [
        "source-b75ec7ad726d1661"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC optional same-nonce replacement and pending fields against sequential transaction/account nonce descriptions. Added direct eth-accounts support.",
          "The nonce-12/13 illustration is explicitly ordinary sender sequencing; included failed execution still consumes the ordinary transaction nonce. The unchanged article retains its separately reviewed EIP-7702 nonce caveat."
        ]
      }
    },
    {
      "id": "ethereum-transactions-and-nonces-fact-data",
      "articleSlug": "ethereum-transactions-and-nonces",
      "statement": "Data: May encode a contract function and arguments",
      "sourceIds": [
        "source-b75ec7ad726d1661",
        "source-64ab603c23f79017"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        },
        {
          "sourceId": "source-64ab603c23f79017",
          "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC optional same-nonce replacement and pending fields against sequential transaction/account nonce descriptions. Added direct eth-accounts support.",
          "The nonce-12/13 illustration is explicitly ordinary sender sequencing; included failed execution still consumes the ordinary transaction nonce. The unchanged article retains its separately reviewed EIP-7702 nonce caveat."
        ]
      }
    },
    {
      "id": "ethereum-transactions-and-nonces-fact-receipt",
      "articleSlug": "ethereum-transactions-and-nonces",
      "statement": "Receipt: Reports execution status after inclusion",
      "sourceIds": [
        "source-a7715dc3ab892daa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC optional same-nonce replacement and pending fields against sequential transaction/account nonce descriptions. Added direct eth-accounts support.",
          "The nonce-12/13 illustration is explicitly ordinary sender sequencing; included failed execution still consumes the ordinary transaction nonce. The unchanged article retains its separately reviewed EIP-7702 nonce caveat."
        ]
      }
    },
    {
      "id": "ethereum-gas-fees-quick-answer",
      "articleSlug": "ethereum-gas-fees",
      "statement": "Gas measures Ethereum execution work. An ordinary execution fee is gas used multiplied by the effective gas price, paid in ETH. Under EIP-1559 that price combines the block’s base fee and an allowed priority fee within the sender’s cap. A gas limit is a resource ceiling, not the amount necessarily charged.",
      "sourceIds": [
        "source-a8f47d83f0f10a68",
        "source-52c8282149224113"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        },
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH; gas limit, actual charge and value field remain distinct.",
          "Added ERC-20, EIP-4844 and Optimism fee sources because the changed section explicitly covers token movement and additional blob/rollup components; execution multiplication is not mislabeled as every fee."
        ]
      }
    },
    {
      "id": "ethereum-gas-fees-fact-execution-fee",
      "articleSlug": "ethereum-gas-fees",
      "statement": "Execution fee: Gas used × effective gas price",
      "sourceIds": [
        "source-a8f47d83f0f10a68"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH; gas limit, actual charge and value field remain distinct.",
          "Added ERC-20, EIP-4844 and Optimism fee sources because the changed section explicitly covers token movement and additional blob/rollup components; execution multiplication is not mislabeled as every fee."
        ]
      }
    },
    {
      "id": "ethereum-gas-fees-fact-base-fee",
      "articleSlug": "ethereum-gas-fees",
      "statement": "Base fee: Removed from circulation",
      "sourceIds": [
        "source-52c8282149224113"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH; gas limit, actual charge and value field remain distinct.",
          "Added ERC-20, EIP-4844 and Optimism fee sources because the changed section explicitly covers token movement and additional blob/rollup components; execution multiplication is not mislabeled as every fee."
        ]
      }
    },
    {
      "id": "ethereum-gas-fees-fact-maximum-fee",
      "articleSlug": "ethereum-gas-fees",
      "statement": "Maximum fee: A price cap per gas, not an automatic tip",
      "sourceIds": [
        "source-52c8282149224113"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH; gas limit, actual charge and value field remain distinct.",
          "Added ERC-20, EIP-4844 and Optimism fee sources because the changed section explicitly covers token movement and additional blob/rollup components; execution multiplication is not mislabeled as every fee."
        ]
      }
    },
    {
      "id": "ethereum-fee-burning-quick-answer",
      "articleSlug": "ethereum-fee-burning",
      "statement": "Ethereum removes the execution base fee from circulation instead of paying it to the block’s fee recipient. Priority fees are separate. Burning is one side of the supply calculation: ETH can still increase in supply when issuance exceeds the ETH removed over the same period. Burning does not guarantee a price outcome.",
      "sourceIds": [
        "source-52c8282149224113",
        "source-8c7a7c856b194f9e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        },
        {
          "sourceId": "source-8c7a7c856b194f9e",
          "locator": "Post-merge issuance; the burn"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Verified basefee/burn/priority accounting and blobfee separation.100−70=30 and100−120=−20 are hypothetical, no live supply claim."
        ]
      }
    },
    {
      "id": "ethereum-fee-burning-fact-execution-base-fee",
      "articleSlug": "ethereum-fee-burning",
      "statement": "Execution base fee: Burned by protocol accounting",
      "sourceIds": [
        "source-52c8282149224113"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Verified basefee/burn/priority accounting and blobfee separation.100−70=30 and100−120=−20 are hypothetical, no live supply claim."
        ]
      }
    },
    {
      "id": "ethereum-fee-burning-fact-priority-fee",
      "articleSlug": "ethereum-fee-burning",
      "statement": "Priority fee: Distinct from the burned base fee",
      "sourceIds": [
        "source-52c8282149224113"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-52c8282149224113",
          "locator": "Abstract; specification; reference implementation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Verified basefee/burn/priority accounting and blobfee separation.100−70=30 and100−120=−20 are hypothetical, no live supply claim."
        ]
      }
    },
    {
      "id": "ethereum-fee-burning-fact-net-supply",
      "articleSlug": "ethereum-fee-burning",
      "statement": "Net supply: Requires issuance and removal over the same interval",
      "sourceIds": [
        "source-8c7a7c856b194f9e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8c7a7c856b194f9e",
          "locator": "Post-merge issuance; the burn"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Verified basefee/burn/priority accounting and blobfee separation.100−70=30 and100−120=−20 are hypothetical, no live supply claim."
        ]
      }
    },
    {
      "id": "ethereum-smart-contracts-quick-answer",
      "articleSlug": "ethereum-smart-contracts",
      "statement": "A smart contract is code and stored data at a blockchain address. A transaction can invoke its functions, and nodes check the resulting execution. The contract enforces its programmed conditions; it cannot independently know whether an outside event happened, and correct execution does not prove that its rules are safe or fair.",
      "sourceIds": [
        "source-1bffcf35253de959",
        "source-f31f86bc84bd28d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        },
        {
          "sourceId": "source-f31f86bc84bd28d7",
          "locator": "State transition function; EVM instructions; storage"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked eth_call state/input semantics and EIP-140 failure, rollback and remaining-gas rules against EIP-658 top-level receipt status.",
          "Added eth-gas and Solidity Message Calls support for consumed-gas charges and a handled nested failure coexisting with overall success. No later-inclusion guarantee is given."
        ]
      }
    },
    {
      "id": "ethereum-smart-contracts-fact-components",
      "articleSlug": "ethereum-smart-contracts",
      "statement": "Components: Code plus persistent state",
      "sourceIds": [
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked eth_call state/input semantics and EIP-140 failure, rollback and remaining-gas rules against EIP-658 top-level receipt status.",
          "Added eth-gas and Solidity Message Calls support for consumed-gas charges and a handled nested failure coexisting with overall success. No later-inclusion guarantee is given."
        ]
      }
    },
    {
      "id": "ethereum-smart-contracts-fact-invocation",
      "articleSlug": "ethereum-smart-contracts",
      "statement": "Invocation: Transactions or calls trigger execution",
      "sourceIds": [
        "source-b75ec7ad726d1661",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked eth_call state/input semantics and EIP-140 failure, rollback and remaining-gas rules against EIP-658 top-level receipt status.",
          "Added eth-gas and Solidity Message Calls support for consumed-gas charges and a handled nested failure coexisting with overall success. No later-inclusion guarantee is given."
        ]
      }
    },
    {
      "id": "ethereum-smart-contracts-fact-outside-information",
      "articleSlug": "ethereum-smart-contracts",
      "statement": "Outside information: Needs an external input mechanism such as an oracle",
      "sourceIds": [
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked eth_call state/input semantics and EIP-140 failure, rollback and remaining-gas rules against EIP-658 top-level receipt status.",
          "Added eth-gas and Solidity Message Calls support for consumed-gas charges and a handled nested failure coexisting with overall success. No later-inclusion guarantee is given."
        ]
      }
    },
    {
      "id": "ethereum-virtual-machine-quick-answer",
      "articleSlug": "ethereum-virtual-machine",
      "statement": "The Ethereum Virtual Machine, or EVM, defines how contract instructions execute and change Ethereum state. Given the same starting state, transaction and applicable rules, nodes should obtain the same result. Gas bounds resource consumption. The EVM is a set of execution rules, not a single physical computer or a guarantee of application safety.",
      "sourceIds": [
        "source-f31f86bc84bd28d7",
        "source-a8f47d83f0f10a68",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f31f86bc84bd28d7",
          "locator": "State transition function; EVM instructions; storage"
        },
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked determinism scope, memory/transient/persistent state lifetimes, gas limit and EVM-compatibility caveat;counter5+3=8."
        ]
      }
    },
    {
      "id": "ethereum-virtual-machine-fact-determinism",
      "articleSlug": "ethereum-virtual-machine",
      "statement": "Determinism: The same inputs and rules produce the same execution result",
      "sourceIds": [
        "source-f31f86bc84bd28d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f31f86bc84bd28d7",
          "locator": "State transition function; EVM instructions; storage"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked determinism scope, memory/transient/persistent state lifetimes, gas limit and EVM-compatibility caveat;counter5+3=8."
        ]
      }
    },
    {
      "id": "ethereum-virtual-machine-fact-persistent-data",
      "articleSlug": "ethereum-virtual-machine",
      "statement": "Persistent data: Contract storage survives between transactions",
      "sourceIds": [
        "source-f31f86bc84bd28d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f31f86bc84bd28d7",
          "locator": "State transition function; EVM instructions; storage"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked determinism scope, memory/transient/persistent state lifetimes, gas limit and EVM-compatibility caveat;counter5+3=8."
        ]
      }
    },
    {
      "id": "ethereum-virtual-machine-fact-work-budget",
      "articleSlug": "ethereum-virtual-machine",
      "statement": "Work budget: Gas meters execution resources",
      "sourceIds": [
        "source-a8f47d83f0f10a68"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked determinism scope, memory/transient/persistent state lifetimes, gas limit and EVM-compatibility caveat;counter5+3=8."
        ]
      }
    },
    {
      "id": "ethereum-wallet-requests-quick-answer",
      "articleSlug": "ethereum-wallet-requests",
      "statement": "A wallet request can expose an account, sign a message or authorize a transaction; these are different actions. Contract interfaces help decode function names and arguments, while typed-message formats add context to signatures. A request with no immediate gas fee can still authorize a consequential action later.",
      "sourceIds": [
        "source-36f6aadc103db598",
        "source-67a18d868dbe6d78",
        "source-64ab603c23f79017"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36f6aadc103db598",
          "locator": "request; events; security considerations; user account exposure"
        },
        {
          "sourceId": "source-67a18d868dbe6d78",
          "locator": "Abstract; domainSeparator; security considerations"
        },
        {
          "sourceId": "source-64ab603c23f79017",
          "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account exposure/request boundary against freshly reopened pinned EIP-1193; added its existing source ID to the changed section. Added ERC-20 for separate approval behavior.",
          "EIP-712 and ERC-2612 were independently read earlier in this same review session; they establish typed scope, later permit submission, nonce/deadline rules and consequential gasless signing. Earlier actual retrieval timestamps are preserved."
        ]
      }
    },
    {
      "id": "ethereum-wallet-requests-fact-connection",
      "articleSlug": "ethereum-wallet-requests",
      "statement": "Connection: Provider communication and account exposure are distinct from a transfer",
      "sourceIds": [
        "source-36f6aadc103db598"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36f6aadc103db598",
          "locator": "request; events; security considerations; user account exposure"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account exposure/request boundary against freshly reopened pinned EIP-1193; added its existing source ID to the changed section. Added ERC-20 for separate approval behavior.",
          "EIP-712 and ERC-2612 were independently read earlier in this same review session; they establish typed scope, later permit submission, nonce/deadline rules and consequential gasless signing. Earlier actual retrieval timestamps are preserved."
        ]
      }
    },
    {
      "id": "ethereum-wallet-requests-fact-abi",
      "articleSlug": "ethereum-wallet-requests",
      "statement": "ABI: Describes contract functions, arguments and events",
      "sourceIds": [
        "source-64ab603c23f79017"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-64ab603c23f79017",
          "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account exposure/request boundary against freshly reopened pinned EIP-1193; added its existing source ID to the changed section. Added ERC-20 for separate approval behavior.",
          "EIP-712 and ERC-2612 were independently read earlier in this same review session; they establish typed scope, later permit submission, nonce/deadline rules and consequential gasless signing. Earlier actual retrieval timestamps are preserved."
        ]
      }
    },
    {
      "id": "ethereum-wallet-requests-fact-typed-signature",
      "articleSlug": "ethereum-wallet-requests",
      "statement": "Typed signature: Provides structure and domain context, not automatic safety",
      "sourceIds": [
        "source-67a18d868dbe6d78"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67a18d868dbe6d78",
          "locator": "Abstract; domainSeparator; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account exposure/request boundary against freshly reopened pinned EIP-1193; added its existing source ID to the changed section. Added ERC-20 for separate approval behavior.",
          "EIP-712 and ERC-2612 were independently read earlier in this same review session; they establish typed scope, later permit submission, nonce/deadline rules and consequential gasless signing. Earlier actual retrieval timestamps are preserved."
        ]
      }
    },
    {
      "id": "erc-20-tokens-quick-answer",
      "articleSlug": "erc-20-tokens",
      "statement": "ERC-20 is a standard interface for fungible tokens implemented by smart contracts. It defines ways to inspect supply and balances, transfer units and authorize a spender. It does not guarantee a token’s value, backing, uniqueness of name or absence of issuer controls. ETH itself is Ethereum’s native asset, not an ERC-20 balance.",
      "sourceIds": [
        "source-e99ee03961c5d3e7",
        "source-92cb5bbc68517168"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        },
        {
          "sourceId": "source-92cb5bbc68517168",
          "locator": "What is ether; denominations; transferring ether"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 decimals OPTIONAL requirement and uint256 transfer/balance methods. Recomputed 1250000/10^6 = 1.25 and contrasted with 1250000/10^18 = 0.00000000000125.",
          "Metadata changes display scaling, not base-unit integer amounts; missing decimals requires a supported convention rather than an automatic eighteen-decimal assumption."
        ]
      }
    },
    {
      "id": "erc-20-tokens-fact-balance-query",
      "articleSlug": "erc-20-tokens",
      "statement": "Balance query: balanceOf reads units held by an account",
      "sourceIds": [
        "source-e99ee03961c5d3e7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 decimals OPTIONAL requirement and uint256 transfer/balance methods. Recomputed 1250000/10^6 = 1.25 and contrasted with 1250000/10^18 = 0.00000000000125.",
          "Metadata changes display scaling, not base-unit integer amounts; missing decimals requires a supported convention rather than an automatic eighteen-decimal assumption."
        ]
      }
    },
    {
      "id": "erc-20-tokens-fact-decimals",
      "articleSlug": "erc-20-tokens",
      "statement": "Decimals: Optional display metadata; units remain integers",
      "sourceIds": [
        "source-e99ee03961c5d3e7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 decimals OPTIONAL requirement and uint256 transfer/balance methods. Recomputed 1250000/10^6 = 1.25 and contrasted with 1250000/10^18 = 0.00000000000125.",
          "Metadata changes display scaling, not base-unit integer amounts; missing decimals requires a supported convention rather than an automatic eighteen-decimal assumption."
        ]
      }
    },
    {
      "id": "erc-20-tokens-fact-allowance",
      "articleSlug": "erc-20-tokens",
      "statement": "Allowance: A limit on an approved spender’s transfers",
      "sourceIds": [
        "source-e99ee03961c5d3e7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 decimals OPTIONAL requirement and uint256 transfer/balance methods. Recomputed 1250000/10^6 = 1.25 and contrasted with 1250000/10^18 = 0.00000000000125.",
          "Metadata changes display scaling, not base-unit integer amounts; missing decimals requires a supported convention rather than an automatic eighteen-decimal assumption."
        ]
      }
    },
    {
      "id": "erc-721-nfts-quick-answer",
      "articleSlug": "erc-721-nfts",
      "statement": "ERC-721 defines an interface for individually distinguishable tokens. The contract and token ID identify a token, and its ownership record names an account. Images and descriptions can be linked metadata. The standard does not itself establish copyright, authenticity, permanent file availability or the rights to a physical item.",
      "sourceIds": [
        "source-b32b4b786f2e09c9",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-identity",
      "articleSlug": "erc-721-nfts",
      "statement": "Identity: Token ID within a particular contract and network",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-ownership-lookup",
      "articleSlug": "erc-721-nfts",
      "statement": "Ownership lookup: ownerOf names the owning account",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-metadata",
      "articleSlug": "erc-721-nfts",
      "statement": "Metadata: Optional interface may return a token URI",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-1155-multi-tokens-quick-answer",
      "articleSlug": "erc-1155-multi-tokens",
      "statement": "ERC-1155 lets one contract manage multiple token types, each identified by an ID with account balances. Those types can represent interchangeable items, unique items or a mixture. It supports batched transfers and balance queries. The interface alone does not guarantee scarcity, fixed metadata or a particular game or asset right.",
      "sourceIds": [
        "source-ebda78c6293f67ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ebda78c6293f67ad",
          "locator": "Abstract; specification; safe transfer rules; metadata; approval"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read batch quantities, ID/account balances, receiver checks and approval-for-all scope.5−2=3;standard does not promise universal savings."
        ]
      }
    },
    {
      "id": "erc-1155-multi-tokens-fact-accounting",
      "articleSlug": "erc-1155-multi-tokens",
      "statement": "Accounting: Balances are tracked for account-and-token-ID pairs",
      "sourceIds": [
        "source-ebda78c6293f67ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ebda78c6293f67ad",
          "locator": "Abstract; specification; safe transfer rules; metadata; approval"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read batch quantities, ID/account balances, receiver checks and approval-for-all scope.5−2=3;standard does not promise universal savings."
        ]
      }
    },
    {
      "id": "erc-1155-multi-tokens-fact-batching",
      "articleSlug": "erc-1155-multi-tokens",
      "statement": "Batching: Several IDs and amounts can move in one operation",
      "sourceIds": [
        "source-ebda78c6293f67ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ebda78c6293f67ad",
          "locator": "Abstract; specification; safe transfer rules; metadata; approval"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read batch quantities, ID/account balances, receiver checks and approval-for-all scope.5−2=3;standard does not promise universal savings."
        ]
      }
    },
    {
      "id": "erc-1155-multi-tokens-fact-permission",
      "articleSlug": "erc-1155-multi-tokens",
      "statement": "Permission: Operator approval can cover all the owner’s types in that contract",
      "sourceIds": [
        "source-ebda78c6293f67ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ebda78c6293f67ad",
          "locator": "Abstract; specification; safe transfer rules; metadata; approval"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read batch quantities, ID/account balances, receiver checks and approval-for-all scope.5−2=3;standard does not promise universal savings."
        ]
      }
    },
    {
      "id": "ethereum-token-approvals-quick-answer",
      "articleSlug": "ethereum-token-approvals",
      "statement": "A token approval gives another address or contract permission to move specified assets under the token’s rules. ERC-20 uses spending allowances; NFT standards offer token-specific or operator-wide permissions. Disconnecting a website is different from changing an onchain approval, and an approval can remain after the original interaction ends.",
      "sourceIds": [
        "source-e99ee03961c5d3e7",
        "source-b32b4b786f2e09c9",
        "source-ebda78c6293f67ad",
        "source-36f6aadc103db598"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        },
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        },
        {
          "sourceId": "source-ebda78c6293f67ad",
          "locator": "Abstract; specification; safe transfer rules; metadata; approval"
        },
        {
          "sourceId": "source-36f6aadc103db598",
          "locator": "request; events; security considerations; user account exposure"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 approve/transferFrom/allowance and ERC-2612 assignment, nonce, inclusive submission deadline and any-caller behavior. Permit acceptance creates an allowance whose lifetime is not governed by permit deadline.",
          "Added freshly reopened existing EIP-1193 for connection-versus-contract-permission distinction; disconnection does not itself change the token ledger."
        ]
      }
    },
    {
      "id": "ethereum-token-approvals-fact-erc-20-allowance",
      "articleSlug": "ethereum-token-approvals",
      "statement": "ERC-20 allowance: The remaining amount a spender is authorized to transfer",
      "sourceIds": [
        "source-e99ee03961c5d3e7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 approve/transferFrom/allowance and ERC-2612 assignment, nonce, inclusive submission deadline and any-caller behavior. Permit acceptance creates an allowance whose lifetime is not governed by permit deadline.",
          "Added freshly reopened existing EIP-1193 for connection-versus-contract-permission distinction; disconnection does not itself change the token ledger."
        ]
      }
    },
    {
      "id": "ethereum-token-approvals-fact-nft-scope",
      "articleSlug": "ethereum-token-approvals",
      "statement": "NFT scope: A token or an operator-wide permission, depending on the method",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 approve/transferFrom/allowance and ERC-2612 assignment, nonce, inclusive submission deadline and any-caller behavior. Permit acceptance creates an allowance whose lifetime is not governed by permit deadline.",
          "Added freshly reopened existing EIP-1193 for connection-versus-contract-permission distinction; disconnection does not itself change the token ledger."
        ]
      }
    },
    {
      "id": "ethereum-token-approvals-fact-revocation",
      "articleSlug": "ethereum-token-approvals",
      "statement": "Revocation: Changes permission; it does not reverse a completed transfer",
      "sourceIds": [
        "source-e99ee03961c5d3e7",
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        },
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-20 approve/transferFrom/allowance and ERC-2612 assignment, nonce, inclusive submission deadline and any-caller behavior. Permit acceptance creates an allowance whose lifetime is not governed by permit deadline.",
          "Added freshly reopened existing EIP-1193 for connection-versus-contract-permission distinction; disconnection does not itself change the token ledger."
        ]
      }
    },
    {
      "id": "ethereum-smart-accounts-quick-answer",
      "articleSlug": "ethereum-smart-accounts",
      "statement": "Smart accounts use programmable logic to authorize actions, which can enable recovery rules, transaction batching and sponsored gas. ERC-4337 packages user operations through an EntryPoint; EIP-7702 lets a key-controlled account delegate execution to code. These mechanisms do not automatically make every wallet recoverable or every transaction free.",
      "sourceIds": [
        "source-a40a3054f2d60b07",
        "source-d4e3c4ededc427a1",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a40a3054f2d60b07",
          "locator": "Abstract; definitions; UserOperation; EntryPoint; paymasters"
        },
        {
          "sourceId": "source-d4e3c4ededc427a1",
          "locator": "Abstract; persistence of code delegation; transaction origination; security considerations"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked4337 UserOperation/EntryPoint/bundler/paymaster and7702 persistent delegation. Recovery features implementation-specific."
        ]
      }
    },
    {
      "id": "ethereum-smart-accounts-fact-erc-4337",
      "articleSlug": "ethereum-smart-accounts",
      "statement": "ERC-4337: UserOperations reach an EntryPoint through bundled transactions",
      "sourceIds": [
        "source-a40a3054f2d60b07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a40a3054f2d60b07",
          "locator": "Abstract; definitions; UserOperation; EntryPoint; paymasters"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked4337 UserOperation/EntryPoint/bundler/paymaster and7702 persistent delegation. Recovery features implementation-specific."
        ]
      }
    },
    {
      "id": "ethereum-smart-accounts-fact-paymaster",
      "articleSlug": "ethereum-smart-accounts",
      "statement": "Paymaster: Can agree to cover gas subject to its rules",
      "sourceIds": [
        "source-a40a3054f2d60b07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a40a3054f2d60b07",
          "locator": "Abstract; definitions; UserOperation; EntryPoint; paymasters"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked4337 UserOperation/EntryPoint/bundler/paymaster and7702 persistent delegation. Recovery features implementation-specific."
        ]
      }
    },
    {
      "id": "ethereum-smart-accounts-fact-eip-7702",
      "articleSlug": "ethereum-smart-accounts",
      "statement": "EIP-7702: Persistent code delegation for an externally owned account",
      "sourceIds": [
        "source-d4e3c4ededc427a1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d4e3c4ededc427a1",
          "locator": "Abstract; persistence of code delegation; transaction origination; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked4337 UserOperation/EntryPoint/bundler/paymaster and7702 persistent delegation. Recovery features implementation-specific."
        ]
      }
    },
    {
      "id": "ethereum-proof-of-stake-finality-quick-answer",
      "articleSlug": "ethereum-proof-of-stake-finality",
      "statement": "Ethereum validators propose blocks and vote using staked ETH. Fork choice selects the current chain head; checkpoint voting establishes finality. Under the documented rules, slots are 12 seconds and epochs contain 32 slots. Inclusion in a block is earlier than finalization, and finality can stall when participation is insufficient.",
      "sourceIds": [
        "source-0fc300dcdcf420c6",
        "source-3679d5e45c004c3f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0fc300dcdcf420c6",
          "locator": "Validators; transaction execution; finality; fork choice"
        },
        {
          "sourceId": "source-3679d5e45c004c3f",
          "locator": "What is finality; fork choice; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked latest/safe/finalized block parameter tags and receipt status against JSON-RPC. Successful execution is distinct from consensus finality.",
          "Freshly reopened pinned Gasper; added existing gasper source to support fork-choice and finality-stall distinction. Old numerical slashing examples in that source are not carried into the changed section."
        ]
      }
    },
    {
      "id": "ethereum-proof-of-stake-finality-fact-timing-unit",
      "articleSlug": "ethereum-proof-of-stake-finality",
      "statement": "Timing unit: 12-second slots; 32 slots per epoch",
      "sourceIds": [
        "source-0fc300dcdcf420c6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0fc300dcdcf420c6",
          "locator": "Validators; transaction execution; finality; fork choice"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked latest/safe/finalized block parameter tags and receipt status against JSON-RPC. Successful execution is distinct from consensus finality.",
          "Freshly reopened pinned Gasper; added existing gasper source to support fork-choice and finality-stall distinction. Old numerical slashing examples in that source are not carried into the changed section."
        ]
      }
    },
    {
      "id": "ethereum-proof-of-stake-finality-fact-voting-weight",
      "articleSlug": "ethereum-proof-of-stake-finality",
      "statement": "Voting weight: Stake weight matters, not simply the count of people",
      "sourceIds": [
        "source-3679d5e45c004c3f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3679d5e45c004c3f",
          "locator": "What is finality; fork choice; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked latest/safe/finalized block parameter tags and receipt status against JSON-RPC. Successful execution is distinct from consensus finality.",
          "Freshly reopened pinned Gasper; added existing gasper source to support fork-choice and finality-stall distinction. Old numerical slashing examples in that source are not carried into the changed section."
        ]
      }
    },
    {
      "id": "ethereum-proof-of-stake-finality-fact-distinction",
      "articleSlug": "ethereum-proof-of-stake-finality",
      "statement": "Distinction: Chain-head selection and finality are related but different",
      "sourceIds": [
        "source-3679d5e45c004c3f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3679d5e45c004c3f",
          "locator": "What is finality; fork choice; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked latest/safe/finalized block parameter tags and receipt status against JSON-RPC. Successful execution is distinct from consensus finality.",
          "Freshly reopened pinned Gasper; added existing gasper source to support fork-choice and finality-stall distinction. Old numerical slashing examples in that source are not carried into the changed section."
        ]
      }
    },
    {
      "id": "ethereum-staking-withdrawals-quick-answer",
      "articleSlug": "ethereum-staking-withdrawals",
      "statement": "Ethereum staking commits ETH to validator duties such as proposing and attesting to blocks. Activation requires a minimum of 32 ETH; compounding validators can have effective balances up to 2,048 ETH under EIP-7251. Rewards, withdrawal credentials and exit queues determine how funds become available; staking is not an instant-access deposit.",
      "sourceIds": [
        "source-0fc300dcdcf420c6",
        "source-3cf968793afa83ad",
        "source-1e183865190931d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0fc300dcdcf420c6",
          "locator": "Validators; transaction execution; finality; fork choice"
        },
        {
          "sourceId": "source-3cf968793afa83ad",
          "locator": "Constants; consensus layer; rationale"
        },
        {
          "sourceId": "source-1e183865190931d9",
          "locator": "Compounding validators; exiting staking entirely; gas free"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked7251 min32/max2048, credential-dependent sweeping,4895 system withdrawals distinct from paid execution requests. No fixed yield/queue claim."
        ]
      }
    },
    {
      "id": "ethereum-staking-withdrawals-fact-activation-minimum",
      "articleSlug": "ethereum-staking-withdrawals",
      "statement": "Activation minimum: 32 ETH under the cited specification",
      "sourceIds": [
        "source-3cf968793afa83ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3cf968793afa83ad",
          "locator": "Constants; consensus layer; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked7251 min32/max2048, credential-dependent sweeping,4895 system withdrawals distinct from paid execution requests. No fixed yield/queue claim."
        ]
      }
    },
    {
      "id": "ethereum-staking-withdrawals-fact-compounding-cap",
      "articleSlug": "ethereum-staking-withdrawals",
      "statement": "Compounding cap: 2,048 ETH maximum effective balance",
      "sourceIds": [
        "source-3cf968793afa83ad"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3cf968793afa83ad",
          "locator": "Constants; consensus layer; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked7251 min32/max2048, credential-dependent sweeping,4895 system withdrawals distinct from paid execution requests. No fixed yield/queue claim."
        ]
      }
    },
    {
      "id": "ethereum-staking-withdrawals-fact-withdrawal-destination",
      "articleSlug": "ethereum-staking-withdrawals",
      "statement": "Withdrawal destination: Determined by withdrawal credentials",
      "sourceIds": [
        "source-1e183865190931d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1e183865190931d9",
          "locator": "Compounding validators; exiting staking entirely; gas free"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked7251 min32/max2048, credential-dependent sweeping,4895 system withdrawals distinct from paid execution requests. No fixed yield/queue claim."
        ]
      }
    },
    {
      "id": "ethereum-slashing-quick-answer",
      "articleSlug": "ethereum-slashing",
      "statement": "Slashing penalizes specific conflicting validator actions, including double proposals, double votes and surround votes. It is different from ordinary missed-duty penalties. A slashed validator is forced to exit and can lose stake, with losses affected by correlated slashing. Accidental duplicated signing setups can produce slashable messages.",
      "sourceIds": [
        "source-84ee2184771b76ba",
        "source-3679d5e45c004c3f",
        "source-f2b60fa719e0c0c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84ee2184771b76ba",
          "locator": "Penalties; slashing; inactivity leak"
        },
        {
          "sourceId": "source-3679d5e45c004c3f",
          "locator": "What is finality; fork choice; inactivity leak"
        },
        {
          "sourceId": "source-f2b60fa719e0c0c7",
          "locator": "How it works; responsibilities; considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read proposal/double/surround conditions and forced exit, ordinary missed-duty distinction. Avoids stale numeric slash examples in docs."
        ]
      }
    },
    {
      "id": "ethereum-slashing-fact-slashable-behavior",
      "articleSlug": "ethereum-slashing",
      "statement": "Slashable behavior: Specific conflicting proposals or attestations",
      "sourceIds": [
        "source-84ee2184771b76ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84ee2184771b76ba",
          "locator": "Penalties; slashing; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read proposal/double/surround conditions and forced exit, ordinary missed-duty distinction. Avoids stale numeric slash examples in docs."
        ]
      }
    },
    {
      "id": "ethereum-slashing-fact-ordinary-absence",
      "articleSlug": "ethereum-slashing",
      "statement": "Ordinary absence: Missed rewards and penalties are distinct from slashing",
      "sourceIds": [
        "source-84ee2184771b76ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84ee2184771b76ba",
          "locator": "Penalties; slashing; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read proposal/double/surround conditions and forced exit, ordinary missed-duty distinction. Avoids stale numeric slash examples in docs."
        ]
      }
    },
    {
      "id": "ethereum-slashing-fact-correlation",
      "articleSlug": "ethereum-slashing",
      "statement": "Correlation: Losses can increase when many validators are slashed together",
      "sourceIds": [
        "source-84ee2184771b76ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84ee2184771b76ba",
          "locator": "Penalties; slashing; inactivity leak"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read proposal/double/surround conditions and forced exit, ordinary missed-duty distinction. Avoids stale numeric slash examples in docs."
        ]
      }
    },
    {
      "id": "ethereum-merge-quick-answer",
      "articleSlug": "ethereum-merge",
      "statement": "The Merge was Ethereum’s September 2022 transition from proof-of-work mining to proof-of-stake consensus. Its existing execution history and balances continued. Users did not need to exchange ETH for a new token. The change ended proof-of-work issuance, but it was not itself a broad transaction-fee reduction or the launch of staking withdrawals.",
      "sourceIds": [
        "source-50d8840839d92efa",
        "source-8c7a7c856b194f9e",
        "source-556d7525a12cff50"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50d8840839d92efa",
          "locator": "What was the Merge; users and holders; misconceptions; relationship between upgrades"
        },
        {
          "sourceId": "source-8c7a7c856b194f9e",
          "locator": "Post-merge issuance; the burn"
        },
        {
          "sourceId": "source-556d7525a12cff50",
          "locator": "Prague-Electra (Pectra); Paris (The Merge); London"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked2022 transition, balance continuity, issuance change, prior London burn and laterShanghai/Capella withdrawals. No ETH migration required."
        ]
      }
    },
    {
      "id": "ethereum-merge-fact-transition",
      "articleSlug": "ethereum-merge",
      "statement": "Transition: September 2022, from mining to proof of stake",
      "sourceIds": [
        "source-50d8840839d92efa",
        "source-556d7525a12cff50"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50d8840839d92efa",
          "locator": "What was the Merge; users and holders; misconceptions; relationship between upgrades"
        },
        {
          "sourceId": "source-556d7525a12cff50",
          "locator": "Prague-Electra (Pectra); Paris (The Merge); London"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked2022 transition, balance continuity, issuance change, prior London burn and laterShanghai/Capella withdrawals. No ETH migration required."
        ]
      }
    },
    {
      "id": "ethereum-merge-fact-balances",
      "articleSlug": "ethereum-merge",
      "statement": "Balances: Existing ETH and application state continued",
      "sourceIds": [
        "source-50d8840839d92efa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50d8840839d92efa",
          "locator": "What was the Merge; users and holders; misconceptions; relationship between upgrades"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked2022 transition, balance continuity, issuance change, prior London burn and laterShanghai/Capella withdrawals. No ETH migration required."
        ]
      }
    },
    {
      "id": "ethereum-merge-fact-withdrawals",
      "articleSlug": "ethereum-merge",
      "statement": "Withdrawals: Enabled by a later upgrade, not the Merge itself",
      "sourceIds": [
        "source-50d8840839d92efa",
        "source-1e183865190931d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50d8840839d92efa",
          "locator": "What was the Merge; users and holders; misconceptions; relationship between upgrades"
        },
        {
          "sourceId": "source-1e183865190931d9",
          "locator": "Compounding validators; exiting staking entirely; gas free"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked2022 transition, balance continuity, issuance change, prior London burn and laterShanghai/Capella withdrawals. No ETH migration required."
        ]
      }
    },
    {
      "id": "ethereum-layer-2-quick-answer",
      "articleSlug": "ethereum-layer-2",
      "statement": "An Ethereum layer 2 processes activity outside Ethereum’s main execution layer while using Ethereum for important security or settlement functions. Rollups publish data and state-related commitments to Ethereum and use disputes or validity proofs. Their actual guarantees also depend on their implementation, upgrade controls, data availability and exit mechanisms.",
      "sourceIds": [
        "source-27bb64638570155e",
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27bb64638570155e",
          "locator": "Layer 2 scaling; rollups; sidechains; validium"
        },
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared scaling docs, optimistic/validity/dataavailability. Operator receipt distinct from settlement and bridge exit. EVMcompatibility not security identity."
        ]
      }
    },
    {
      "id": "ethereum-layer-2-fact-execution",
      "articleSlug": "ethereum-layer-2",
      "statement": "Execution: A rollup processes transactions outside L1 execution",
      "sourceIds": [
        "source-27bb64638570155e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27bb64638570155e",
          "locator": "Layer 2 scaling; rollups; sidechains; validium"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared scaling docs, optimistic/validity/dataavailability. Operator receipt distinct from settlement and bridge exit. EVMcompatibility not security identity."
        ]
      }
    },
    {
      "id": "ethereum-layer-2-fact-validation-model",
      "articleSlug": "ethereum-layer-2",
      "statement": "Validation model: Disputes or validity proofs, depending on design",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared scaling docs, optimistic/validity/dataavailability. Operator receipt distinct from settlement and bridge exit. EVMcompatibility not security identity."
        ]
      }
    },
    {
      "id": "ethereum-layer-2-fact-sidechain",
      "articleSlug": "ethereum-layer-2",
      "statement": "Sidechain: An independent consensus system is not automatically a rollup",
      "sourceIds": [
        "source-27bb64638570155e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27bb64638570155e",
          "locator": "Layer 2 scaling; rollups; sidechains; validium"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared scaling docs, optimistic/validity/dataavailability. Operator receipt distinct from settlement and bridge exit. EVMcompatibility not security identity."
        ]
      }
    },
    {
      "id": "optimistic-rollups-quick-answer",
      "articleSlug": "optimistic-rollups",
      "statement": "Optimistic rollups execute transactions off Ethereum and allow proposed state results to be challenged. A dispute mechanism determines whether a contested transition followed the rules. Their security depends on usable data, an effective challenge path and timely participation; a fast sequencer receipt is not the end of the challenge or withdrawal process.",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Freshly reopened pinned optimistic-rollups source, especially transaction aggregation, state commitments and exiting/liquidity-provider sections. Sequencer observation, publication, dispute process and withdrawal are distinct stages.",
          "The draft correctly avoids treating generic documentation’s approximate seven-day wording as a universal deployment-specific withdrawal duration. A liquidity provider pays ahead of canonical settlement without shortening its protocol rules."
        ]
      }
    },
    {
      "id": "optimistic-rollups-fact-initial-treatment",
      "articleSlug": "optimistic-rollups",
      "statement": "Initial treatment: State claims are accepted provisionally under the protocol",
      "sourceIds": [
        "source-e415b897a2b02da7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Freshly reopened pinned optimistic-rollups source, especially transaction aggregation, state commitments and exiting/liquidity-provider sections. Sequencer observation, publication, dispute process and withdrawal are distinct stages.",
          "The draft correctly avoids treating generic documentation’s approximate seven-day wording as a universal deployment-specific withdrawal duration. A liquidity provider pays ahead of canonical settlement without shortening its protocol rules."
        ]
      }
    },
    {
      "id": "optimistic-rollups-fact-challenge",
      "articleSlug": "optimistic-rollups",
      "statement": "Challenge: A dispute can expose an incorrect transition",
      "sourceIds": [
        "source-e415b897a2b02da7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Freshly reopened pinned optimistic-rollups source, especially transaction aggregation, state commitments and exiting/liquidity-provider sections. Sequencer observation, publication, dispute process and withdrawal are distinct stages.",
          "The draft correctly avoids treating generic documentation’s approximate seven-day wording as a universal deployment-specific withdrawal duration. A liquidity provider pays ahead of canonical settlement without shortening its protocol rules."
        ]
      }
    },
    {
      "id": "optimistic-rollups-fact-data",
      "articleSlug": "optimistic-rollups",
      "statement": "Data: Challengers need access to the inputs needed to check execution",
      "sourceIds": [
        "source-73ba119e5fae20da",
        "source-e415b897a2b02da7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        },
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:16:35.976Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Freshly reopened pinned optimistic-rollups source, especially transaction aggregation, state commitments and exiting/liquidity-provider sections. Sequencer observation, publication, dispute process and withdrawal are distinct stages.",
          "The draft correctly avoids treating generic documentation’s approximate seven-day wording as a universal deployment-specific withdrawal duration. A liquidity provider pays ahead of canonical settlement without shortening its protocol rules."
        ]
      }
    },
    {
      "id": "validity-rollups-quick-answer",
      "articleSlug": "validity-rollups",
      "statement": "A validity rollup executes transactions outside Ethereum and submits a cryptographic proof that a proposed state change follows its rules. Ethereum verifies the proof. The rollup also publishes reconstruction data; proof generation, settlement and withdrawals remain distinct steps.",
      "sourceIds": [
        "source-b267e88f1835f980",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-proof-scope",
      "articleSlug": "validity-rollups",
      "statement": "Proof scope: Correct execution of the rules encoded by the proof system",
      "sourceIds": [
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-data-requirement",
      "articleSlug": "validity-rollups",
      "statement": "Data requirement: A rollup publishes data needed to reconstruct its state",
      "sourceIds": [
        "source-b267e88f1835f980",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "validity-rollups-fact-privacy",
      "articleSlug": "validity-rollups",
      "statement": "Privacy: Validity proofs alone do not make transactions confidential",
      "sourceIds": [
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked proof scope, published state data, privacy limitation and bridge steps. Correctly qualifies overbroad upstream no-delay language.10−3=7."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-quick-answer",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Blobs are a way to publish data alongside Ethereum transactions, designed for uses such as rollups. Their data is handled separately from EVM execution and has a separate fee market. Availability lets others obtain and check the data; it is not a promise of permanent storage.",
      "sourceIds": [
        "source-62554f5963866df3",
        "source-73ba119e5fae20da",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-purpose",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Purpose: Publish data needed by systems such as rollups",
      "sourceIds": [
        "source-62554f5963866df3",
        "source-73ba119e5fae20da"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        },
        {
          "sourceId": "source-73ba119e5fae20da",
          "locator": "Data availability problem; rollups; availability versus retrievability"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-execution",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Execution: EVM execution can reference blob commitments but cannot read arbitrary blob contents directly",
      "sourceIds": [
        "source-62554f5963866df3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "ethereum-blobs-data-availability-fact-cost",
      "articleSlug": "ethereum-blobs-data-availability",
      "statement": "Cost: Blob gas has a fee market distinct from execution gas",
      "sourceIds": [
        "source-62554f5963866df3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62554f5963866df3",
          "locator": "Abstract; gas accounting; consensus-layer validation; rationale"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read4844 references, separate gas and bounded retention; avoids original capacity constants as currentlimits.0.001/100=.00001."
        ]
      }
    },
    {
      "id": "rollup-sequencers-quick-answer",
      "articleSlug": "rollup-sequencers",
      "statement": "A rollup sequencer selects and orders transactions into the rollup’s execution history. Its quick acknowledgment can arrive before data or proofs reach Ethereum. Sequencing, verification and settlement are separate roles, and outage or censorship protections depend on the deployed rollup.",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked ordering versus validity/settlement and deployment-specific force-inclusion. Ticket competition example correctly depends on order."
        ]
      }
    },
    {
      "id": "rollup-sequencers-fact-primary-role",
      "articleSlug": "rollup-sequencers",
      "statement": "Primary role: Choose and order rollup transactions",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked ordering versus validity/settlement and deployment-specific force-inclusion. Ticket competition example correctly depends on order."
        ]
      }
    },
    {
      "id": "rollup-sequencers-fact-early-acknowledgment",
      "articleSlug": "rollup-sequencers",
      "statement": "Early acknowledgment: Can precede Ethereum publication and settlement",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked ordering versus validity/settlement and deployment-specific force-inclusion. Ticket competition example correctly depends on order."
        ]
      }
    },
    {
      "id": "rollup-sequencers-fact-escape-path",
      "articleSlug": "rollup-sequencers",
      "statement": "Escape path: Forced inclusion and exit mechanisms vary by implementation",
      "sourceIds": [
        "source-e415b897a2b02da7",
        "source-b267e88f1835f980"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e415b897a2b02da7",
          "locator": "Fraud proving; censorship resistance; exiting the rollup"
        },
        {
          "sourceId": "source-b267e88f1835f980",
          "locator": "Data availability; validity proofs; withdrawals; EVM compatibility"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked ordering versus validity/settlement and deployment-specific force-inclusion. Ticket competition example correctly depends on order."
        ]
      }
    },
    {
      "id": "ethereum-nodes-rpc-quick-answer",
      "articleSlug": "ethereum-nodes-rpc",
      "statement": "An Ethereum node runs software that follows and verifies the network. Execution and consensus clients work together; a validator is an additional role. Wallets often query a node through RPC to read balances, simulate calls and submit signed transactions, so the endpoint affects their view of the chain.",
      "sourceIds": [
        "source-60a91d91cd9a2e6e",
        "source-a7715dc3ab892daa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a91d91cd9a2e6e",
          "locator": "What are nodes and clients; benefits to you; alternatives"
        },
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked execution/consensus roles, nonstaking nodes, JSONRPC methods, historical state retention and blockscope. No claim every fullnode archives state."
        ]
      }
    },
    {
      "id": "ethereum-nodes-rpc-fact-client-roles",
      "articleSlug": "ethereum-nodes-rpc",
      "statement": "Client roles: Execution clients process execution; consensus clients follow proof-of-stake consensus",
      "sourceIds": [
        "source-60a91d91cd9a2e6e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a91d91cd9a2e6e",
          "locator": "What are nodes and clients; benefits to you; alternatives"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked execution/consensus roles, nonstaking nodes, JSONRPC methods, historical state retention and blockscope. No claim every fullnode archives state."
        ]
      }
    },
    {
      "id": "ethereum-nodes-rpc-fact-staking-distinction",
      "articleSlug": "ethereum-nodes-rpc",
      "statement": "Staking distinction: Running a verifying node does not itself require activating a validator",
      "sourceIds": [
        "source-60a91d91cd9a2e6e",
        "source-f2b60fa719e0c0c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a91d91cd9a2e6e",
          "locator": "What are nodes and clients; benefits to you; alternatives"
        },
        {
          "sourceId": "source-f2b60fa719e0c0c7",
          "locator": "How it works; responsibilities; considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked execution/consensus roles, nonstaking nodes, JSONRPC methods, historical state retention and blockscope. No claim every fullnode archives state."
        ]
      }
    },
    {
      "id": "ethereum-nodes-rpc-fact-query-scope",
      "articleSlug": "ethereum-nodes-rpc",
      "statement": "Query scope: RPC state queries can specify a block, rather than an unspecified latest state",
      "sourceIds": [
        "source-a7715dc3ab892daa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked execution/consensus roles, nonstaking nodes, JSONRPC methods, historical state retention and blockscope. No claim every fullnode archives state."
        ]
      }
    },
    {
      "id": "ethereum-block-explorer-quick-answer",
      "articleSlug": "ethereum-block-explorer",
      "statement": "A block explorer turns chain data into searchable pages for blocks, transactions, addresses and tokens. Start with the network and transaction hash, then inspect inclusion, execution status, recipient, calldata, logs and fees. Labels and decoded views add interpretation to the underlying records.",
      "sourceIds": [
        "source-1fa084080820eccf",
        "source-a7715dc3ab892daa",
        "source-b75ec7ad726d1661"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1fa084080820eccf",
          "locator": "Execution data; transactions; accounts; tokens; consensus layer data"
        },
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        },
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked receipt status/logs/effectiveGasPrice, tokencontract distinction and GethcallTracer nestedframes.50000×4gwei=.0002ETH; successfulEVMexecution not economic safety."
        ]
      }
    },
    {
      "id": "ethereum-block-explorer-fact-execution-status",
      "articleSlug": "ethereum-block-explorer",
      "statement": "Execution status: Receipt success describes EVM execution, not the legitimacy of an asset or agreement",
      "sourceIds": [
        "source-a7715dc3ab892daa",
        "source-64ab603c23f79017"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        },
        {
          "sourceId": "source-64ab603c23f79017",
          "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked receipt status/logs/effectiveGasPrice, tokencontract distinction and GethcallTracer nestedframes.50000×4gwei=.0002ETH; successfulEVMexecution not economic safety."
        ]
      }
    },
    {
      "id": "ethereum-block-explorer-fact-token-transfers",
      "articleSlug": "ethereum-block-explorer",
      "statement": "Token transfers: Token events and contract state differ from the transaction’s ETH value field",
      "sourceIds": [
        "source-e99ee03961c5d3e7",
        "source-b75ec7ad726d1661"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e99ee03961c5d3e7",
          "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance"
        },
        {
          "sourceId": "source-b75ec7ad726d1661",
          "locator": "What is a transaction; the data field; transaction lifecycle"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked receipt status/logs/effectiveGasPrice, tokencontract distinction and GethcallTracer nestedframes.50000×4gwei=.0002ETH; successfulEVMexecution not economic safety."
        ]
      }
    },
    {
      "id": "ethereum-block-explorer-fact-execution-fee",
      "articleSlug": "ethereum-block-explorer",
      "statement": "Execution fee: Gas used multiplied by the effective gas price",
      "sourceIds": [
        "source-a7715dc3ab892daa",
        "source-a8f47d83f0f10a68"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7715dc3ab892daa",
          "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt"
        },
        {
          "sourceId": "source-a8f47d83f0f10a68",
          "locator": "How are gas fees calculated; base fee; gas limit"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked receipt status/logs/effectiveGasPrice, tokencontract distinction and GethcallTracer nestedframes.50000×4gwei=.0002ETH; successfulEVMexecution not economic safety."
        ]
      }
    },
    {
      "id": "what-is-a-stablecoin-quick-answer",
      "articleSlug": "what-is-a-stablecoin",
      "statement": "A stablecoin is a crypto asset designed to track a reference value, commonly one US dollar. The target is supported by a mechanism such as reserve-backed redemption or collateralized issuance; it is not a guarantee of its market price. Owning a token also does not automatically make you eligible to redeem it directly with its issuer.",
      "sourceIds": [
        "source-3869f308765efb15",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports multiple reference assets and mechanisms; Circle terms sections 1–4 distinguish eligible redemption from holding.",
          "Checked 100 tokens sold at $0.99 = $99; example is labeled illustrative."
        ]
      }
    },
    {
      "id": "what-is-a-stablecoin-fact-reference-value",
      "articleSlug": "what-is-a-stablecoin",
      "statement": "Reference value: The asset or unit the token aims to track; it need not be USD.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports multiple reference assets and mechanisms; Circle terms sections 1–4 distinguish eligible redemption from holding.",
          "Checked 100 tokens sold at $0.99 = $99; example is labeled illustrative."
        ]
      }
    },
    {
      "id": "what-is-a-stablecoin-fact-market-price",
      "articleSlug": "what-is-a-stablecoin",
      "statement": "Market price: The price available in a particular market can depart from the target.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports multiple reference assets and mechanisms; Circle terms sections 1–4 distinguish eligible redemption from holding.",
          "Checked 100 tokens sold at $0.99 = $99; example is labeled illustrative."
        ]
      }
    },
    {
      "id": "what-is-a-stablecoin-fact-exit-route",
      "articleSlug": "what-is-a-stablecoin",
      "statement": "Exit route: Direct redemption and selling to another trader are different routes.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports multiple reference assets and mechanisms; Circle terms sections 1–4 distinguish eligible redemption from holding.",
          "Checked 100 tokens sold at $0.99 = $99; example is labeled illustrative."
        ]
      }
    },
    {
      "id": "stablecoin-peg-vs-market-price-quick-answer",
      "articleSlug": "stablecoin-peg-vs-market-price",
      "statement": "A stablecoin peg is its intended reference value; its market price is the amount buyers and sellers currently exchange on a particular venue. Redemption arbitrage can connect the two, but fees, eligibility, delays and uncertainty can prevent the price from matching the target.",
      "sourceIds": [
        "source-3869f308765efb15",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Circle non-EEA terms for route-specific holder/service distinctions; the arithmetic example is an illustrative secondary-market sale rather than a issuer redemption quote.",
          "Recomputed 1,000 tokens at $0.99 as $990 gross; eligibility, cost and timing prevent treating that value as interchangeable with a direct redemption route."
        ]
      }
    },
    {
      "id": "stablecoin-peg-vs-market-price-fact-peg",
      "articleSlug": "stablecoin-peg-vs-market-price",
      "statement": "Peg: A reference target, such as one token to one dollar.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Circle non-EEA terms for route-specific holder/service distinctions; the arithmetic example is an illustrative secondary-market sale rather than a issuer redemption quote.",
          "Recomputed 1,000 tokens at $0.99 as $990 gross; eligibility, cost and timing prevent treating that value as interchangeable with a direct redemption route."
        ]
      }
    },
    {
      "id": "stablecoin-peg-vs-market-price-fact-quote",
      "articleSlug": "stablecoin-peg-vs-market-price",
      "statement": "Quote: A venue-specific exchange price, not an issuer payout promise.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Circle non-EEA terms for route-specific holder/service distinctions; the arithmetic example is an illustrative secondary-market sale rather than a issuer redemption quote.",
          "Recomputed 1,000 tokens at $0.99 as $990 gross; eligibility, cost and timing prevent treating that value as interchangeable with a direct redemption route."
        ]
      }
    },
    {
      "id": "stablecoin-peg-vs-market-price-fact-arbitrage",
      "articleSlug": "stablecoin-peg-vs-market-price",
      "statement": "Arbitrage: Requires an executable route and must cover its costs.",
      "sourceIds": [
        "source-3869f308765efb15",
        "source-1f069dbb50ebe6ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        },
        {
          "sourceId": "source-1f069dbb50ebe6ce",
          "locator": "Direct acquisition and redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Circle non-EEA terms for route-specific holder/service distinctions; the arithmetic example is an illustrative secondary-market sale rather than a issuer redemption quote.",
          "Recomputed 1,000 tokens at $0.99 as $990 gross; eligibility, cost and timing prevent treating that value as interchangeable with a direct redemption route."
        ]
      }
    },
    {
      "id": "cash-backed-stablecoins-quick-answer",
      "articleSlug": "cash-backed-stablecoins",
      "statement": "Cash-backed stablecoins aim to maintain a fiat reference using reserves and a redemption arrangement. The reserve may include bank deposits and short-term securities rather than only physical cash. Its composition, liquidity, legal structure and redemption conditions matter more than the label alone.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle transparency lists deposits, short Treasuries and reverse Treasury repos; Tether terms section 4.1 explicitly allows cash equivalents and other assets/receivables.",
          "Reserve/obligation example reconciles to 900,000 after 100,000 redemption; no current reserve certification is asserted."
        ]
      }
    },
    {
      "id": "cash-backed-stablecoins-fact-backing",
      "articleSlug": "cash-backed-stablecoins",
      "statement": "Backing: Reserve assets are separate from the token ledger.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle transparency lists deposits, short Treasuries and reverse Treasury repos; Tether terms section 4.1 explicitly allows cash equivalents and other assets/receivables.",
          "Reserve/obligation example reconciles to 900,000 after 100,000 redemption; no current reserve certification is asserted."
        ]
      }
    },
    {
      "id": "cash-backed-stablecoins-fact-composition",
      "articleSlug": "cash-backed-stablecoins",
      "statement": "Composition: Cash-backed does not necessarily mean 100% demand deposits.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle transparency lists deposits, short Treasuries and reverse Treasury repos; Tether terms section 4.1 explicitly allows cash equivalents and other assets/receivables.",
          "Reserve/obligation example reconciles to 900,000 after 100,000 redemption; no current reserve certification is asserted."
        ]
      }
    },
    {
      "id": "cash-backed-stablecoins-fact-redemption",
      "articleSlug": "cash-backed-stablecoins",
      "statement": "Redemption: Access and conditions come from the applicable issuer terms.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle transparency lists deposits, short Treasuries and reverse Treasury repos; Tether terms section 4.1 explicitly allows cash equivalents and other assets/receivables.",
          "Reserve/obligation example reconciles to 900,000 after 100,000 redemption; no current reserve certification is asserted."
        ]
      }
    },
    {
      "id": "crypto-backed-stablecoins-quick-answer",
      "articleSlug": "crypto-backed-stablecoins",
      "statement": "A crypto-backed stablecoin can be created by borrowing against crypto collateral locked in a protocol. A collateral buffer and liquidation process aim to keep debt covered as prices move. The mechanism depends on accurate prices, functioning contracts and buyers for collateral; overcollateralization is not a guarantee against loss.",
      "sourceIds": [
        "source-69368320969c12c1",
        "source-e50fa98c976bfb4a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-69368320969c12c1",
          "locator": "Vault Management; Failure Modes; Accounting"
        },
        {
          "sourceId": "source-e50fa98c976bfb4a",
          "locator": "Liquidation 2.0 module; Auctions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky Vat vault management and liquidation documentation support debt issuance, collateral thresholds, oracle/governance dependencies and sale mechanics.",
          "Verified 200/100=200% and 150/100=150%; the ratios are illustrative, with actual parameters explicitly excluded."
        ]
      }
    },
    {
      "id": "crypto-backed-stablecoins-fact-debt",
      "articleSlug": "crypto-backed-stablecoins",
      "statement": "Debt: Minting against a vault creates a debt obligation for its borrower.",
      "sourceIds": [
        "source-69368320969c12c1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-69368320969c12c1",
          "locator": "Vault Management; Failure Modes; Accounting"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky Vat vault management and liquidation documentation support debt issuance, collateral thresholds, oracle/governance dependencies and sale mechanics.",
          "Verified 200/100=200% and 150/100=150%; the ratios are illustrative, with actual parameters explicitly excluded."
        ]
      }
    },
    {
      "id": "crypto-backed-stablecoins-fact-buffer",
      "articleSlug": "crypto-backed-stablecoins",
      "statement": "Buffer: Collateral value relative to debt can fall when collateral prices fall.",
      "sourceIds": [
        "source-69368320969c12c1",
        "source-e50fa98c976bfb4a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-69368320969c12c1",
          "locator": "Vault Management; Failure Modes; Accounting"
        },
        {
          "sourceId": "source-e50fa98c976bfb4a",
          "locator": "Liquidation 2.0 module; Auctions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky Vat vault management and liquidation documentation support debt issuance, collateral thresholds, oracle/governance dependencies and sale mechanics.",
          "Verified 200/100=200% and 150/100=150%; the ratios are illustrative, with actual parameters explicitly excluded."
        ]
      }
    },
    {
      "id": "crypto-backed-stablecoins-fact-dependencies",
      "articleSlug": "crypto-backed-stablecoins",
      "statement": "Dependencies: Price feeds, auctions and governance affect the mechanism.",
      "sourceIds": [
        "source-69368320969c12c1",
        "source-e50fa98c976bfb4a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-69368320969c12c1",
          "locator": "Vault Management; Failure Modes; Accounting"
        },
        {
          "sourceId": "source-e50fa98c976bfb4a",
          "locator": "Liquidation 2.0 module; Auctions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky Vat vault management and liquidation documentation support debt issuance, collateral thresholds, oracle/governance dependencies and sale mechanics.",
          "Verified 200/100=200% and 150/100=150%; the ratios are illustrative, with actual parameters explicitly excluded."
        ]
      }
    },
    {
      "id": "algorithmic-stablecoins-quick-answer",
      "articleSlug": "algorithmic-stablecoins",
      "statement": "An algorithmic stablecoin relies heavily on programmed supply changes or exchange incentives to target a reference price. Designs vary, including partially collateralized hybrids. When support depends on demand for a related token, falling confidence can weaken both the stablecoin and the mechanism meant to stabilize it.",
      "sourceIds": [
        "source-3869f308765efb15",
        "source-481192ca52ef4728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        },
        {
          "sourceId": "source-481192ca52ef4728",
          "locator": "December 20, 2024 release and order summary"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports supply algorithms; December 2024 Tai Mo Shan release supports the limited May 2021 intervention example.",
          "Partner-token quantities 0.1, 1 and 10 at $10, $1 and $0.10 are correct for a hypothetical dollar redemption. Mechanism is not attributed universally."
        ]
      }
    },
    {
      "id": "algorithmic-stablecoins-fact-label",
      "articleSlug": "algorithmic-stablecoins",
      "statement": "Label: Algorithmic describes a stabilization approach, not a uniform reserve policy.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports supply algorithms; December 2024 Tai Mo Shan release supports the limited May 2021 intervention example.",
          "Partner-token quantities 0.1, 1 and 10 at $10, $1 and $0.10 are correct for a hypothetical dollar redemption. Mechanism is not attributed universally."
        ]
      }
    },
    {
      "id": "algorithmic-stablecoins-fact-feedback",
      "articleSlug": "algorithmic-stablecoins",
      "statement": "Feedback: A linked-token mechanism can depend on continued market demand.",
      "sourceIds": [
        "source-481192ca52ef4728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-481192ca52ef4728",
          "locator": "December 20, 2024 release and order summary"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports supply algorithms; December 2024 Tai Mo Shan release supports the limited May 2021 intervention example.",
          "Partner-token quantities 0.1, 1 and 10 at $10, $1 and $0.10 are correct for a hypothetical dollar redemption. Mechanism is not attributed universally."
        ]
      }
    },
    {
      "id": "algorithmic-stablecoins-fact-evidence",
      "articleSlug": "algorithmic-stablecoins",
      "statement": "Evidence: Observed recovery does not prove that autonomous code alone restored a peg.",
      "sourceIds": [
        "source-481192ca52ef4728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-481192ca52ef4728",
          "locator": "December 20, 2024 release and order summary"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "SEC general definition supports supply algorithms; December 2024 Tai Mo Shan release supports the limited May 2021 intervention example.",
          "Partner-token quantities 0.1, 1 and 10 at $10, $1 and $0.10 are correct for a hypothetical dollar redemption. Mechanism is not attributed universally."
        ]
      }
    },
    {
      "id": "synthetic-dollars-quick-answer",
      "articleSlug": "synthetic-dollars",
      "statement": "A synthetic dollar targets dollar value through a portfolio or trading strategy rather than only a cash reserve. A common mechanism pairs an asset with a short derivative to offset price changes. The hedge can reduce directional exposure while leaving funding, execution, custody, exchange and liquidation risks.",
      "sourceIds": [
        "source-bb28943c341debcb",
        "source-d76fdb05e65ebdf3",
        "source-ae3fbd942aa6f5fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bb28943c341debcb",
          "locator": "Ethena Overview"
        },
        {
          "sourceId": "source-d76fdb05e65ebdf3",
          "locator": "Funding Risk"
        },
        {
          "sourceId": "source-ae3fbd942aa6f5fe",
          "locator": "Synthetic dollar vs fiat and RWA backed stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Ethena overview confirms USDe/sUSDe separation, short hedges and current strategy categories; funding-risk page explicitly allows negative funding.",
          "Read direct mint/redeem eligibility for KYC/KYB-approved market makers. ±$10 hedge example states its exact-match and cost assumptions."
        ]
      }
    },
    {
      "id": "synthetic-dollars-fact-hedge",
      "articleSlug": "synthetic-dollars",
      "statement": "Hedge: Opposing positions can offset directional price changes in a simplified model.",
      "sourceIds": [
        "source-bb28943c341debcb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bb28943c341debcb",
          "locator": "Ethena Overview"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Ethena overview confirms USDe/sUSDe separation, short hedges and current strategy categories; funding-risk page explicitly allows negative funding.",
          "Read direct mint/redeem eligibility for KYC/KYB-approved market makers. ±$10 hedge example states its exact-match and cost assumptions."
        ]
      }
    },
    {
      "id": "synthetic-dollars-fact-funding",
      "articleSlug": "synthetic-dollars",
      "statement": "Funding: A perpetual-futures hedge can receive or pay funding.",
      "sourceIds": [
        "source-d76fdb05e65ebdf3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d76fdb05e65ebdf3",
          "locator": "Funding Risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Ethena overview confirms USDe/sUSDe separation, short hedges and current strategy categories; funding-risk page explicitly allows negative funding.",
          "Read direct mint/redeem eligibility for KYC/KYB-approved market makers. ±$10 hedge example states its exact-match and cost assumptions."
        ]
      }
    },
    {
      "id": "synthetic-dollars-fact-scope",
      "articleSlug": "synthetic-dollars",
      "statement": "Scope: A synthetic-dollar token and its savings wrapper are distinct products.",
      "sourceIds": [
        "source-bb28943c341debcb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bb28943c341debcb",
          "locator": "Ethena Overview"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Ethena overview confirms USDe/sUSDe separation, short hedges and current strategy categories; funding-risk page explicitly allows negative funding.",
          "Read direct mint/redeem eligibility for KYC/KYB-approved market makers. ±$10 hedge example states its exact-match and cost assumptions."
        ]
      }
    },
    {
      "id": "stablecoin-minting-redemption-eligibility-quick-answer",
      "articleSlug": "stablecoin-minting-redemption-eligibility",
      "statement": "Minting creates tokens through the authorized issuance process; redemption exchanges them through the issuer or protocol’s specified exit process. A transferable token does not imply universal access to those services. Eligibility, verification, location, minimums, fees and supported networks depend on the provider and route.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b",
        "source-1f069dbb50ebe6ce",
        "source-bb28943c341debcb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        },
        {
          "sourceId": "source-1f069dbb50ebe6ce",
          "locator": "Direct acquisition and redemption"
        },
        {
          "sourceId": "source-bb28943c341debcb",
          "locator": "Ethena Overview"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle non-EEA terms and Tether terms directly. Holding/transferring a token does not establish account approval or unrestricted access to direct issuer services.",
          "Preserved the jurisdiction/product scope and avoided asserting one universal minimum or redemption right across issuers."
        ]
      }
    },
    {
      "id": "stablecoin-minting-redemption-eligibility-fact-holding-versus-account-access",
      "articleSlug": "stablecoin-minting-redemption-eligibility",
      "statement": "Holding versus account access: Token ownership does not by itself complete issuer onboarding.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle non-EEA terms and Tether terms directly. Holding/transferring a token does not establish account approval or unrestricted access to direct issuer services.",
          "Preserved the jurisdiction/product scope and avoided asserting one universal minimum or redemption right across issuers."
        ]
      }
    },
    {
      "id": "stablecoin-minting-redemption-eligibility-fact-direct-services",
      "articleSlug": "stablecoin-minting-redemption-eligibility",
      "statement": "Direct services: Restrictions depend on provider, customer and jurisdiction.",
      "sourceIds": [
        "source-42226350ff0e7b0b",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle non-EEA terms and Tether terms directly. Holding/transferring a token does not establish account approval or unrestricted access to direct issuer services.",
          "Preserved the jurisdiction/product scope and avoided asserting one universal minimum or redemption right across issuers."
        ]
      }
    },
    {
      "id": "stablecoin-minting-redemption-eligibility-fact-secondary-sale",
      "articleSlug": "stablecoin-minting-redemption-eligibility",
      "statement": "Secondary sale: Selling to another trader is not necessarily issuer redemption.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle non-EEA terms and Tether terms directly. Holding/transferring a token does not establish account approval or unrestricted access to direct issuer services.",
          "Preserved the jurisdiction/product scope and avoided asserting one universal minimum or redemption right across issuers."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-reports-quick-answer",
      "articleSlug": "stablecoin-reserve-reports",
      "statement": "A reserve report describes specified assets and usually compares them with token obligations at a stated date. Read the reporting entity, asset categories, valuation basis, liabilities, restrictions and independent assurance together. A past snapshot does not establish today’s backing or guarantee that every holder can redeem immediately.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-d1b96579be34c419",
        "source-31ff3a0c34592267"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        },
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle monthly assurance section and Tether FAQ distinguish dated reserve reporting from circulation updates; PCAOB advisory covers omitted liabilities and restrictions.",
          "Checked hypothetical $1.02bn−$1bn=$20m and coverage102%; no named issuer is accused of the invented encumbrance."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-reports-fact-date-alignment",
      "articleSlug": "stablecoin-reserve-reports",
      "statement": "Date alignment: Assets and token obligations must refer to compatible observation dates.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle monthly assurance section and Tether FAQ distinguish dated reserve reporting from circulation updates; PCAOB advisory covers omitted liabilities and restrictions.",
          "Checked hypothetical $1.02bn−$1bn=$20m and coverage102%; no named issuer is accused of the invented encumbrance."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-reports-fact-report-scope",
      "articleSlug": "stablecoin-reserve-reports",
      "statement": "Report scope: An asset total does not automatically describe every liability or holder right.",
      "sourceIds": [
        "source-31ff3a0c34592267"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle monthly assurance section and Tether FAQ distinguish dated reserve reporting from circulation updates; PCAOB advisory covers omitted liabilities and restrictions.",
          "Checked hypothetical $1.02bn−$1bn=$20m and coverage102%; no named issuer is accused of the invented encumbrance."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-reports-fact-asset-mix",
      "articleSlug": "stablecoin-reserve-reports",
      "statement": "Asset mix: Reserve composition affects what can be realized and paid out.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle monthly assurance section and Tether FAQ distinguish dated reserve reporting from circulation updates; PCAOB advisory covers omitted liabilities and restrictions.",
          "Checked hypothetical $1.02bn−$1bn=$20m and coverage102%; no named issuer is accused of the invented encumbrance."
        ]
      }
    },
    {
      "id": "attestations-audits-proof-of-reserves-quick-answer",
      "articleSlug": "attestations-audits-proof-of-reserves",
      "statement": "A financial-statement audit, an attestation over a specified reserve assertion and a proof-of-reserves exercise have different scopes. The label alone does not establish which assets, liabilities, controls or dates were examined. Proof of reserves must not be represented as a full audit or as a guarantee of solvency.",
      "sourceIds": [
        "source-31ff3a0c34592267",
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos PYUSD transparency disclosures. Corrected ambiguous early-report wording to portfolio composition reports released promptly after month-end; those are described as self-reported and not independently reviewed.",
          "The independent examination is a separate document. Reporting date, scope, preparer and examiner do not establish continuous solvency or every operational control."
        ]
      }
    },
    {
      "id": "attestations-audits-proof-of-reserves-fact-scope-first",
      "articleSlug": "attestations-audits-proof-of-reserves",
      "statement": "Scope first: Identify the assertion and criteria actually examined.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-31ff3a0c34592267"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos PYUSD transparency disclosures. Corrected ambiguous early-report wording to portfolio composition reports released promptly after month-end; those are described as self-reported and not independently reviewed.",
          "The independent examination is a separate document. Reporting date, scope, preparer and examiner do not establish continuous solvency or every operational control."
        ]
      }
    },
    {
      "id": "attestations-audits-proof-of-reserves-fact-point-in-time-limit",
      "articleSlug": "attestations-audits-proof-of-reserves",
      "statement": "Point-in-time limit: A snapshot does not show what happens to assets afterward.",
      "sourceIds": [
        "source-31ff3a0c34592267"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos PYUSD transparency disclosures. Corrected ambiguous early-report wording to portfolio composition reports released promptly after month-end; those are described as self-reported and not independently reviewed.",
          "The independent examination is a separate document. Reporting date, scope, preparer and examiner do not establish continuous solvency or every operational control."
        ]
      }
    },
    {
      "id": "attestations-audits-proof-of-reserves-fact-no-equivalence",
      "articleSlug": "attestations-audits-proof-of-reserves",
      "statement": "No equivalence: PCAOB’s investor advocate cautions that proof-of-reserve reports are not audits.",
      "sourceIds": [
        "source-31ff3a0c34592267"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-31ff3a0c34592267",
          "locator": "PoR Reports Are Not Audits; Limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos PYUSD transparency disclosures. Corrected ambiguous early-report wording to portfolio composition reports released promptly after month-end; those are described as self-reported and not independently reviewed.",
          "The independent examination is a separate document. Reporting date, scope, preparer and examiner do not establish continuous solvency or every operational control."
        ]
      }
    },
    {
      "id": "stablecoin-depegging-quick-answer",
      "articleSlug": "stablecoin-depegging",
      "statement": "A stablecoin depegs when its market price departs materially from its intended reference value. The deviation can reflect trading conditions, impaired redemption access, doubts about backing or a failed stabilization mechanism. The price alone does not identify the cause or establish whether the peg will return.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-063c331ff17c4380",
        "source-481192ca52ef4728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-063c331ff17c4380",
          "locator": "March 12, 2023 announcement, published March 13"
        },
        {
          "sourceId": "source-481192ca52ef4728",
          "locator": "December 20, 2024 release and order summary"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle historical press release is published March13 with March12 dateline, and states $3.3bn at SVB; article retains those dates and issuer attribution.",
          "SEC UST intervention finding supports distinguishing recovery from autonomous-mechanism proof; 1,000×$0.90=$900 is correct."
        ]
      }
    },
    {
      "id": "stablecoin-depegging-fact-observation",
      "articleSlug": "stablecoin-depegging",
      "statement": "Observation: Name the venue, quote currency, time and size behind the price.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle historical press release is published March13 with March12 dateline, and states $3.3bn at SVB; article retains those dates and issuer attribution.",
          "SEC UST intervention finding supports distinguishing recovery from autonomous-mechanism proof; 1,000×$0.90=$900 is correct."
        ]
      }
    },
    {
      "id": "stablecoin-depegging-fact-banking-example",
      "articleSlug": "stablecoin-depegging",
      "statement": "Banking example: Circle’s March 2023 announcement discussed a $3.3 billion reserve deposit at SVB.",
      "sourceIds": [
        "source-063c331ff17c4380"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-063c331ff17c4380",
          "locator": "March 12, 2023 announcement, published March 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle historical press release is published March13 with March12 dateline, and states $3.3bn at SVB; article retains those dates and issuer attribution.",
          "SEC UST intervention finding supports distinguishing recovery from autonomous-mechanism proof; 1,000×$0.90=$900 is correct."
        ]
      }
    },
    {
      "id": "stablecoin-depegging-fact-recovery",
      "articleSlug": "stablecoin-depegging",
      "statement": "Recovery: An intervention or recovery does not guarantee future stability.",
      "sourceIds": [
        "source-481192ca52ef4728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-481192ca52ef4728",
          "locator": "December 20, 2024 release and order summary"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle historical press release is published March13 with March12 dateline, and states $3.3bn at SVB; article retains those dates and issuer attribution.",
          "SEC UST intervention finding supports distinguishing recovery from autonomous-mechanism proof; 1,000×$0.90=$900 is correct."
        ]
      }
    },
    {
      "id": "stablecoin-banking-dependencies-quick-answer",
      "articleSlug": "stablecoin-banking-dependencies",
      "statement": "A fiat-backed token can transfer on a blockchain while its reserves, issuance funding and redemption payouts depend on banks and other financial institutions. Bank outages, account restrictions or settlement delays can interrupt those routes without stopping the token contract itself.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-f0ded1628723f35a",
        "source-063c331ff17c4380"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-f0ded1628723f35a",
          "locator": "Blocked Addresses; Software protocols; Claim on funds"
        },
        {
          "sourceId": "source-063c331ff17c4380",
          "locator": "March 12, 2023 announcement, published March 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle USDC terms and historical SVB statement substantiate token/bank-service separation and reserve-access risk.",
          "Weekend example is hypothetical and explicitly avoids a universal timing or deposit-insurance promise."
        ]
      }
    },
    {
      "id": "stablecoin-banking-dependencies-fact-separate-systems",
      "articleSlug": "stablecoin-banking-dependencies",
      "statement": "Separate systems: Token movement and a bank payout are separate events.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle USDC terms and historical SVB statement substantiate token/bank-service separation and reserve-access risk.",
          "Weekend example is hypothetical and explicitly avoids a universal timing or deposit-insurance promise."
        ]
      }
    },
    {
      "id": "stablecoin-banking-dependencies-fact-asset-access",
      "articleSlug": "stablecoin-banking-dependencies",
      "statement": "Asset access: A reserve asset can exist while access to it is delayed.",
      "sourceIds": [
        "source-063c331ff17c4380"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-063c331ff17c4380",
          "locator": "March 12, 2023 announcement, published March 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle USDC terms and historical SVB statement substantiate token/bank-service separation and reserve-access risk.",
          "Weekend example is hypothetical and explicitly avoids a universal timing or deposit-insurance promise."
        ]
      }
    },
    {
      "id": "stablecoin-banking-dependencies-fact-routes-vary",
      "articleSlug": "stablecoin-banking-dependencies",
      "statement": "Routes vary: Settlement timing depends on the actual issuer, bank and payment rail.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Circle USDC terms and historical SVB statement substantiate token/bank-service separation and reserve-access risk.",
          "Weekend example is hypothetical and explicitly avoids a universal timing or deposit-insurance promise."
        ]
      }
    },
    {
      "id": "stablecoin-freezes-issuer-control-quick-answer",
      "articleSlug": "stablecoin-freezes-issuer-control",
      "statement": "Some stablecoin contracts let authorized parties restrict transfers or particular addresses. Controlling a wallet’s private key does not override those token rules. A token freeze, an exchange withdrawal suspension and a blockchain-level disruption are different events and require different evidence.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-d1b96579be34c419",
        "source-ef2407e0023c001f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        },
        {
          "sourceId": "source-ef2407e0023c001f",
          "locator": "Overview; DAI USDS Converter"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle terms, ERC-20 and JSON-RPC receipt/call documentation for issuer transfer restrictions and contract execution evidence.",
          "Separated token contract rules, custodial withdrawal restrictions and submission/observation failures. The diagnostic example does not infer wrongdoing from a generic frozen label."
        ]
      }
    },
    {
      "id": "stablecoin-freezes-issuer-control-fact-key-control",
      "articleSlug": "stablecoin-freezes-issuer-control",
      "statement": "Key control: Signing authority does not override the token contract’s execution conditions.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle terms, ERC-20 and JSON-RPC receipt/call documentation for issuer transfer restrictions and contract execution evidence.",
          "Separated token contract rules, custodial withdrawal restrictions and submission/observation failures. The diagnostic example does not infer wrongdoing from a generic frozen label."
        ]
      }
    },
    {
      "id": "stablecoin-freezes-issuer-control-fact-issuer-powers",
      "articleSlug": "stablecoin-freezes-issuer-control",
      "statement": "Issuer powers: Circle describes on-chain address blocklisting in its USDC terms.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle terms, ERC-20 and JSON-RPC receipt/call documentation for issuer transfer restrictions and contract execution evidence.",
          "Separated token contract rules, custodial withdrawal restrictions and submission/observation failures. The diagnostic example does not infer wrongdoing from a generic frozen label."
        ]
      }
    },
    {
      "id": "stablecoin-freezes-issuer-control-fact-upgrade-powers",
      "articleSlug": "stablecoin-freezes-issuer-control",
      "statement": "Upgrade powers: USDS documentation describes an upgradeable token implementation.",
      "sourceIds": [
        "source-ef2407e0023c001f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ef2407e0023c001f",
          "locator": "Overview; DAI USDS Converter"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle terms, ERC-20 and JSON-RPC receipt/call documentation for issuer transfer restrictions and contract execution evidence.",
          "Separated token contract rules, custodial withdrawal restrictions and submission/observation failures. The diagnostic example does not infer wrongdoing from a generic frozen label."
        ]
      }
    },
    {
      "id": "native-bridged-wrapped-stablecoins-quick-answer",
      "articleSlug": "native-bridged-wrapped-stablecoins",
      "statement": "A native stablecoin is issued through the issuer’s supported arrangement on that network. A bridged or wrapped version usually represents an asset held or controlled elsewhere, adding a conversion dependency. A familiar ticker is not enough to establish equivalence: identify the network, contract, issuer relationship and exit route.",
      "sourceIds": [
        "source-4f0a8db3369a736a",
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4f0a8db3369a736a",
          "locator": "Scope; risks and bridge conversion"
        },
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "Burn-and-mint mechanism; attestation"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current CCTP overview and transfer-flow documentation; verified the explicitly native-USDC burn/attestation/mint route.",
          "Conventional wrapped backing and release are a different dependency model. Expanded asset routes are not indiscriminately described as identical native-USDC burning."
        ]
      }
    },
    {
      "id": "native-bridged-wrapped-stablecoins-fact-identity",
      "articleSlug": "native-bridged-wrapped-stablecoins",
      "statement": "Identity: Network and contract identity matter in addition to a symbol.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-4f0a8db3369a736a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        },
        {
          "sourceId": "source-4f0a8db3369a736a",
          "locator": "Scope; risks and bridge conversion"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current CCTP overview and transfer-flow documentation; verified the explicitly native-USDC burn/attestation/mint route.",
          "Conventional wrapped backing and release are a different dependency model. Expanded asset routes are not indiscriminately described as identical native-USDC burning."
        ]
      }
    },
    {
      "id": "native-bridged-wrapped-stablecoins-fact-lock-and-mint",
      "articleSlug": "native-bridged-wrapped-stablecoins",
      "statement": "Lock and mint: A bridge can hold an original token and issue a representation elsewhere.",
      "sourceIds": [
        "source-4f0a8db3369a736a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4f0a8db3369a736a",
          "locator": "Scope; risks and bridge conversion"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current CCTP overview and transfer-flow documentation; verified the explicitly native-USDC burn/attestation/mint route.",
          "Conventional wrapped backing and release are a different dependency model. Expanded asset routes are not indiscriminately described as identical native-USDC burning."
        ]
      }
    },
    {
      "id": "native-bridged-wrapped-stablecoins-fact-burn-and-mint",
      "articleSlug": "native-bridged-wrapped-stablecoins",
      "statement": "Burn and mint: Circle CCTP uses native USDC burning and minting across supported networks.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "Burn-and-mint mechanism; attestation"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current CCTP overview and transfer-flow documentation; verified the explicitly native-USDC burn/attestation/mint route.",
          "Conventional wrapped backing and release are a different dependency model. Expanded asset routes are not indiscriminately described as identical native-USDC burning."
        ]
      }
    },
    {
      "id": "stablecoin-yield-sources-quick-answer",
      "articleSlug": "stablecoin-yield-sources",
      "statement": "Stablecoin yield comes from an additional economic activity or distribution rule: borrower interest, reserve income, trading revenue, derivatives funding or incentives. The base token may pay nothing. To explain a quoted return, identify the payer, product, fees, variable rate and the risks taken to earn it.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-99c494fb0f9d448b",
        "source-bb28943c341debcb",
        "source-d76fdb05e65ebdf3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "Overview"
        },
        {
          "sourceId": "source-bb28943c341debcb",
          "locator": "Ethena Overview"
        },
        {
          "sourceId": "source-d76fdb05e65ebdf3",
          "locator": "Funding Risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened Aave V3 reserve docs; utilization-dependent interest is supported by the described interest model. Reused this reviewer’s timestamped Ethena staking and ERC-4626 retrievals for share/exit boundaries.",
          "Recomputed 100 + 2 - 5 = 97 units. Gross reward, net token outcome and dollar-denominated result are separated, with no current or guaranteed yield claim."
        ]
      }
    },
    {
      "id": "stablecoin-yield-sources-fact-base-token",
      "articleSlug": "stablecoin-yield-sources",
      "statement": "Base token: USDC itself gives holders no entitlement to reserve interest under its terms.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened Aave V3 reserve docs; utilization-dependent interest is supported by the described interest model. Reused this reviewer’s timestamped Ethena staking and ERC-4626 retrievals for share/exit boundaries.",
          "Recomputed 100 + 2 - 5 = 97 units. Gross reward, net token outcome and dollar-denominated result are separated, with no current or guaranteed yield claim."
        ]
      }
    },
    {
      "id": "stablecoin-yield-sources-fact-savings-wrapper",
      "articleSlug": "stablecoin-yield-sources",
      "statement": "Savings wrapper: sUSDS represents a separate savings implementation for USDS.",
      "sourceIds": [
        "source-99c494fb0f9d448b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "Overview"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened Aave V3 reserve docs; utilization-dependent interest is supported by the described interest model. Reused this reviewer’s timestamped Ethena staking and ERC-4626 retrievals for share/exit boundaries.",
          "Recomputed 100 + 2 - 5 = 97 units. Gross reward, net token outcome and dollar-denominated result are separated, with no current or guaranteed yield claim."
        ]
      }
    },
    {
      "id": "stablecoin-yield-sources-fact-variable-income",
      "articleSlug": "stablecoin-yield-sources",
      "statement": "Variable income: Derivatives funding can become a cost rather than revenue.",
      "sourceIds": [
        "source-d76fdb05e65ebdf3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d76fdb05e65ebdf3",
          "locator": "Funding Risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened Aave V3 reserve docs; utilization-dependent interest is supported by the described interest model. Reused this reviewer’s timestamped Ethena staking and ERC-4626 retrievals for share/exit boundaries.",
          "Recomputed 100 + 2 - 5 = 97 units. Gross reward, net token outcome and dollar-denominated result are separated, with no current or guaranteed yield claim."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-vs-redemption-quick-answer",
      "articleSlug": "stablecoin-transfer-vs-redemption",
      "statement": "A stablecoin transfer moves token units between addresses or accounts. Redemption exchanges tokens through the issuer or protocol’s specified process for money or another asset. A successful blockchain transfer does not prove that a bank payout occurred, that the recipient is eligible to redeem, or that a bridged token has been unwrapped.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-3f274c8c1e62ebb9",
        "source-4f0a8db3369a736a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-4f0a8db3369a736a",
          "locator": "Scope; risks and bridge conversion"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "ERC-20 methods/events concern contract balances; Circle redemption terms add eligible service and bank-money stages.",
          "20-unit transfer illustration is ordinary transfer accounting, clearly separate from exchange internal credits and issuer redemption."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-vs-redemption-fact-transfer",
      "articleSlug": "stablecoin-transfer-vs-redemption",
      "statement": "Transfer: Changes who controls or is credited with token units.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: transfer, transferFrom, approve; Events"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "ERC-20 methods/events concern contract balances; Circle redemption terms add eligible service and bank-money stages.",
          "20-unit transfer illustration is ordinary transfer accounting, clearly separate from exchange internal credits and issuer redemption."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-vs-redemption-fact-redemption",
      "articleSlug": "stablecoin-transfer-vs-redemption",
      "statement": "Redemption: Follows the applicable issuer or protocol process.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "ERC-20 methods/events concern contract balances; Circle redemption terms add eligible service and bank-money stages.",
          "20-unit transfer illustration is ordinary transfer accounting, clearly separate from exchange internal credits and issuer redemption."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-vs-redemption-fact-settlement",
      "articleSlug": "stablecoin-transfer-vs-redemption",
      "statement": "Settlement: A token transaction and bank-money availability are different milestones.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "ERC-20 methods/events concern contract balances; Circle redemption terms add eligible service and bank-money stages.",
          "20-unit transfer illustration is ordinary transfer accounting, clearly separate from exchange internal credits and issuer redemption."
        ]
      }
    },
    {
      "id": "non-dollar-stablecoins-quick-answer",
      "articleSlug": "non-dollar-stablecoins",
      "statement": "A non-dollar stablecoin targets a reference other than the US dollar, such as the euro. Maintaining that target does not stabilize its value in every other currency. Evaluate the stated unit, backing denomination, redemption route and market liquidity separately; EURC, for example, targets one euro rather than one dollar.",
      "sourceIds": [
        "source-3869f308765efb15",
        "source-a09b71c06b48db6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        },
        {
          "sourceId": "source-a09b71c06b48db6b",
          "locator": "Sections 1–2 and 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "EURC terms identify Circle Europe, euro backing, one-euro reference and scoped service access.",
          "Currency example100×1.10=$110 then100×1.00=$100 correctly distinguishes foreign-exchange movement from euro depegging."
        ]
      }
    },
    {
      "id": "non-dollar-stablecoins-fact-reference",
      "articleSlug": "non-dollar-stablecoins",
      "statement": "Reference: Stable refers to a specified currency or asset, not every unit of account.",
      "sourceIds": [
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "EURC terms identify Circle Europe, euro backing, one-euro reference and scoped service access.",
          "Currency example100×1.10=$110 then100×1.00=$100 correctly distinguishes foreign-exchange movement from euro depegging."
        ]
      }
    },
    {
      "id": "non-dollar-stablecoins-fact-eurc-example",
      "articleSlug": "non-dollar-stablecoins",
      "statement": "EURC example: Circle’s terms describe a one-euro target and euro-denominated backing.",
      "sourceIds": [
        "source-a09b71c06b48db6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a09b71c06b48db6b",
          "locator": "Sections 1–2 and 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "EURC terms identify Circle Europe, euro backing, one-euro reference and scoped service access.",
          "Currency example100×1.10=$110 then100×1.00=$100 correctly distinguishes foreign-exchange movement from euro depegging."
        ]
      }
    },
    {
      "id": "non-dollar-stablecoins-fact-access",
      "articleSlug": "non-dollar-stablecoins",
      "statement": "Access: Regional and provider terms determine the applicable conversion route.",
      "sourceIds": [
        "source-a09b71c06b48db6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a09b71c06b48db6b",
          "locator": "Sections 1–2 and 13"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "EURC terms identify Circle Europe, euro backing, one-euro reference and scoped service access.",
          "Currency example100×1.10=$110 then100×1.00=$100 correctly distinguishes foreign-exchange movement from euro depegging."
        ]
      }
    },
    {
      "id": "what-is-usdc-quick-answer",
      "articleSlug": "what-is-usdc",
      "statement": "USDC is Circle’s dollar-referenced stablecoin, backed under its issuer arrangements by dollar-denominated reserve assets. Its target is one US dollar per USDC, but third-party market prices can differ. Direct redemption, fees and restrictions depend on the applicable issuer terms and eligible account; holding USDC alone does not provide reserve interest.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently read Circle sections1–4/13–16, transparency reserve categories and CCTP/bridged terms. Supports target, restricted direct redemption, reserve disclosure and no intrinsic holder yield.",
          "No total-reserve value, live asset percentage or market ranking is presented; regional terms remain explicitly scoped."
        ]
      }
    },
    {
      "id": "what-is-usdc-fact-target",
      "articleSlug": "what-is-usdc",
      "statement": "Target: One US dollar per native USDC under the applicable issuance arrangement.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently read Circle sections1–4/13–16, transparency reserve categories and CCTP/bridged terms. Supports target, restricted direct redemption, reserve disclosure and no intrinsic holder yield.",
          "No total-reserve value, live asset percentage or market ranking is presented; regional terms remain explicitly scoped."
        ]
      }
    },
    {
      "id": "what-is-usdc-fact-reserve-evidence",
      "articleSlug": "what-is-usdc",
      "statement": "Reserve evidence: Circle publishes reserve disclosures and third-party assurance reports.",
      "sourceIds": [
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Balances; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently read Circle sections1–4/13–16, transparency reserve categories and CCTP/bridged terms. Supports target, restricted direct redemption, reserve disclosure and no intrinsic holder yield.",
          "No total-reserve value, live asset percentage or market ranking is presented; regional terms remain explicitly scoped."
        ]
      }
    },
    {
      "id": "what-is-usdc-fact-holder-income",
      "articleSlug": "what-is-usdc",
      "statement": "Holder income: Ordinary USDC does not itself entitle the holder to reserve interest.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently read Circle sections1–4/13–16, transparency reserve categories and CCTP/bridged terms. Supports target, restricted direct redemption, reserve disclosure and no intrinsic holder yield.",
          "No total-reserve value, live asset percentage or market ranking is presented; regional terms remain explicitly scoped."
        ]
      }
    },
    {
      "id": "what-is-usdt-quick-answer",
      "articleSlug": "what-is-usdt",
      "statement": "USDT, also styled USD₮, is Tether’s dollar-referenced token. Tether represents it as backed by its reserves, whose definition extends beyond cash. Direct issuer services have eligibility, minimums and fees; those conditions differ from buying or selling USDT on an exchange. The dollar target does not guarantee every market quote.",
      "sourceIds": [
        "source-42226350ff0e7b0b",
        "source-d1b96579be34c419",
        "source-1f069dbb50ebe6ce",
        "source-3869f308765efb15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        },
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        },
        {
          "sourceId": "source-1f069dbb50ebe6ce",
          "locator": "Direct acquisition and redemption"
        },
        {
          "sourceId": "source-3869f308765efb15",
          "locator": "Introduction and Description of Covered Stablecoins"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Tether terms reserve definition extends beyond cash; FAQ separates authorized-but-unissued treasury inventory from circulation.",
          "Fee page independently confirms dated direct-service $100k minimum and max($1k,0.1%) redemption fee; no exchange-equivalence or current ranking asserted."
        ]
      }
    },
    {
      "id": "what-is-usdt-fact-reference",
      "articleSlug": "what-is-usdt",
      "statement": "Reference: USDT targets one US dollar.",
      "sourceIds": [
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Tether terms reserve definition extends beyond cash; FAQ separates authorized-but-unissued treasury inventory from circulation.",
          "Fee page independently confirms dated direct-service $100k minimum and max($1k,0.1%) redemption fee; no exchange-equivalence or current ranking asserted."
        ]
      }
    },
    {
      "id": "what-is-usdt-fact-reserve-definition",
      "articleSlug": "what-is-usdt",
      "statement": "Reserve definition: Tether’s reserve description includes more than bank cash.",
      "sourceIds": [
        "source-42226350ff0e7b0b",
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        },
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "How do Tether tokens work?; How often does Tether provide transparency information?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Tether terms reserve definition extends beyond cash; FAQ separates authorized-but-unissued treasury inventory from circulation.",
          "Fee page independently confirms dated direct-service $100k minimum and max($1k,0.1%) redemption fee; no exchange-equivalence or current ranking asserted."
        ]
      }
    },
    {
      "id": "what-is-usdt-fact-service-access",
      "articleSlug": "what-is-usdt",
      "statement": "Service access: Direct issuer redemption is subject to eligibility, minimums and fees.",
      "sourceIds": [
        "source-42226350ff0e7b0b",
        "source-1f069dbb50ebe6ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Sections 3–5 and 14; last updated 2026-02-26"
        },
        {
          "sourceId": "source-1f069dbb50ebe6ce",
          "locator": "Direct acquisition and redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Tether terms reserve definition extends beyond cash; FAQ separates authorized-but-unissued treasury inventory from circulation.",
          "Fee page independently confirms dated direct-service $100k minimum and max($1k,0.1%) redemption fee; no exchange-equivalence or current ranking asserted."
        ]
      }
    },
    {
      "id": "dai-and-usds-quick-answer",
      "articleSlug": "dai-and-usds",
      "statement": "DAI and USDS are distinct dollar-targeting tokens connected by Sky’s documented 1:1 bidirectional converter. USDS uses an upgradeable token design; sUSDS is a separate savings wrapper for USDS. Their shared protocol context includes collateral, governance and external dependencies, and a conversion to USDS is not a bank-dollar redemption.",
      "sourceIds": [
        "source-ef2407e0023c001f",
        "source-99c494fb0f9d448b",
        "source-69368320969c12c1",
        "source-e789fc9fcc6cbef2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ef2407e0023c001f",
          "locator": "Overview; DAI USDS Converter"
        },
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "Overview"
        },
        {
          "sourceId": "source-69368320969c12c1",
          "locator": "Vault Management; Failure Modes; Accounting"
        },
        {
          "sourceId": "source-e789fc9fcc6cbef2",
          "locator": "How USDS holds its peg; Protocol Collateral; Does USDS generate yield?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky USDS docs state fixed1:1 bidirectional converter with no fee; sUSDS docs describe ERC-4626 shares. USDS upgradeable proxy is explicit.",
          "Sky collateral overview labels data as12June2026 and lists diversified categories; article does not repeat promotional safety/ranking claims.50×1.02=51 illustration checked."
        ]
      }
    },
    {
      "id": "dai-and-usds-fact-converter",
      "articleSlug": "dai-and-usds",
      "statement": "Converter: The documented DAI↔USDS route converts 1:1 with no route fee; network gas is separate.",
      "sourceIds": [
        "source-ef2407e0023c001f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ef2407e0023c001f",
          "locator": "Overview; DAI USDS Converter"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky USDS docs state fixed1:1 bidirectional converter with no fee; sUSDS docs describe ERC-4626 shares. USDS upgradeable proxy is explicit.",
          "Sky collateral overview labels data as12June2026 and lists diversified categories; article does not repeat promotional safety/ranking claims.50×1.02=51 illustration checked."
        ]
      }
    },
    {
      "id": "dai-and-usds-fact-savings-token",
      "articleSlug": "dai-and-usds",
      "statement": "Savings token: sUSDS represents a savings vault position, not plain USDS.",
      "sourceIds": [
        "source-99c494fb0f9d448b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "Overview"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky USDS docs state fixed1:1 bidirectional converter with no fee; sUSDS docs describe ERC-4626 shares. USDS upgradeable proxy is explicit.",
          "Sky collateral overview labels data as12June2026 and lists diversified categories; article does not repeat promotional safety/ranking claims.50×1.02=51 illustration checked."
        ]
      }
    },
    {
      "id": "dai-and-usds-fact-backing-scope",
      "articleSlug": "dai-and-usds",
      "statement": "Backing scope: The June 2026 Sky description includes multiple collateral and investment categories.",
      "sourceIds": [
        "source-e789fc9fcc6cbef2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e789fc9fcc6cbef2",
          "locator": "How USDS holds its peg; Protocol Collateral; Does USDS generate yield?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Sky USDS docs state fixed1:1 bidirectional converter with no fee; sUSDS docs describe ERC-4626 shares. USDS upgradeable proxy is explicit.",
          "Sky collateral overview labels data as12June2026 and lists diversified categories; article does not repeat promotional safety/ranking claims.50×1.02=51 illustration checked."
        ]
      }
    },
    {
      "id": "tokenized-money-market-funds-quick-answer",
      "articleSlug": "tokenized-money-market-funds",
      "statement": "A tokenized money-market fund represents fund shares using blockchain-related recordkeeping or tokens. It is an investment product with a portfolio, shareholder terms and redemption process, not automatically an unrestricted payment stablecoin. A dollar share-price target does not guarantee value, yield, transferability or instant bank redemption.",
      "sourceIds": [
        "source-b44349208fc7b5d5",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b44349208fc7b5d5",
          "locator": "Fund Summary; Principal Risks; Shareholder Information"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4 and 13–16"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read July27,2026 Franklin filing: BENJI shares, transfer-agent control, permissioned wallets, business-hours processing and non-guaranteed$1 objective.",
          "Article confines concrete conditions to this prospectus; no universal fund access, insured-account or guaranteed-yield claim."
        ]
      }
    },
    {
      "id": "tokenized-money-market-funds-fact-claim",
      "articleSlug": "tokenized-money-market-funds",
      "statement": "Claim: A fund token can represent a share in an investment fund.",
      "sourceIds": [
        "source-b44349208fc7b5d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b44349208fc7b5d5",
          "locator": "Fund Summary; Principal Risks; Shareholder Information"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read July27,2026 Franklin filing: BENJI shares, transfer-agent control, permissioned wallets, business-hours processing and non-guaranteed$1 objective.",
          "Article confines concrete conditions to this prospectus; no universal fund access, insured-account or guaranteed-yield claim."
        ]
      }
    },
    {
      "id": "tokenized-money-market-funds-fact-controls",
      "articleSlug": "tokenized-money-market-funds",
      "statement": "Controls: Transfer-agent and eligibility rules can apply despite blockchain recordkeeping.",
      "sourceIds": [
        "source-b44349208fc7b5d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b44349208fc7b5d5",
          "locator": "Fund Summary; Principal Risks; Shareholder Information"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read July27,2026 Franklin filing: BENJI shares, transfer-agent control, permissioned wallets, business-hours processing and non-guaranteed$1 objective.",
          "Article confines concrete conditions to this prospectus; no universal fund access, insured-account or guaranteed-yield claim."
        ]
      }
    },
    {
      "id": "tokenized-money-market-funds-fact-value",
      "articleSlug": "tokenized-money-market-funds",
      "statement": "Value: A stable share-price objective is not a guarantee against loss.",
      "sourceIds": [
        "source-b44349208fc7b5d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b44349208fc7b5d5",
          "locator": "Fund Summary; Principal Risks; Shareholder Information"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:09:00.630Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read July27,2026 Franklin filing: BENJI shares, transfer-agent control, permissioned wallets, business-hours processing and non-guaranteed$1 objective.",
          "Article confines concrete conditions to this prospectus; no universal fund access, insured-account or guaranteed-yield claim."
        ]
      }
    },
    {
      "id": "what-is-defi-quick-answer",
      "articleSlug": "what-is-defi",
      "statement": "DeFi is a group of financial applications that use blockchain contracts to carry out activities such as exchanging tokens and managing collateralized loans. An application can have public settlement while still depending on administrators, data feeds, token issuers and a particular website.",
      "sourceIds": [
        "source-6bc833104d3a27ba",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6bc833104d3a27ba",
          "locator": "What is DeFi?; How does DeFi work?"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition and contract mechanisms, Aave supply/borrow/withdraw, and OpenZeppelin ownership/roles. QA and facts correctly distinguish public contract execution from administrative decentralization. The Alice/Bob lending illustration states pooled accounting and conditional withdrawal.",
          "Changed prerequisite to Ethereum smart contracts so the reading path introduces the actual mechanism."
        ]
      }
    },
    {
      "id": "what-is-defi-fact-execution",
      "articleSlug": "what-is-defi",
      "statement": "Execution: Contract rules determine allowed state changes.",
      "sourceIds": [
        "source-6bc833104d3a27ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6bc833104d3a27ba",
          "locator": "What is DeFi?; How does DeFi work?"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition and contract mechanisms, Aave supply/borrow/withdraw, and OpenZeppelin ownership/roles. QA and facts correctly distinguish public contract execution from administrative decentralization. The Alice/Bob lending illustration states pooled accounting and conditional withdrawal.",
          "Changed prerequisite to Ethereum smart contracts so the reading path introduces the actual mechanism."
        ]
      }
    },
    {
      "id": "what-is-defi-fact-example",
      "articleSlug": "what-is-defi",
      "statement": "Example: Aave V3 separates supplying assets, borrowing and repayment.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition and contract mechanisms, Aave supply/borrow/withdraw, and OpenZeppelin ownership/roles. QA and facts correctly distinguish public contract execution from administrative decentralization. The Alice/Bob lending illustration states pooled accounting and conditional withdrawal.",
          "Changed prerequisite to Ethereum smart contracts so the reading path introduces the actual mechanism."
        ]
      }
    },
    {
      "id": "what-is-defi-fact-control",
      "articleSlug": "what-is-defi",
      "statement": "Control: Roles can authorize privileged actions in a contract.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition and contract mechanisms, Aave supply/borrow/withdraw, and OpenZeppelin ownership/roles. QA and facts correctly distinguish public contract execution from administrative decentralization. The Alice/Bob lending illustration states pooled accounting and conditional withdrawal.",
          "Changed prerequisite to Ethereum smart contracts so the reading path introduces the actual mechanism."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-quick-answer",
      "articleSlug": "connecting-a-wallet",
      "statement": "Connecting a wallet usually lets an application request access to selected account addresses and communicate with the wallet. That connection alone is different from granting a token allowance or signing a transaction. A signature can itself authorize spending, so its meaning matters even when no gas fee is shown.",
      "sourceIds": [
        "source-b0746cbddfc23325",
        "source-ac4ad503a55127bb",
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Connectivity; User Account Exposure and Account Changes"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        },
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-account-access",
      "articleSlug": "connecting-a-wallet",
      "statement": "Account access: Wallet account exposure is an explicit permission boundary.",
      "sourceIds": [
        "source-b0746cbddfc23325"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Connectivity; User Account Exposure and Account Changes"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-allowance",
      "articleSlug": "connecting-a-wallet",
      "statement": "Allowance: ERC-20 spending permission belongs to a token contract and spender.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "connecting-a-wallet-fact-signature",
      "articleSlug": "connecting-a-wallet",
      "statement": "Signature: ERC-2612 permits authorize allowances using signed messages.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared EIP-1193 account exposure and provider connectivity with ERC-20 approve/allowance/transferFrom and ERC-2612 permit fields. Connection, allowance and signature authority remain separate; disconnection does not mutate token allowance.",
          "Checked signed permit deadline/nonce/domain scope and the private-key boundary. Added coherent Ethereum prerequisites and the existing transaction tool link."
        ]
      }
    },
    {
      "id": "decentralized-exchanges-quick-answer",
      "articleSlug": "decentralized-exchanges",
      "statement": "A decentralized exchange uses blockchain contracts to settle trades. In an automated-market-maker design, a trader exchanges assets against pool inventory; other designs use signed orders filled by competing third parties. A quote is an estimate until execution, and the submitted limits determine which outcomes the contract may accept.",
      "sourceIds": [
        "source-6bc833104d3a27ba",
        "source-5cf943a6c62eb740",
        "source-9b0271b32c669dd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6bc833104d3a27ba",
          "locator": "What is DeFi?; How does DeFi work?"
        },
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        },
        {
          "sourceId": "source-9b0271b32c669dd2",
          "locator": "Next-level aggregation; Gas-free swapping — and no cost for failed swaps"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Uniswap v2 white paper, pricing documentation, v2 Pair code, UniswapX overview and original announcement. Verified reserve/fee quoting, signed output conditions and separate submission/settlement states.",
          "Compared the edited quote section with the existing minimum-output example and filler-paid UniswapX gas caveat. 99.4 satisfies a 99-unit bound and 98.9 does not. No contradiction or unsupported guaranteed fill found."
        ]
      }
    },
    {
      "id": "decentralized-exchanges-fact-pool-design",
      "articleSlug": "decentralized-exchanges",
      "statement": "Pool design: Uniswap v2 checks a fee-adjusted reserve invariant.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Uniswap v2 white paper, pricing documentation, v2 Pair code, UniswapX overview and original announcement. Verified reserve/fee quoting, signed output conditions and separate submission/settlement states.",
          "Compared the edited quote section with the existing minimum-output example and filler-paid UniswapX gas caveat. 99.4 satisfies a 99-unit bound and 98.9 does not. No contradiction or unsupported guaranteed fill found."
        ]
      }
    },
    {
      "id": "decentralized-exchanges-fact-quote",
      "articleSlug": "decentralized-exchanges",
      "statement": "Quote: Input, reserves and fees determine an estimated output.",
      "sourceIds": [
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Uniswap v2 white paper, pricing documentation, v2 Pair code, UniswapX overview and original announcement. Verified reserve/fee quoting, signed output conditions and separate submission/settlement states.",
          "Compared the edited quote section with the existing minimum-output example and filler-paid UniswapX gas caveat. 99.4 satisfies a 99-unit bound and 98.9 does not. No contradiction or unsupported guaranteed fill found."
        ]
      }
    },
    {
      "id": "decentralized-exchanges-fact-trade-bound",
      "articleSlug": "decentralized-exchanges",
      "statement": "Trade bound: A minimum output can reject an unfavorable execution.",
      "sourceIds": [
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Uniswap v2 white paper, pricing documentation, v2 Pair code, UniswapX overview and original announcement. Verified reserve/fee quoting, signed output conditions and separate submission/settlement states.",
          "Compared the edited quote section with the existing minimum-output example and filler-paid UniswapX gas caveat. 99.4 satisfies a 99-unit bound and 98.9 does not. No contradiction or unsupported guaranteed fill found."
        ]
      }
    },
    {
      "id": "automated-market-makers-quick-answer",
      "articleSlug": "automated-market-makers",
      "statement": "An automated market maker, or AMM, quotes exchanges using a programmed rule and available inventory. Liquidity providers supply that inventory. A constant-product pool is one AMM design; concentrated ranges and other curves behave differently, so “AMM” does not identify a single pricing formula.",
      "sourceIds": [
        "source-5651ae58cdcb25c2",
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 swap balance checks, reserve-based pricing, and the v3 announcement’s concentrated/active-liquidity sections. The QA identifies constant product as one model rather than a universal AMM formula.",
          "Recomputed the fee-free 100 A / 1,000 B / 10 A example: output 90.909090… B. The limitations on execution and inactive ranges match the cited mechanisms."
        ]
      }
    },
    {
      "id": "automated-market-makers-fact-inventory",
      "articleSlug": "automated-market-makers",
      "statement": "Inventory: Swaps change the quantities of the two tokens in a v2 pair.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 swap balance checks, reserve-based pricing, and the v3 announcement’s concentrated/active-liquidity sections. The QA identifies constant product as one model rather than a universal AMM formula.",
          "Recomputed the fee-free 100 A / 1,000 B / 10 A example: output 90.909090… B. The limitations on execution and inactive ranges match the cited mechanisms."
        ]
      }
    },
    {
      "id": "automated-market-makers-fact-price",
      "articleSlug": "automated-market-makers",
      "statement": "Price: The next quote depends on the new reserve balances.",
      "sourceIds": [
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 swap balance checks, reserve-based pricing, and the v3 announcement’s concentrated/active-liquidity sections. The QA identifies constant product as one model rather than a universal AMM formula.",
          "Recomputed the fee-free 100 A / 1,000 B / 10 A example: output 90.909090… B. The limitations on execution and inactive ranges match the cited mechanisms."
        ]
      }
    },
    {
      "id": "automated-market-makers-fact-variation",
      "articleSlug": "automated-market-makers",
      "statement": "Variation: Uniswap v3 concentrates liquidity inside chosen ranges.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 swap balance checks, reserve-based pricing, and the v3 announcement’s concentrated/active-liquidity sections. The QA identifies constant product as one model rather than a universal AMM formula.",
          "Recomputed the fee-free 100 A / 1,000 B / 10 A example: output 90.909090… B. The limitations on execution and inactive ranges match the cited mechanisms."
        ]
      }
    },
    {
      "id": "constant-product-pools-quick-answer",
      "articleSlug": "constant-product-pools",
      "statement": "A constant-product pool uses two reserves x and y and a rule based on their product. In the ideal fee-free model, output = y × input ÷ (x + input). With an input fee f retained by the pool, substitute input × (1 − f) when quoting output; the full input still enters the actual reserve.",
      "sourceIds": [
        "source-5651ae58cdcb25c2",
        "source-5cf943a6c62eb740",
        "source-797a8496336a5bb2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        },
        {
          "sourceId": "source-797a8496336a5bb2",
          "locator": "getAmountOut, lines 43–49; getAmountIn, lines 53–58"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:28:10.667176+00:00",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently derived output=y*q/(x+q), recomputed 90.909090… without fees and 90.661089… with 0.3% retained input fee, and checked actual input reserve 110 rather than 109.97.",
          "Added pinned v2-periphery getAmountOut code: integer division floors output; fee-adjusted pair balances enforce the invariant. Confirmed positive finite inputs cannot drain the ideal output reserve. Added the existing Swap Lab link and checked its visible fixed-point/rounding assumptions.",
          "Reopened the pinned raw source and counted original file lines, including blanks: getAmountOut is lines 43–49 and getAmountIn is lines 53–58. Corrected the prior rendered-text line locators; formulas and body hash are unchanged."
        ]
      }
    },
    {
      "id": "constant-product-pools-fact-fee-free-invariant",
      "articleSlug": "constant-product-pools",
      "statement": "Fee-free invariant: The idealized swap preserves x × y.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:28:10.667176+00:00",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently derived output=y*q/(x+q), recomputed 90.909090… without fees and 90.661089… with 0.3% retained input fee, and checked actual input reserve 110 rather than 109.97.",
          "Added pinned v2-periphery getAmountOut code: integer division floors output; fee-adjusted pair balances enforce the invariant. Confirmed positive finite inputs cannot drain the ideal output reserve. Added the existing Swap Lab link and checked its visible fixed-point/rounding assumptions.",
          "Reopened the pinned raw source and counted original file lines, including blanks: getAmountOut is lines 43–49 and getAmountIn is lines 53–58. Corrected the prior rendered-text line locators; formulas and body hash are unchanged."
        ]
      }
    },
    {
      "id": "constant-product-pools-fact-v2-input-fee",
      "articleSlug": "constant-product-pools",
      "statement": "v2 input fee: The cited v2 pair checks balances adjusted by 3 per 1,000 input units.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:28:10.667176+00:00",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently derived output=y*q/(x+q), recomputed 90.909090… without fees and 90.661089… with 0.3% retained input fee, and checked actual input reserve 110 rather than 109.97.",
          "Added pinned v2-periphery getAmountOut code: integer division floors output; fee-adjusted pair balances enforce the invariant. Confirmed positive finite inputs cannot drain the ideal output reserve. Added the existing Swap Lab link and checked its visible fixed-point/rounding assumptions.",
          "Reopened the pinned raw source and counted original file lines, including blanks: getAmountOut is lines 43–49 and getAmountIn is lines 53–58. Corrected the prior rendered-text line locators; formulas and body hash are unchanged."
        ]
      }
    },
    {
      "id": "constant-product-pools-fact-reserves-with-fees",
      "articleSlug": "constant-product-pools",
      "statement": "Reserves with fees: Retained input fees cause the reserve product to grow.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:28:10.667176+00:00",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently derived output=y*q/(x+q), recomputed 90.909090… without fees and 90.661089… with 0.3% retained input fee, and checked actual input reserve 110 rather than 109.97.",
          "Added pinned v2-periphery getAmountOut code: integer division floors output; fee-adjusted pair balances enforce the invariant. Confirmed positive finite inputs cannot drain the ideal output reserve. Added the existing Swap Lab link and checked its visible fixed-point/rounding assumptions.",
          "Reopened the pinned raw source and counted original file lines, including blanks: getAmountOut is lines 43–49 and getAmountIn is lines 53–58. Corrected the prior rendered-text line locators; formulas and body hash are unchanged."
        ]
      }
    },
    {
      "id": "liquidity-pools-quick-answer",
      "articleSlug": "liquidity-pools",
      "statement": "A liquidity pool is a shared set of assets governed by a contract. In an exchange pool, those assets are traded against a pricing rule; in a lending pool, available assets can be borrowed. A provider’s withdrawal rights and exposure depend on that specific pool’s accounting and restrictions.",
      "sourceIds": [
        "source-6f65e0d527a4f4eb",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6f65e0d527a4f4eb",
          "locator": "Introduction; Pool tokens"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 mint/burn and pool-token accounting alongside Aave supply/withdraw/borrow. Recomputed 100 newly minted LP units, ten-percent share, and later 8 A /126 B proportional claim. Initial-mint and rounding exclusions are explicit.",
          "Added v3 source to support the FAQ’s active-range distinction; TVL, trade depth, inventory claim and available lending cash are kept separate."
        ]
      }
    },
    {
      "id": "liquidity-pools-fact-exchange-pool",
      "articleSlug": "liquidity-pools",
      "statement": "Exchange pool: A v2 LP claim covers a share of both current token balances.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 mint/burn and pool-token accounting alongside Aave supply/withdraw/borrow. Recomputed 100 newly minted LP units, ten-percent share, and later 8 A /126 B proportional claim. Initial-mint and rounding exclusions are explicit.",
          "Added v3 source to support the FAQ’s active-range distinction; TVL, trade depth, inventory claim and available lending cash are kept separate."
        ]
      }
    },
    {
      "id": "liquidity-pools-fact-lending-pool",
      "articleSlug": "liquidity-pools",
      "statement": "Lending pool: Borrowing removes available underlying assets from a reserve.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 mint/burn and pool-token accounting alongside Aave supply/withdraw/borrow. Recomputed 100 newly minted LP units, ten-percent share, and later 8 A /126 B proportional claim. Initial-mint and rounding exclusions are explicit.",
          "Added v3 source to support the FAQ’s active-range distinction; TVL, trade depth, inventory claim and available lending cash are kept separate."
        ]
      }
    },
    {
      "id": "liquidity-pools-fact-accounting",
      "articleSlug": "liquidity-pools",
      "statement": "Accounting: LP tokens identify claims rather than fixed deposit inventories.",
      "sourceIds": [
        "source-6f65e0d527a4f4eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6f65e0d527a4f4eb",
          "locator": "Introduction; Pool tokens"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read v2 mint/burn and pool-token accounting alongside Aave supply/withdraw/borrow. Recomputed 100 newly minted LP units, ten-percent share, and later 8 A /126 B proportional claim. Initial-mint and rounding exclusions are explicit.",
          "Added v3 source to support the FAQ’s active-range distinction; TVL, trade depth, inventory claim and available lending cash are kept separate."
        ]
      }
    },
    {
      "id": "concentrated-liquidity-quick-answer",
      "articleSlug": "concentrated-liquidity",
      "statement": "Concentrated liquidity lets a provider commit inventory to a selected price interval. In Uniswap v3, that position participates in trades and earns swap fees while the pool price is inside its range. Outside the range, its liquidity inventory is one token, apart from uncollected fees, and it stops earning swap fees until it becomes active again.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the v3 announcement’s Concentrated Liquidity, Active Liquidity and Non-Fungible Liquidity sections. Verified direction of ETH/quote inventory across the illustrative 1,800–2,200 range.",
          "Corrected QA, composition fact and FAQ to preserve the uncollected-fees exception: one-token liquidity inventory does not imply every outstanding fee claim is one token. The full-range loss formula is explicitly excluded for arbitrary ranges."
        ]
      }
    },
    {
      "id": "concentrated-liquidity-fact-range",
      "articleSlug": "concentrated-liquidity",
      "statement": "Range: Each v3 position has its own lower and upper price boundary.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the v3 announcement’s Concentrated Liquidity, Active Liquidity and Non-Fungible Liquidity sections. Verified direction of ETH/quote inventory across the illustrative 1,800–2,200 range.",
          "Corrected QA, composition fact and FAQ to preserve the uncollected-fees exception: one-token liquidity inventory does not imply every outstanding fee claim is one token. The full-range loss formula is explicitly excluded for arbitrary ranges."
        ]
      }
    },
    {
      "id": "concentrated-liquidity-fact-inactive",
      "articleSlug": "concentrated-liquidity",
      "statement": "Inactive: An out-of-range position no longer earns swap fees.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the v3 announcement’s Concentrated Liquidity, Active Liquidity and Non-Fungible Liquidity sections. Verified direction of ETH/quote inventory across the illustrative 1,800–2,200 range.",
          "Corrected QA, composition fact and FAQ to preserve the uncollected-fees exception: one-token liquidity inventory does not imply every outstanding fee claim is one token. The full-range loss formula is explicitly excluded for arbitrary ranges."
        ]
      }
    },
    {
      "id": "concentrated-liquidity-fact-composition",
      "articleSlug": "concentrated-liquidity",
      "statement": "Composition: Beyond either boundary, liquidity inventory is one token; uncollected fees are separate.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the v3 announcement’s Concentrated Liquidity, Active Liquidity and Non-Fungible Liquidity sections. Verified direction of ETH/quote inventory across the illustrative 1,800–2,200 range.",
          "Corrected QA, composition fact and FAQ to preserve the uncollected-fees exception: one-token liquidity inventory does not imply every outstanding fee claim is one token. The full-range loss formula is explicitly excluded for arbitrary ranges."
        ]
      }
    },
    {
      "id": "liquidity-provider-positions-quick-answer",
      "articleSlug": "liquidity-provider-positions",
      "statement": "A liquidity-provider position records a claim on pool inventory and applicable fees. Uniswap v2 represents proportional pool shares with fungible LP tokens. Uniswap v3 positions have individual price ranges and are commonly managed as NFTs, so equal-looking position balances need not represent equal assets.",
      "sourceIds": [
        "source-5651ae58cdcb25c2",
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Read v2 Pair mint/burn pro-rata balance calculations and reserve invariant, and visually inspected v3 white paper concentrated-liquidity and fee/position sections.",
          "Recomputed 100*10000=1000000; at 80 A the fee-free invariant gives 12,500 B; a 10% share gives 8 A and 1,250 B. Matched the changed paragraph with existing v2/v3 receipt and NFT explanations."
        ]
      }
    },
    {
      "id": "liquidity-provider-positions-fact-v2-receipt",
      "articleSlug": "liquidity-provider-positions",
      "statement": "v2 receipt: LP units determine a proportional withdrawal from current balances.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Read v2 Pair mint/burn pro-rata balance calculations and reserve invariant, and visually inspected v3 white paper concentrated-liquidity and fee/position sections.",
          "Recomputed 100*10000=1000000; at 80 A the fee-free invariant gives 12,500 B; a 10% share gives 8 A and 1,250 B. Matched the changed paragraph with existing v2/v3 receipt and NFT explanations."
        ]
      }
    },
    {
      "id": "liquidity-provider-positions-fact-v3-position",
      "articleSlug": "liquidity-provider-positions",
      "statement": "v3 position: Range and fee-tier choices distinguish positions.",
      "sourceIds": [
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Read v2 Pair mint/burn pro-rata balance calculations and reserve invariant, and visually inspected v3 white paper concentrated-liquidity and fee/position sections.",
          "Recomputed 100*10000=1000000; at 80 A the fee-free invariant gives 12,500 B; a 10% share gives 8 A and 1,250 B. Matched the changed paragraph with existing v2/v3 receipt and NFT explanations."
        ]
      }
    },
    {
      "id": "liquidity-provider-positions-fact-inventory",
      "articleSlug": "liquidity-provider-positions",
      "statement": "Inventory: The underlying token mix can change without a new deposit.",
      "sourceIds": [
        "source-5651ae58cdcb25c2",
        "source-f5705afc81647349"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-f5705afc81647349",
          "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Read v2 Pair mint/burn pro-rata balance calculations and reserve invariant, and visually inspected v3 white paper concentrated-liquidity and fee/position sections.",
          "Recomputed 100*10000=1000000; at 80 A the fee-free invariant gives 12,500 B; a 10% share gives 8 A and 1,250 B. Matched the changed paragraph with existing v2/v3 receipt and NFT explanations."
        ]
      }
    },
    {
      "id": "impermanent-loss-quick-answer",
      "articleSlug": "impermanent-loss",
      "statement": "Impermanent loss is the shortfall of an AMM liquidity position relative to holding its original assets, under a specified price comparison. In a fee-free, full-range, equal-value constant-product pool it is 2√r ÷ (1 + r) − 1, where r is the relative price change. Fees and other costs must be assessed separately.",
      "sourceIds": [
        "source-0960594c4bc8beaa",
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0960594c4bc8beaa",
          "locator": "Risks; Why is my liquidity worth less than I put in?"
        },
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Uniswap’s returns derivation and v2 fee accounting. Recomputed 2*sqrt(4)/(1+4)-1=-20% and the 0.5 A +200 B pool value versus 1 A +100 B hold benchmark.",
          "QA and limitations preserve fee-free, equal-value, full-range, constant-product assumptions. Fees, gas, changing prices and concentrated ranges are not silently folded into the formula."
        ]
      }
    },
    {
      "id": "impermanent-loss-fact-benchmark",
      "articleSlug": "impermanent-loss",
      "statement": "Benchmark: The comparison is with holding the original quantities.",
      "sourceIds": [
        "source-0960594c4bc8beaa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0960594c4bc8beaa",
          "locator": "Risks; Why is my liquidity worth less than I put in?"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Uniswap’s returns derivation and v2 fee accounting. Recomputed 2*sqrt(4)/(1+4)-1=-20% and the 0.5 A +200 B pool value versus 1 A +100 B hold benchmark.",
          "QA and limitations preserve fee-free, equal-value, full-range, constant-product assumptions. Fees, gas, changing prices and concentrated ranges are not silently folded into the formula."
        ]
      }
    },
    {
      "id": "impermanent-loss-fact-model",
      "articleSlug": "impermanent-loss",
      "statement": "Model: The simple formula assumes full-range equal-value constant-product liquidity.",
      "sourceIds": [
        "source-0960594c4bc8beaa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0960594c4bc8beaa",
          "locator": "Risks; Why is my liquidity worth less than I put in?"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Uniswap’s returns derivation and v2 fee accounting. Recomputed 2*sqrt(4)/(1+4)-1=-20% and the 0.5 A +200 B pool value versus 1 A +100 B hold benchmark.",
          "QA and limitations preserve fee-free, equal-value, full-range, constant-product assumptions. Fees, gas, changing prices and concentrated ranges are not silently folded into the formula."
        ]
      }
    },
    {
      "id": "impermanent-loss-fact-fees",
      "articleSlug": "impermanent-loss",
      "statement": "Fees: Swap fees can offset some shortfall but do not guarantee a profit.",
      "sourceIds": [
        "source-0960594c4bc8beaa",
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0960594c4bc8beaa",
          "locator": "Risks; Why is my liquidity worth less than I put in?"
        },
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Uniswap’s returns derivation and v2 fee accounting. Recomputed 2*sqrt(4)/(1+4)-1=-20% and the 0.5 A +200 B pool value versus 1 A +100 B hold benchmark.",
          "QA and limitations preserve fee-free, equal-value, full-range, constant-product assumptions. Fees, gas, changing prices and concentrated ranges are not silently folded into the formula."
        ]
      }
    },
    {
      "id": "slippage-and-price-impact-quick-answer",
      "articleSlug": "slippage-and-price-impact",
      "statement": "Price impact describes how a trade changes execution price by consuming liquidity. Slippage commonly describes a difference between the quote and actual execution as conditions change. A slippage-tolerance setting permits a bounded worse result or rejects the trade; increasing it does not improve the quote.",
      "sourceIds": [
        "source-5cf943a6c62eb740",
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        },
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Added EIP140 and existing Uniswap v2 pricing source to the changed tolerance section. UniswapX alone does not support a generic claim that the trader pays for failed settlement; its own model assigns submission costs to fillers.",
          "Qualified the 100-to-99 example as the direct percentage-reduction convention, not a universal interface algorithm. Recomputed 100*(1-.01)=99 and 100*(1-.05)=95; widening the allowed outcome does not improve the quote.",
          "Read EIP140 rollback and remaining-gas semantics. Also recomputed the unchanged fee-free 10-A trade:1000-100000/110=90.9090909B and average 9.090909B/A."
        ]
      }
    },
    {
      "id": "slippage-and-price-impact-fact-price-impact",
      "articleSlug": "slippage-and-price-impact",
      "statement": "Price impact: A trade’s size relative to reserves affects its rate.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Added EIP140 and existing Uniswap v2 pricing source to the changed tolerance section. UniswapX alone does not support a generic claim that the trader pays for failed settlement; its own model assigns submission costs to fillers.",
          "Qualified the 100-to-99 example as the direct percentage-reduction convention, not a universal interface algorithm. Recomputed 100*(1-.01)=99 and 100*(1-.05)=95; widening the allowed outcome does not improve the quote.",
          "Read EIP140 rollback and remaining-gas semantics. Also recomputed the unchanged fee-free 10-A trade:1000-100000/110=90.9090909B and average 9.090909B/A."
        ]
      }
    },
    {
      "id": "slippage-and-price-impact-fact-slippage-bound",
      "articleSlug": "slippage-and-price-impact",
      "statement": "Slippage bound: A minimum output restricts accepted execution.",
      "sourceIds": [
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Added EIP140 and existing Uniswap v2 pricing source to the changed tolerance section. UniswapX alone does not support a generic claim that the trader pays for failed settlement; its own model assigns submission costs to fillers.",
          "Qualified the 100-to-99 example as the direct percentage-reduction convention, not a universal interface algorithm. Recomputed 100*(1-.01)=99 and 100*(1-.05)=95; widening the allowed outcome does not improve the quote.",
          "Read EIP140 rollback and remaining-gas semantics. Also recomputed the unchanged fee-free 10-A trade:1000-100000/110=90.9090909B and average 9.090909B/A."
        ]
      }
    },
    {
      "id": "slippage-and-price-impact-fact-tolerance",
      "articleSlug": "slippage-and-price-impact",
      "statement": "Tolerance: A wider permitted range does not add liquidity.",
      "sourceIds": [
        "source-5cf943a6c62eb740",
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        },
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Added EIP140 and existing Uniswap v2 pricing source to the changed tolerance section. UniswapX alone does not support a generic claim that the trader pays for failed settlement; its own model assigns submission costs to fillers.",
          "Qualified the 100-to-99 example as the direct percentage-reduction convention, not a universal interface algorithm. Recomputed 100*(1-.01)=99 and 100*(1-.05)=95; widening the allowed outcome does not improve the quote.",
          "Read EIP140 rollback and remaining-gas semantics. Also recomputed the unchanged fee-free 10-A trade:1000-100000/110=90.9090909B and average 9.090909B/A."
        ]
      }
    },
    {
      "id": "swap-routing-and-aggregators-quick-answer",
      "articleSlug": "swap-routing-and-aggregators",
      "statement": "A swap router executes a path through one or more pools. An aggregator compares available paths or liquidity sources and may split a trade. The most useful comparison includes fees and execution costs; a route with the largest gross token output can still have a lower net result.",
      "sourceIds": [
        "source-8c39f0775aa765a9",
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8c39f0775aa765a9",
          "locator": "Split Routes; Gas Cost Awareness"
        },
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated September 16, 2021 Auto Router announcement: split routes and gas-aware route selection. Read ERC-20 allowance for specific spender scope.",
          "Recomputed net outcomes998 versus996. Article separates modeled route selection from future execution and does not promise global optimality."
        ]
      }
    },
    {
      "id": "swap-routing-and-aggregators-fact-multiple-hops",
      "articleSlug": "swap-routing-and-aggregators",
      "statement": "Multiple hops: A route can exchange A for an intermediate token before B.",
      "sourceIds": [
        "source-8c39f0775aa765a9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8c39f0775aa765a9",
          "locator": "Split Routes; Gas Cost Awareness"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated September 16, 2021 Auto Router announcement: split routes and gas-aware route selection. Read ERC-20 allowance for specific spender scope.",
          "Recomputed net outcomes998 versus996. Article separates modeled route selection from future execution and does not promise global optimality."
        ]
      }
    },
    {
      "id": "swap-routing-and-aggregators-fact-split-execution",
      "articleSlug": "swap-routing-and-aggregators",
      "statement": "Split execution: Routing can divide an input across several pools.",
      "sourceIds": [
        "source-8c39f0775aa765a9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8c39f0775aa765a9",
          "locator": "Split Routes; Gas Cost Awareness"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated September 16, 2021 Auto Router announcement: split routes and gas-aware route selection. Read ERC-20 allowance for specific spender scope.",
          "Recomputed net outcomes998 versus996. Article separates modeled route selection from future execution and does not promise global optimality."
        ]
      }
    },
    {
      "id": "swap-routing-and-aggregators-fact-permission",
      "articleSlug": "swap-routing-and-aggregators",
      "statement": "Permission: The spender authorized for routing is a specific contract.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated September 16, 2021 Auto Router announcement: split routes and gas-aware route selection. Read ERC-20 allowance for specific spender scope.",
          "Recomputed net outcomes998 versus996. Article separates modeled route selection from future execution and does not promise global optimality."
        ]
      }
    },
    {
      "id": "defi-arbitrage-quick-answer",
      "articleSlug": "defi-arbitrage",
      "statement": "Arbitrage combines purchases and sales across markets to exploit a price difference. In DeFi it can move AMM inventory toward prices elsewhere. A displayed spread is not a guaranteed profit: trade impact, fees, execution order and the ability to complete every leg all affect the result.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb",
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        },
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read MEV arbitrage/order competition, v2 reserve pricing and Aave atomic flash-loan execution. Spread is correctly indicative until all costs and executable quantities are included.",
          "Added EIP-140 support for state rollback and consumed-gas qualification. Cross-chain/custodial legs are excluded from a single-chain atomic guarantee."
        ]
      }
    },
    {
      "id": "defi-arbitrage-fact-price-link",
      "articleSlug": "defi-arbitrage",
      "statement": "Price link: Arbitrage can bring pool prices closer to external markets.",
      "sourceIds": [
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read MEV arbitrage/order competition, v2 reserve pricing and Aave atomic flash-loan execution. Spread is correctly indicative until all costs and executable quantities are included.",
          "Added EIP-140 support for state rollback and consumed-gas qualification. Cross-chain/custodial legs are excluded from a single-chain atomic guarantee."
        ]
      }
    },
    {
      "id": "defi-arbitrage-fact-ordering",
      "articleSlug": "defi-arbitrage",
      "statement": "Ordering: Competition for transaction order affects opportunities.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read MEV arbitrage/order competition, v2 reserve pricing and Aave atomic flash-loan execution. Spread is correctly indicative until all costs and executable quantities are included.",
          "Added EIP-140 support for state rollback and consumed-gas qualification. Cross-chain/custodial legs are excluded from a single-chain atomic guarantee."
        ]
      }
    },
    {
      "id": "defi-arbitrage-fact-atomic-borrowing",
      "articleSlug": "defi-arbitrage",
      "statement": "Atomic borrowing: A pure flash loan must settle within its transaction.",
      "sourceIds": [
        "source-f64306b50a0ea831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f64306b50a0ea831",
          "locator": "Overview; Execution Flow; Flash loan fee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read MEV arbitrage/order competition, v2 reserve pricing and Aave atomic flash-loan execution. Spread is correctly indicative until all costs and executable quantities are included.",
          "Added EIP-140 support for state rollback and consumed-gas qualification. Cross-chain/custodial legs are excluded from a single-chain atomic guarantee."
        ]
      }
    },
    {
      "id": "maximal-extractable-value-quick-answer",
      "articleSlug": "maximal-extractable-value",
      "statement": "Maximal extractable value, or MEV, is value available through controlling which transactions are included, excluded or ordered in a block beyond ordinary block rewards and gas fees. Arbitrage and liquidation competition are examples; sandwiching can worsen another trader’s execution.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition, post-Merge terminology, DEX arbitrage, sandwich and liquidation examples; checked Aave liquidationCall mechanics.",
          "The QA excludes ordinary block rewards/gas fees and does not equate every ordering opportunity with the same harm or claim proof of stake eliminated MEV."
        ]
      }
    },
    {
      "id": "maximal-extractable-value-fact-source",
      "articleSlug": "maximal-extractable-value",
      "statement": "Source: Inclusion and ordering can change economic outcomes.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition, post-Merge terminology, DEX arbitrage, sandwich and liquidation examples; checked Aave liquidationCall mechanics.",
          "The QA excludes ordinary block rewards/gas fees and does not equate every ordering opportunity with the same harm or claim proof of stake eliminated MEV."
        ]
      }
    },
    {
      "id": "maximal-extractable-value-fact-sandwich",
      "articleSlug": "maximal-extractable-value",
      "statement": "Sandwich: A trader can be placed between two inventory-changing trades.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb",
        "source-5cf943a6c62eb740"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        },
        {
          "sourceId": "source-5cf943a6c62eb740",
          "locator": "Pricing Trades; Exact Input; Exact Output"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition, post-Merge terminology, DEX arbitrage, sandwich and liquidation examples; checked Aave liquidationCall mechanics.",
          "The QA excludes ordinary block rewards/gas fees and does not equate every ordering opportunity with the same harm or claim proof of stake eliminated MEV."
        ]
      }
    },
    {
      "id": "maximal-extractable-value-fact-liquidation",
      "articleSlug": "maximal-extractable-value",
      "statement": "Liquidation: Eligibility creates competition to execute liquidation calls.",
      "sourceIds": [
        "source-b35859a766315ce4",
        "source-5bbc1a71e6d876eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        },
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s definition, post-Merge terminology, DEX arbitrage, sandwich and liquidation examples; checked Aave liquidationCall mechanics.",
          "The QA excludes ordinary block rewards/gas fees and does not equate every ordering opportunity with the same harm or claim proof of stake eliminated MEV."
        ]
      }
    },
    {
      "id": "blockchain-oracles-quick-answer",
      "articleSlug": "blockchain-oracles",
      "statement": "An oracle supplies information that a contract cannot obtain directly from its own chain state, such as an external market price. Blockchain consensus can agree on the stored answer without proving the outside fact is correct. A usable feed also needs the right asset, units, update timing and failure handling.",
      "sourceIds": [
        "source-72dd33a43173ecf1",
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-72dd33a43173ecf1",
          "locator": "What is an oracle?; The oracle problem"
        },
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-boundary",
      "articleSlug": "blockchain-oracles",
      "statement": "Boundary: Recording data on-chain does not prove its external truth.",
      "sourceIds": [
        "source-72dd33a43173ecf1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-72dd33a43173ecf1",
          "locator": "What is an oracle?; The oracle problem"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-scaling",
      "articleSlug": "blockchain-oracles",
      "statement": "Scaling: Feed decimals are needed to interpret a reported answer.",
      "sourceIds": [
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-freshness",
      "articleSlug": "blockchain-oracles",
      "statement": "Freshness: latestRoundData exposes an updatedAt timestamp.",
      "sourceIds": [
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "defi-lending-pools-quick-answer",
      "articleSlug": "defi-lending-pools",
      "statement": "A DeFi lending pool lets suppliers place assets in a reserve that eligible borrowers can use. In Aave V3, suppliers receive aToken claims and borrowing creates debt subject to collateral or authorized credit-delegation rules. Interest, available liquidity and market settings affect what each position can do.",
      "sourceIds": [
        "source-b35859a766315ce4",
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        },
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "AToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Pool supply/withdraw/borrow documentation and tokenization balanceOf and variable-debt sections. Existing collateral-health restrictions are preserved.",
          "Recomputed 1000 claims minus 900 borrowed = 100 idle units in the simplified accounting; a 300-unit supplier claim exceeds that available inventory. The paragraph explicitly excludes other accounting effects and makes no universal instant-redemption promise."
        ]
      }
    },
    {
      "id": "defi-lending-pools-fact-supply-receipt",
      "articleSlug": "defi-lending-pools",
      "statement": "Supply receipt: Aave aToken balances represent supplied assets and accrued yield.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "AToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Pool supply/withdraw/borrow documentation and tokenization balanceOf and variable-debt sections. Existing collateral-health restrictions are preserved.",
          "Recomputed 1000 claims minus 900 borrowed = 100 idle units in the simplified accounting; a 300-unit supplier claim exceeds that available inventory. The paragraph explicitly excludes other accounting effects and makes no universal instant-redemption promise."
        ]
      }
    },
    {
      "id": "defi-lending-pools-fact-debt",
      "articleSlug": "defi-lending-pools",
      "statement": "Debt: Variable debt balances include accrued interest.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "AToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Pool supply/withdraw/borrow documentation and tokenization balanceOf and variable-debt sections. Existing collateral-health restrictions are preserved.",
          "Recomputed 1000 claims minus 900 borrowed = 100 idle units in the simplified accounting; a 300-unit supplier claim exceeds that available inventory. The paragraph explicitly excludes other accounting effects and makes no universal instant-redemption promise."
        ]
      }
    },
    {
      "id": "defi-lending-pools-fact-withdrawal",
      "articleSlug": "defi-lending-pools",
      "statement": "Withdrawal: Available liquidity and collateral health constrain withdrawals.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened Pool supply/withdraw/borrow documentation and tokenization balanceOf and variable-debt sections. Existing collateral-health restrictions are preserved.",
          "Recomputed 1000 claims minus 900 borrowed = 100 idle units in the simplified accounting; a 300-unit supplier claim exceeds that available inventory. The paragraph explicitly excludes other accounting effects and makes no universal instant-redemption promise."
        ]
      }
    },
    {
      "id": "utilization-and-borrowing-rates-quick-answer",
      "articleSlug": "utilization-and-borrowing-rates",
      "statement": "Utilization measures how much of a lending reserve’s usable funding is borrowed under its accounting rules. Aave V3 interest strategies use utilization-dependent rate curves with a steeper segment beyond a configured point. Supply interest is different from the borrower’s rate because only borrowed funds earn that interest.",
      "sourceIds": [
        "source-e0d5e3ec6dc3c5f1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e0d5e3ec6dc3c5f1",
          "locator": "Interest Rate Strategy; calculateInterestRates"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave’s two-slope strategy, usage ratios and reserve-factor parameters, debt accrual and separate rewards configuration.",
          "Recomputed60%,70% simplified utilization and10%*60%*(1-10%)=5.4% simplified supply interest. Protocol-specific accounting, unbacked/virtual balances and incentive exclusions remain explicit."
        ]
      }
    },
    {
      "id": "utilization-and-borrowing-rates-fact-curve",
      "articleSlug": "utilization-and-borrowing-rates",
      "statement": "Curve: The cited Aave V3 strategy uses slopes around an optimal usage ratio.",
      "sourceIds": [
        "source-e0d5e3ec6dc3c5f1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e0d5e3ec6dc3c5f1",
          "locator": "Interest Rate Strategy; calculateInterestRates"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave’s two-slope strategy, usage ratios and reserve-factor parameters, debt accrual and separate rewards configuration.",
          "Recomputed60%,70% simplified utilization and10%*60%*(1-10%)=5.4% simplified supply interest. Protocol-specific accounting, unbacked/virtual balances and incentive exclusions remain explicit."
        ]
      }
    },
    {
      "id": "utilization-and-borrowing-rates-fact-debt-growth",
      "articleSlug": "utilization-and-borrowing-rates",
      "statement": "Debt growth: Variable-debt balances accrue interest over time.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "AToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave’s two-slope strategy, usage ratios and reserve-factor parameters, debt accrual and separate rewards configuration.",
          "Recomputed60%,70% simplified utilization and10%*60%*(1-10%)=5.4% simplified supply interest. Protocol-specific accounting, unbacked/virtual balances and incentive exclusions remain explicit."
        ]
      }
    },
    {
      "id": "utilization-and-borrowing-rates-fact-extra-rewards",
      "articleSlug": "utilization-and-borrowing-rates",
      "statement": "Extra rewards: Token incentive emissions are separate from borrowing interest.",
      "sourceIds": [
        "source-fd03592de5076eb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fd03592de5076eb9",
          "locator": "RewardsController; configureAssets; claimRewards"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave’s two-slope strategy, usage ratios and reserve-factor parameters, debt accrual and separate rewards configuration.",
          "Recomputed60%,70% simplified utilization and10%*60%*(1-10%)=5.4% simplified supply interest. Protocol-specific accounting, unbacked/virtual balances and incentive exclusions remain explicit."
        ]
      }
    },
    {
      "id": "collateral-and-health-factors-quick-answer",
      "articleSlug": "collateral-and-health-factors",
      "statement": "Collateral secures a loan under a market’s rules. Aave’s health factor divides threshold-weighted collateral value by debt value; below one, a position is eligible for liquidation. The liquidation threshold is distinct from the initial borrowing limit, and neither a high value nor price correlation guarantees future solvency.",
      "sourceIds": [
        "source-74f79d59daaab5f0",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor; Liquidation Process"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Corrected a continuity error introduced by the pass: the replaced first example used 1000 collateral/600 debt while the following existing paragraph referred to collateral falling to 1200 with 1000 debt.",
          "Changed only pass 28 to begin 2000 collateral, 80% threshold and 1000 debt (HF 1.6), with boundary 1250 (HF 1). The unchanged next paragraph then consistently reaches 1200*.8/1000=.96.",
          "Reopened Aave Health Factor & Liquidations, reserve parameters and Pool conditions. The calculation distinguishes equality at 1 from below-one eligibility, initial LTV from threshold, and variable interest/market risk from a safety guarantee."
        ]
      }
    },
    {
      "id": "collateral-and-health-factors-fact-health-factor",
      "articleSlug": "collateral-and-health-factors",
      "statement": "Health factor: Threshold-weighted collateral value divided by debt value.",
      "sourceIds": [
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor; Liquidation Process"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Corrected a continuity error introduced by the pass: the replaced first example used 1000 collateral/600 debt while the following existing paragraph referred to collateral falling to 1200 with 1000 debt.",
          "Changed only pass 28 to begin 2000 collateral, 80% threshold and 1000 debt (HF 1.6), with boundary 1250 (HF 1). The unchanged next paragraph then consistently reaches 1200*.8/1000=.96.",
          "Reopened Aave Health Factor & Liquidations, reserve parameters and Pool conditions. The calculation distinguishes equality at 1 from below-one eligibility, initial LTV from threshold, and variable interest/market risk from a safety guarantee."
        ]
      }
    },
    {
      "id": "collateral-and-health-factors-fact-eligibility",
      "articleSlug": "collateral-and-health-factors",
      "statement": "Eligibility: A health factor below one enables liquidation under the cited model.",
      "sourceIds": [
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor; Liquidation Process"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Corrected a continuity error introduced by the pass: the replaced first example used 1000 collateral/600 debt while the following existing paragraph referred to collateral falling to 1200 with 1000 debt.",
          "Changed only pass 28 to begin 2000 collateral, 80% threshold and 1000 debt (HF 1.6), with boundary 1250 (HF 1). The unchanged next paragraph then consistently reaches 1200*.8/1000=.96.",
          "Reopened Aave Health Factor & Liquidations, reserve parameters and Pool conditions. The calculation distinguishes equality at 1 from below-one eligibility, initial LTV from threshold, and variable interest/market risk from a safety guarantee."
        ]
      }
    },
    {
      "id": "collateral-and-health-factors-fact-borrow-limit",
      "articleSlug": "collateral-and-health-factors",
      "statement": "Borrow limit: Borrow validation also uses loan-to-value and other market constraints.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Corrected a continuity error introduced by the pass: the replaced first example used 1000 collateral/600 debt while the following existing paragraph referred to collateral falling to 1200 with 1000 debt.",
          "Changed only pass 28 to begin 2000 collateral, 80% threshold and 1000 debt (HF 1.6), with boundary 1250 (HF 1). The unchanged next paragraph then consistently reaches 1200*.8/1000=.96.",
          "Reopened Aave Health Factor & Liquidations, reserve parameters and Pool conditions. The calculation distinguishes equality at 1 from below-one eligibility, initial LTV from threshold, and variable interest/market risk from a safety guarantee."
        ]
      }
    },
    {
      "id": "defi-liquidations-quick-answer",
      "articleSlug": "defi-liquidations",
      "statement": "Liquidation lets an eligible caller repay eligible debt from an unhealthy loan in exchange for collateral under the market’s rules. In Aave-style lending, a health factor below one triggers eligibility. The allowed repayment amount, incentive and remaining position depend on the asset, market and protocol version.",
      "sourceIds": [
        "source-b35859a766315ce4",
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        },
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor; Liquidation Process"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave liquidationCall and current Health Factor & Liquidations help, plus Ethereum MEV liquidations. Recomputed hypothetical100 debt repayment and105 collateral at5% bonus.",
          "Found a documentation conflict: Pool page describes fixed0.5 close factor, while current help describes condition-dependent50%/100%. Article intentionally asserts neither as universal. Corrected QA from repay part to repay eligible debt and retained market/version qualifiers."
        ]
      }
    },
    {
      "id": "defi-liquidations-fact-trigger",
      "articleSlug": "defi-liquidations",
      "statement": "Trigger: Eligibility uses the market’s collateral and debt valuation.",
      "sourceIds": [
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor; Liquidation Process"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave liquidationCall and current Health Factor & Liquidations help, plus Ethereum MEV liquidations. Recomputed hypothetical100 debt repayment and105 collateral at5% bonus.",
          "Found a documentation conflict: Pool page describes fixed0.5 close factor, while current help describes condition-dependent50%/100%. Article intentionally asserts neither as universal. Corrected QA from repay part to repay eligible debt and retained market/version qualifiers."
        ]
      }
    },
    {
      "id": "defi-liquidations-fact-settlement",
      "articleSlug": "defi-liquidations",
      "statement": "Settlement: A liquidation caller supplies debt tokens’ underlying asset and receives collateral.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; repay; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave liquidationCall and current Health Factor & Liquidations help, plus Ethereum MEV liquidations. Recomputed hypothetical100 debt repayment and105 collateral at5% bonus.",
          "Found a documentation conflict: Pool page describes fixed0.5 close factor, while current help describes condition-dependent50%/100%. Article intentionally asserts neither as universal. Corrected QA from repay part to repay eligible debt and retained market/version qualifiers."
        ]
      }
    },
    {
      "id": "defi-liquidations-fact-competition",
      "articleSlug": "defi-liquidations",
      "statement": "Competition: Liquidations can create MEV opportunities.",
      "sourceIds": [
        "source-5bbc1a71e6d876eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bbc1a71e6d876eb",
          "locator": "MEV extraction; Examples of MEV"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave liquidationCall and current Health Factor & Liquidations help, plus Ethereum MEV liquidations. Recomputed hypothetical100 debt repayment and105 collateral at5% bonus.",
          "Found a documentation conflict: Pool page describes fixed0.5 close factor, while current help describes condition-dependent50%/100%. Article intentionally asserts neither as universal. Corrected QA from repay part to repay eligible debt and retained market/version qualifiers."
        ]
      }
    },
    {
      "id": "flash-loans-quick-answer",
      "articleSlug": "flash-loans",
      "statement": "A pure flash loan transfers assets to a contract on the condition that principal and the applicable fee return before the same transaction finishes. If the condition fails, the transaction reverts. Some Aave V3 flash-loan modes can instead open authorized debt, which introduces collateral or credit-delegation requirements.",
      "sourceIds": [
        "source-f64306b50a0ea831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f64306b50a0ea831",
          "locator": "Overview; Execution Flow; Flash loan fee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave V3 Execution Flow, fee and multi-asset flashLoan versus flashLoanSimple debt modes. Pure repayment and authorized lasting debt are kept separate.",
          "Recomputed hypothetical0.05% of1,000 =0.5 fee, due1,000.5; it is not presented as a current deployed parameter. Added EIP-140 source for revert/gas behavior."
        ]
      }
    },
    {
      "id": "flash-loans-fact-duration",
      "articleSlug": "flash-loans",
      "statement": "Duration: Pure flash borrowing settles within a single transaction.",
      "sourceIds": [
        "source-f64306b50a0ea831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f64306b50a0ea831",
          "locator": "Overview; Execution Flow; Flash loan fee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave V3 Execution Flow, fee and multi-asset flashLoan versus flashLoanSimple debt modes. Pure repayment and authorized lasting debt are kept separate.",
          "Recomputed hypothetical0.05% of1,000 =0.5 fee, due1,000.5; it is not presented as a current deployed parameter. Added EIP-140 source for revert/gas behavior."
        ]
      }
    },
    {
      "id": "flash-loans-fact-failure",
      "articleSlug": "flash-loans",
      "statement": "Failure: Unmet repayment conditions revert the transaction.",
      "sourceIds": [
        "source-f64306b50a0ea831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f64306b50a0ea831",
          "locator": "Overview; Execution Flow; Flash loan fee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave V3 Execution Flow, fee and multi-asset flashLoan versus flashLoanSimple debt modes. Pure repayment and authorized lasting debt are kept separate.",
          "Recomputed hypothetical0.05% of1,000 =0.5 fee, due1,000.5; it is not presented as a current deployed parameter. Added EIP-140 source for revert/gas behavior."
        ]
      }
    },
    {
      "id": "flash-loans-fact-variants",
      "articleSlug": "flash-loans",
      "statement": "Variants: Aave V3 distinguishes flashLoanSimple from multi-asset flashLoan options.",
      "sourceIds": [
        "source-f64306b50a0ea831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f64306b50a0ea831",
          "locator": "Overview; Execution Flow; Flash loan fee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Aave V3 Execution Flow, fee and multi-asset flashLoan versus flashLoanSimple debt modes. Pure repayment and authorized lasting debt are kept separate.",
          "Recomputed hypothetical0.05% of1,000 =0.5 fee, due1,000.5; it is not presented as a current deployed parameter. Added EIP-140 source for revert/gas behavior."
        ]
      }
    },
    {
      "id": "liquid-staking-quick-answer",
      "articleSlug": "liquid-staking",
      "statement": "Liquid staking combines a staking arrangement with a transferable token representing an interest in it. The token’s accounting, market price and redemption path are separate properties. For example, Lido’s stETH uses share-based rebasing, while wstETH wraps those shares into a balance that does not rebase.",
      "sourceIds": [
        "source-ed9152cad5abfcb8",
        "source-0c2e10353d5983bd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed9152cad5abfcb8",
          "locator": "Deposit; Redeem; Rebase"
        },
        {
          "sourceId": "source-0c2e10353d5983bd",
          "locator": "What is wrapped stETH (wstETH)?; wrap; unwrap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read current Lido core share/rebase accounting, wstETH wrapper and WithdrawalQueue request/finalization/claim. The text does not assert that current Lido consists only of the old core pool or that conversion always rises.",
          "Changed fixed token balance to does not rebase: transfers/mint/burn can still change balances. Secondary-market liquidity, protocol withdrawal and market price remain distinct. Added Ethereum staking prerequisite."
        ]
      }
    },
    {
      "id": "liquid-staking-fact-steth-accounting",
      "articleSlug": "liquid-staking",
      "statement": "stETH accounting: Balances reflect shares of the accounted pooled ether.",
      "sourceIds": [
        "source-ed9152cad5abfcb8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed9152cad5abfcb8",
          "locator": "Deposit; Redeem; Rebase"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read current Lido core share/rebase accounting, wstETH wrapper and WithdrawalQueue request/finalization/claim. The text does not assert that current Lido consists only of the old core pool or that conversion always rises.",
          "Changed fixed token balance to does not rebase: transfers/mint/burn can still change balances. Secondary-market liquidity, protocol withdrawal and market price remain distinct. Added Ethereum staking prerequisite."
        ]
      }
    },
    {
      "id": "liquid-staking-fact-wsteth-accounting",
      "articleSlug": "liquid-staking",
      "statement": "wstETH accounting: The token balance does not rebase; its stETH conversion can change.",
      "sourceIds": [
        "source-0c2e10353d5983bd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0c2e10353d5983bd",
          "locator": "What is wrapped stETH (wstETH)?; wrap; unwrap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read current Lido core share/rebase accounting, wstETH wrapper and WithdrawalQueue request/finalization/claim. The text does not assert that current Lido consists only of the old core pool or that conversion always rises.",
          "Changed fixed token balance to does not rebase: transfers/mint/burn can still change balances. Secondary-market liquidity, protocol withdrawal and market price remain distinct. Added Ethereum staking prerequisite."
        ]
      }
    },
    {
      "id": "liquid-staking-fact-exit",
      "articleSlug": "liquid-staking",
      "statement": "Exit: Protocol withdrawal requests and secondary-market sales are different paths.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a",
        "source-ed9152cad5abfcb8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        },
        {
          "sourceId": "source-ed9152cad5abfcb8",
          "locator": "Deposit; Redeem; Rebase"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read current Lido core share/rebase accounting, wstETH wrapper and WithdrawalQueue request/finalization/claim. The text does not assert that current Lido consists only of the old core pool or that conversion always rises.",
          "Changed fixed token balance to does not rebase: transfers/mint/burn can still change balances. Secondary-market liquidity, protocol withdrawal and market price remain distinct. Added Ethereum staking prerequisite."
        ]
      }
    },
    {
      "id": "wrapped-assets-quick-answer",
      "articleSlug": "wrapped-assets",
      "statement": "A wrapped asset represents another asset through a token interface or backing arrangement. A simple ETH wrapper holds ETH and issues an ERC-20 balance; a cross-chain representation may depend on a bridge or custodian. The word wrapped does not guarantee a shared redemption mechanism or a one-to-one market price.",
      "sourceIds": [
        "source-012a4cc1dd651125",
        "source-707654935f40e45a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-012a4cc1dd651125",
          "locator": "deposit; withdraw; balanceOf"
        },
        {
          "sourceId": "source-707654935f40e45a",
          "locator": "How do bridges work?; Bridge types; Risk with bridges"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the pinned WETH9 test/reference implementation deposit/withdraw, ERC-20 methods, wstETH wrap/unwrap and developer bridge models. The reference code is not misrepresented as proof of a particular live deployment.",
          "The receipt-wrapper example correctly ends with stETH, leaving ETH redemption separate. The QA does not generalize WETH mechanics, custody or one-to-one market pricing to every wrapped asset."
        ]
      }
    },
    {
      "id": "wrapped-assets-fact-weth-example",
      "articleSlug": "wrapped-assets",
      "statement": "WETH example: The reference wrapper credits deposits and returns ETH on withdrawal.",
      "sourceIds": [
        "source-012a4cc1dd651125"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-012a4cc1dd651125",
          "locator": "deposit; withdraw; balanceOf"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the pinned WETH9 test/reference implementation deposit/withdraw, ERC-20 methods, wstETH wrap/unwrap and developer bridge models. The reference code is not misrepresented as proof of a particular live deployment.",
          "The receipt-wrapper example correctly ends with stETH, leaving ETH redemption separate. The QA does not generalize WETH mechanics, custody or one-to-one market pricing to every wrapped asset."
        ]
      }
    },
    {
      "id": "wrapped-assets-fact-interface",
      "articleSlug": "wrapped-assets",
      "statement": "Interface: An ERC-20 balance supports a common token API.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the pinned WETH9 test/reference implementation deposit/withdraw, ERC-20 methods, wstETH wrap/unwrap and developer bridge models. The reference code is not misrepresented as proof of a particular live deployment.",
          "The receipt-wrapper example correctly ends with stETH, leaving ETH redemption separate. The QA does not generalize WETH mechanics, custody or one-to-one market pricing to every wrapped asset."
        ]
      }
    },
    {
      "id": "wrapped-assets-fact-receipt-wrapper",
      "articleSlug": "wrapped-assets",
      "statement": "Receipt wrapper: wstETH represents stETH through a changing conversion rate.",
      "sourceIds": [
        "source-0c2e10353d5983bd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0c2e10353d5983bd",
          "locator": "What is wrapped stETH (wstETH)?; wrap; unwrap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the pinned WETH9 test/reference implementation deposit/withdraw, ERC-20 methods, wstETH wrap/unwrap and developer bridge models. The reference code is not misrepresented as proof of a particular live deployment.",
          "The receipt-wrapper example correctly ends with stETH, leaving ETH redemption separate. The QA does not generalize WETH mechanics, custody or one-to-one market pricing to every wrapped asset."
        ]
      }
    },
    {
      "id": "blockchain-bridges-quick-answer",
      "articleSlug": "blockchain-bridges",
      "statement": "A blockchain bridge connects activity on separate chains by verifying or attesting to events and authorizing a corresponding action elsewhere. Some lock assets and mint a representation; others burn and mint or deliver existing liquidity. Security depends on the specific verification, custody and upgrade design.",
      "sourceIds": [
        "source-707654935f40e45a",
        "source-afe3d8fc39833a5a",
        "source-53b00db0ed8a534c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-707654935f40e45a",
          "locator": "How do bridges work?; Bridge types; Risk with bridges"
        },
        {
          "sourceId": "source-afe3d8fc39833a5a",
          "locator": "MessageDispatcher; MessageExecutor; Security Considerations"
        },
        {
          "sourceId": "source-53b00db0ed8a534c",
          "locator": "Competitive Relayer Network; Settlement Layer; How Settlement Flows"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Replaced mismatched introductory-page locator with the developer bridge reference, and independently read ERC-5164 message uniqueness/execution/security requirements, Across destination capital/settlement and Circle CCTP native burn-and-mint.",
          "Added source support for replay protection, separately reimbursed liquidity delivery and native-token comparison. ERC-5164 is labeled Last Call, not universal implementation proof. Across example is dated to actual check; no universal bridge duration/security guarantee is asserted.",
          "Related links reach native/bridged stablecoins and Ethereum layer2; the existing rollup tool distinguishes local inclusion from settlement and withdrawal milestones."
        ]
      }
    },
    {
      "id": "blockchain-bridges-fact-separate-states",
      "articleSlug": "blockchain-bridges",
      "statement": "Separate states: Each chain has its own transaction history and settlement conditions.",
      "sourceIds": [
        "source-707654935f40e45a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-707654935f40e45a",
          "locator": "How do bridges work?; Bridge types; Risk with bridges"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Replaced mismatched introductory-page locator with the developer bridge reference, and independently read ERC-5164 message uniqueness/execution/security requirements, Across destination capital/settlement and Circle CCTP native burn-and-mint.",
          "Added source support for replay protection, separately reimbursed liquidity delivery and native-token comparison. ERC-5164 is labeled Last Call, not universal implementation proof. Across example is dated to actual check; no universal bridge duration/security guarantee is asserted.",
          "Related links reach native/bridged stablecoins and Ethereum layer2; the existing rollup tool distinguishes local inclusion from settlement and withdrawal milestones."
        ]
      }
    },
    {
      "id": "blockchain-bridges-fact-models",
      "articleSlug": "blockchain-bridges",
      "statement": "Models: Lock/mint, burn/mint and liquidity delivery are different mechanisms.",
      "sourceIds": [
        "source-707654935f40e45a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-707654935f40e45a",
          "locator": "How do bridges work?; Bridge types; Risk with bridges"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Replaced mismatched introductory-page locator with the developer bridge reference, and independently read ERC-5164 message uniqueness/execution/security requirements, Across destination capital/settlement and Circle CCTP native burn-and-mint.",
          "Added source support for replay protection, separately reimbursed liquidity delivery and native-token comparison. ERC-5164 is labeled Last Call, not universal implementation proof. Across example is dated to actual check; no universal bridge duration/security guarantee is asserted.",
          "Related links reach native/bridged stablecoins and Ethereum layer2; the existing rollup tool distinguishes local inclusion from settlement and withdrawal milestones."
        ]
      }
    },
    {
      "id": "blockchain-bridges-fact-control",
      "articleSlug": "blockchain-bridges",
      "statement": "Control: Privileged roles can affect contract operations where implemented.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Replaced mismatched introductory-page locator with the developer bridge reference, and independently read ERC-5164 message uniqueness/execution/security requirements, Across destination capital/settlement and Circle CCTP native burn-and-mint.",
          "Added source support for replay protection, separately reimbursed liquidity delivery and native-token comparison. ERC-5164 is labeled Last Call, not universal implementation proof. Across example is dated to actual check; no universal bridge duration/security guarantee is asserted.",
          "Related links reach native/bridged stablecoins and Ethereum layer2; the existing rollup tool distinguishes local inclusion from settlement and withdrawal milestones."
        ]
      }
    },
    {
      "id": "yield-vaults-quick-answer",
      "articleSlug": "yield-vaults",
      "statement": "A yield vault pools deposited assets into a strategy and records users’ claims as shares. ERC-4626 standardizes a common asset-and-share interface, not the strategy’s safety or return. A share’s conversion value, realizable withdrawal and market price can differ, particularly when limits, fees or losses apply.",
      "sourceIds": [
        "source-0500eb916f66cd39",
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Custom behavior"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ERC-4626 convert/preview/max operation semantics and OpenZeppelin donation/inflation/rounding discussion. Previews do not override withdrawal limits and interface conformance does not guarantee strategy safety.",
          "Recomputed1,200assets/1,000shares=1.2,120-asset deposit produces100 shares under the stated simplified assumptions, resulting1,320/1,100=1.2."
        ]
      }
    },
    {
      "id": "yield-vaults-fact-interface",
      "articleSlug": "yield-vaults",
      "statement": "Interface: ERC-4626 defines assets, shares, deposits and withdrawals.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ERC-4626 convert/preview/max operation semantics and OpenZeppelin donation/inflation/rounding discussion. Previews do not override withdrawal limits and interface conformance does not guarantee strategy safety.",
          "Recomputed1,200assets/1,000shares=1.2,120-asset deposit produces100 shares under the stated simplified assumptions, resulting1,320/1,100=1.2."
        ]
      }
    },
    {
      "id": "yield-vaults-fact-limits",
      "articleSlug": "yield-vaults",
      "statement": "Limits: Maximum operations and previews have distinct semantics.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ERC-4626 convert/preview/max operation semantics and OpenZeppelin donation/inflation/rounding discussion. Previews do not override withdrawal limits and interface conformance does not guarantee strategy safety.",
          "Recomputed1,200assets/1,000shares=1.2,120-asset deposit produces100 shares under the stated simplified assumptions, resulting1,320/1,100=1.2."
        ]
      }
    },
    {
      "id": "yield-vaults-fact-rounding",
      "articleSlug": "yield-vaults",
      "statement": "Rounding: Share conversions and donation effects need careful implementation.",
      "sourceIds": [
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Custom behavior"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ERC-4626 convert/preview/max operation semantics and OpenZeppelin donation/inflation/rounding discussion. Previews do not override withdrawal limits and interface conformance does not guarantee strategy safety.",
          "Recomputed1,200assets/1,000shares=1.2,120-asset deposit produces100 shares under the stated simplified assumptions, resulting1,320/1,100=1.2."
        ]
      }
    },
    {
      "id": "incentives-and-earned-fees-quick-answer",
      "articleSlug": "incentives-and-earned-fees",
      "statement": "Trading fees and borrowing interest arise from people using a service. Token incentives are a separate distribution that may subsidize participation. A displayed yield can combine them, but their duration, units and risks differ; neither fee income nor reward emissions alone establishes a position’s total profit.",
      "sourceIds": [
        "source-5651ae58cdcb25c2",
        "source-e0d5e3ec6dc3c5f1",
        "source-fd03592de5076eb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-e0d5e3ec6dc3c5f1",
          "locator": "Interest Rate Strategy; calculateInterestRates"
        },
        {
          "sourceId": "source-fd03592de5076eb9",
          "locator": "RewardsController; configureAssets; claimRewards"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared v2 retained swap fees, Aave reserve-dependent interest and incentives configureAssets/emissions/claimRewards. Distinct reward units and emission duration are supported.",
          "The10 underlying-token plus20 reward-token illustration correctly avoids adding unlike units or claiming those distributions prove profit or protocol revenue."
        ]
      }
    },
    {
      "id": "incentives-and-earned-fees-fact-trading-fees",
      "articleSlug": "incentives-and-earned-fees",
      "statement": "Trading fees: The cited v2 pool retains swap fees in its balances.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared v2 retained swap fees, Aave reserve-dependent interest and incentives configureAssets/emissions/claimRewards. Distinct reward units and emission duration are supported.",
          "The10 underlying-token plus20 reward-token illustration correctly avoids adding unlike units or claiming those distributions prove profit or protocol revenue."
        ]
      }
    },
    {
      "id": "incentives-and-earned-fees-fact-borrow-interest",
      "articleSlug": "incentives-and-earned-fees",
      "statement": "Borrow interest: Lending income depends on borrowed amounts and rates.",
      "sourceIds": [
        "source-e0d5e3ec6dc3c5f1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e0d5e3ec6dc3c5f1",
          "locator": "Interest Rate Strategy; calculateInterestRates"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared v2 retained swap fees, Aave reserve-dependent interest and incentives configureAssets/emissions/claimRewards. Distinct reward units and emission duration are supported.",
          "The10 underlying-token plus20 reward-token illustration correctly avoids adding unlike units or claiming those distributions prove profit or protocol revenue."
        ]
      }
    },
    {
      "id": "incentives-and-earned-fees-fact-rewards",
      "articleSlug": "incentives-and-earned-fees",
      "statement": "Rewards: Aave V3 incentive contracts configure distributions separately.",
      "sourceIds": [
        "source-fd03592de5076eb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fd03592de5076eb9",
          "locator": "RewardsController; configureAssets; claimRewards"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Compared v2 retained swap fees, Aave reserve-dependent interest and incentives configureAssets/emissions/claimRewards. Distinct reward units and emission duration are supported.",
          "The10 underlying-token plus20 reward-token illustration correctly avoids adding unlike units or claiming those distributions prove profit or protocol revenue."
        ]
      }
    },
    {
      "id": "governance-tokens-quick-answer",
      "articleSlug": "governance-tokens",
      "statement": "A governance token can assign voting power under a protocol’s decision rules. The actual power depends on delegation, snapshots, quorum, proposal thresholds and which actions governance controls. Holding a token does not by itself establish a claim on revenue, a veto or control over every part of an application.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin governance token/delegation/snapshot/quorum and timelock flow, ERC-20 interface and access roles. Actual powers must be assigned; token ownership alone does not establish revenue rights.",
          "No jurisdiction-wide legal ownership conclusion or claim that every governance token uses the same settings is made."
        ]
      }
    },
    {
      "id": "governance-tokens-fact-delegation",
      "articleSlug": "governance-tokens",
      "statement": "Delegation: A voting implementation can require delegation to activate voting units.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin governance token/delegation/snapshot/quorum and timelock flow, ERC-20 interface and access roles. Actual powers must be assigned; token ownership alone does not establish revenue rights.",
          "No jurisdiction-wide legal ownership conclusion or claim that every governance token uses the same settings is made."
        ]
      }
    },
    {
      "id": "governance-tokens-fact-snapshot",
      "articleSlug": "governance-tokens",
      "statement": "Snapshot: Historical voting weight prevents a simple present-balance count from describing every vote.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin governance token/delegation/snapshot/quorum and timelock flow, ERC-20 interface and access roles. Actual powers must be assigned; token ownership alone does not establish revenue rights.",
          "No jurisdiction-wide legal ownership conclusion or claim that every governance token uses the same settings is made."
        ]
      }
    },
    {
      "id": "governance-tokens-fact-authority",
      "articleSlug": "governance-tokens",
      "statement": "Authority: Governance can only exercise powers assigned to its contracts or roles.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin governance token/delegation/snapshot/quorum and timelock flow, ERC-20 interface and access roles. Actual powers must be assigned; token ownership alone does not establish revenue rights.",
          "No jurisdiction-wide legal ownership conclusion or claim that every governance token uses the same settings is made."
        ]
      }
    },
    {
      "id": "decentralized-autonomous-organizations-quick-answer",
      "articleSlug": "decentralized-autonomous-organizations",
      "statement": "A decentralized autonomous organization, or DAO, coordinates a group using shared decision rules, often including blockchain voting and a treasury. Membership and execution vary: a vote can trigger contract actions directly or guide a separate signer group. The label alone does not establish who ultimately controls funds.",
      "sourceIds": [
        "source-89c144007e4dcbca",
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-89c144007e4dcbca",
          "locator": "How do DAOs work?; DAO membership; How do DAOs govern?"
        },
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum DAO membership/governance and OpenZeppelin Governor, timelock and owner/role mechanics. Token voting, treasury control and actual execution are distinct.",
          "The article correctly allows separate signers and delays rather than treating a passed vote as automatic execution in every organization."
        ]
      }
    },
    {
      "id": "decentralized-autonomous-organizations-fact-membership",
      "articleSlug": "decentralized-autonomous-organizations",
      "statement": "Membership: Organizations can use different membership and voting models.",
      "sourceIds": [
        "source-89c144007e4dcbca"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-89c144007e4dcbca",
          "locator": "How do DAOs work?; DAO membership; How do DAOs govern?"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum DAO membership/governance and OpenZeppelin Governor, timelock and owner/role mechanics. Token voting, treasury control and actual execution are distinct.",
          "The article correctly allows separate signers and delays rather than treating a passed vote as automatic execution in every organization."
        ]
      }
    },
    {
      "id": "decentralized-autonomous-organizations-fact-execution",
      "articleSlug": "decentralized-autonomous-organizations",
      "statement": "Execution: A Governor and timelock can execute approved contract calls.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum DAO membership/governance and OpenZeppelin Governor, timelock and owner/role mechanics. Token voting, treasury control and actual execution are distinct.",
          "The article correctly allows separate signers and delays rather than treating a passed vote as automatic execution in every organization."
        ]
      }
    },
    {
      "id": "decentralized-autonomous-organizations-fact-control",
      "articleSlug": "decentralized-autonomous-organizations",
      "statement": "Control: Actual ownership and roles determine who can move funds.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum DAO membership/governance and OpenZeppelin Governor, timelock and owner/role mechanics. Token voting, treasury control and actual execution are distinct.",
          "The article correctly allows separate signers and delays rather than treating a passed vote as automatic execution in every organization."
        ]
      }
    },
    {
      "id": "protocol-upgrades-and-admin-powers-quick-answer",
      "articleSlug": "protocol-upgrades-and-admin-powers",
      "statement": "An application’s rules can change when its design grants an administrator or governance system upgrade or configuration powers. A proxy can preserve a contract address while changing the implementation it executes. Timelocks and multiple signers constrain some actions, but their exact permissions and bypasses determine the protection.",
      "sourceIds": [
        "source-16bb921e662a5173",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin transparent/UUPS proxy authorization and access-control/timelock operation. Same address with different delegated implementation is supported; delay protects only constrained paths.",
          "Source verification, upgrade permissions and configuration authority remain separate. The QA does not turn verified code into a promise of immutability."
        ]
      }
    },
    {
      "id": "protocol-upgrades-and-admin-powers-fact-proxy",
      "articleSlug": "protocol-upgrades-and-admin-powers",
      "statement": "Proxy: Calls can delegate to an implementation chosen by upgrade logic.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin transparent/UUPS proxy authorization and access-control/timelock operation. Same address with different delegated implementation is supported; delay protects only constrained paths.",
          "Source verification, upgrade permissions and configuration authority remain separate. The QA does not turn verified code into a promise of immutability."
        ]
      }
    },
    {
      "id": "protocol-upgrades-and-admin-powers-fact-roles",
      "articleSlug": "protocol-upgrades-and-admin-powers",
      "statement": "Roles: Different addresses can hold different privileged permissions.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin transparent/UUPS proxy authorization and access-control/timelock operation. Same address with different delegated implementation is supported; delay protects only constrained paths.",
          "Source verification, upgrade permissions and configuration authority remain separate. The QA does not turn verified code into a promise of immutability."
        ]
      }
    },
    {
      "id": "protocol-upgrades-and-admin-powers-fact-timelock",
      "articleSlug": "protocol-upgrades-and-admin-powers",
      "statement": "Timelock: Authorized operations can be scheduled for delayed execution.",
      "sourceIds": [
        "source-56dd3f4220f6fea2",
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership and Ownable; Role-Based Access Control; Delayed operation"
        },
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin transparent/UUPS proxy authorization and access-control/timelock operation. Same address with different delegated implementation is supported; delay protects only constrained paths.",
          "Source verification, upgrade permissions and configuration authority remain separate. The QA does not turn verified code into a promise of immutability."
        ]
      }
    },
    {
      "id": "smart-contract-audits-quick-answer",
      "articleSlug": "smart-contract-audits",
      "statement": "A smart-contract audit is a structured review of specified code and assumptions at a particular revision. Its useful evidence is the scope, methods, findings and fix review. An audit does not prove the deployed system has no bugs, and a report for one version does not automatically cover later upgrades or integrations.",
      "sourceIds": [
        "source-3665c27c1b3e405a",
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3665c27c1b3e405a",
          "locator": "Scope; Security Model and Trust Assumptions; Conclusion"
        },
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin’s August27,2024 Uniswap v4 report, exact scope commitd5d4957, trust assumptions, severity/resolution states and conclusion. Read proxy upgrade documentation for later-change scope.",
          "The article preserves report/date/revision boundaries and states that an audit is not proof against exploitation or coverage of every future integration."
        ]
      }
    },
    {
      "id": "smart-contract-audits-fact-revision",
      "articleSlug": "smart-contract-audits",
      "statement": "Revision: OpenZeppelin’s cited v4 audit names reviewed commit d5d4957.",
      "sourceIds": [
        "source-3665c27c1b3e405a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3665c27c1b3e405a",
          "locator": "Scope; Security Model and Trust Assumptions; Conclusion"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin’s August27,2024 Uniswap v4 report, exact scope commitd5d4957, trust assumptions, severity/resolution states and conclusion. Read proxy upgrade documentation for later-change scope.",
          "The article preserves report/date/revision boundaries and states that an audit is not proof against exploitation or coverage of every future integration."
        ]
      }
    },
    {
      "id": "smart-contract-audits-fact-findings",
      "articleSlug": "smart-contract-audits",
      "statement": "Findings: Reports distinguish severity and resolution state.",
      "sourceIds": [
        "source-3665c27c1b3e405a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3665c27c1b3e405a",
          "locator": "Scope; Security Model and Trust Assumptions; Conclusion"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin’s August27,2024 Uniswap v4 report, exact scope commitd5d4957, trust assumptions, severity/resolution states and conclusion. Read proxy upgrade documentation for later-change scope.",
          "The article preserves report/date/revision boundaries and states that an audit is not proof against exploitation or coverage of every future integration."
        ]
      }
    },
    {
      "id": "smart-contract-audits-fact-later-changes",
      "articleSlug": "smart-contract-audits",
      "statement": "Later changes: Upgradeable implementations can change after a review.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read OpenZeppelin’s August27,2024 Uniswap v4 report, exact scope commitd5d4957, trust assumptions, severity/resolution states and conclusion. Read proxy upgrade documentation for later-change scope.",
          "The article preserves report/date/revision boundaries and states that an audit is not proof against exploitation or coverage of every future integration."
        ]
      }
    },
    {
      "id": "documented-defi-exploits-quick-answer",
      "articleSlug": "documented-defi-exploits",
      "statement": "A useful exploit explanation identifies the failed rule, affected version and observed consequences. Euler’s March 2023 V1 incident involved a missing account-health check according to its team’s retrospective. Vyper’s 2023 advisory documents incorrectly allocated reentrancy locks in specific compiler versions, a different failure layer.",
      "sourceIds": [
        "source-3920ce4881048430",
        "source-73ae7cef2e3cab66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3920ce4881048430",
          "locator": "March 13th; WTF is the donateToReserves function?; The exploit in real-time"
        },
        {
          "sourceId": "source-73ae7cef2e3cab66",
          "locator": "Affected versions; Impact; Patches"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Euler’s January10,2024 V1 retrospective: missing donateToReserves health check and self-liquidation; preserved attribution to Euler’s account and distinction from laterV2.",
          "Read Vyper maintainer advisory GHSA-5824-cm3x-3c38, August5,2023: affected0.2.15/0.2.16/0.3.0, patched0.3.1, cross-function lock conditions. The entry does not claim every compiled contract was exploitable or a patch fixes all bugs.",
          "Historical loss valuations and later recoveries remain separate; no mixed-price dollar total or inferred attribution is fabricated."
        ]
      }
    },
    {
      "id": "documented-defi-exploits-fact-euler-scope",
      "articleSlug": "documented-defi-exploits",
      "statement": "Euler scope: The cited retrospective concerns the March 2023 Euler V1 incident.",
      "sourceIds": [
        "source-3920ce4881048430"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3920ce4881048430",
          "locator": "March 13th; WTF is the donateToReserves function?; The exploit in real-time"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Euler’s January10,2024 V1 retrospective: missing donateToReserves health check and self-liquidation; preserved attribution to Euler’s account and distinction from laterV2.",
          "Read Vyper maintainer advisory GHSA-5824-cm3x-3c38, August5,2023: affected0.2.15/0.2.16/0.3.0, patched0.3.1, cross-function lock conditions. The entry does not claim every compiled contract was exploitable or a patch fixes all bugs.",
          "Historical loss valuations and later recoveries remain separate; no mixed-price dollar total or inferred attribution is fabricated."
        ]
      }
    },
    {
      "id": "documented-defi-exploits-fact-vyper-scope",
      "articleSlug": "documented-defi-exploits",
      "statement": "Vyper scope: Affected compiler versions are 0.2.15, 0.2.16 and 0.3.0.",
      "sourceIds": [
        "source-73ae7cef2e3cab66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-73ae7cef2e3cab66",
          "locator": "Affected versions; Impact; Patches"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Euler’s January10,2024 V1 retrospective: missing donateToReserves health check and self-liquidation; preserved attribution to Euler’s account and distinction from laterV2.",
          "Read Vyper maintainer advisory GHSA-5824-cm3x-3c38, August5,2023: affected0.2.15/0.2.16/0.3.0, patched0.3.1, cross-function lock conditions. The entry does not claim every compiled contract was exploitable or a patch fixes all bugs.",
          "Historical loss valuations and later recoveries remain separate; no mixed-price dollar total or inferred attribution is fabricated."
        ]
      }
    },
    {
      "id": "documented-defi-exploits-fact-vyper-fix",
      "articleSlug": "documented-defi-exploits",
      "statement": "Vyper fix: The advisory identifies 0.3.1 as the patched version for this defect.",
      "sourceIds": [
        "source-73ae7cef2e3cab66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-73ae7cef2e3cab66",
          "locator": "Affected versions; Impact; Patches"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Euler’s January10,2024 V1 retrospective: missing donateToReserves health check and self-liquidation; preserved attribution to Euler’s account and distinction from laterV2.",
          "Read Vyper maintainer advisory GHSA-5824-cm3x-3c38, August5,2023: affected0.2.15/0.2.16/0.3.0, patched0.3.1, cross-function lock conditions. The entry does not claim every compiled contract was exploitable or a patch fixes all bugs.",
          "Historical loss valuations and later recoveries remain separate; no mixed-price dollar total or inferred attribution is fabricated."
        ]
      }
    },
    {
      "id": "defi-composability-quick-answer",
      "articleSlug": "defi-composability",
      "statement": "Composability lets one application use another application’s tokens, contracts or data as a building block. It can combine useful operations, but it also carries dependencies forward. A vault share used as collateral still depends on the vault, its assets, price interpretation and the lending market that accepts it.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-0500eb916f66cd39",
        "source-72dd33a43173ecf1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        },
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-72dd33a43173ecf1",
          "locator": "What is an oracle?; The oracle problem"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened ERC20, ERC4626, Aave Pool, Chainlink feed timestamp/suitability checks and OpenZeppelin proxy documentation. Read the composed-position paragraph together with the unchanged interface and persistent-dependency sections.",
          "Narrowed the changed paragraph from withdrawal queue to withdrawal limit, because ERC4626 directly describes limits and does not establish an asynchronous queue for every example vault.",
          "The hypothetical share-as-collateral example identifies accounting, oracle, lending-threshold and upgrade dependencies without asserting that every market accepts every share token."
        ]
      }
    },
    {
      "id": "defi-composability-fact-common-interface",
      "articleSlug": "defi-composability",
      "statement": "Common interface: ERC-20 enables token reuse across applications.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Methods: approve, allowance, transferFrom"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened ERC20, ERC4626, Aave Pool, Chainlink feed timestamp/suitability checks and OpenZeppelin proxy documentation. Read the composed-position paragraph together with the unchanged interface and persistent-dependency sections.",
          "Narrowed the changed paragraph from withdrawal queue to withdrawal limit, because ERC4626 directly describes limits and does not establish an asynchronous queue for every example vault.",
          "The hypothetical share-as-collateral example identifies accounting, oracle, lending-threshold and upgrade dependencies without asserting that every market accepts every share token."
        ]
      }
    },
    {
      "id": "defi-composability-fact-claim-layer",
      "articleSlug": "defi-composability",
      "statement": "Claim layer: ERC-4626 shares represent a claim on underlying vault assets.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened ERC20, ERC4626, Aave Pool, Chainlink feed timestamp/suitability checks and OpenZeppelin proxy documentation. Read the composed-position paragraph together with the unchanged interface and persistent-dependency sections.",
          "Narrowed the changed paragraph from withdrawal queue to withdrawal limit, because ERC4626 directly describes limits and does not establish an asynchronous queue for every example vault.",
          "The hypothetical share-as-collateral example identifies accounting, oracle, lending-threshold and upgrade dependencies without asserting that every market accepts every share token."
        ]
      }
    },
    {
      "id": "defi-composability-fact-changing-dependency",
      "articleSlug": "defi-composability",
      "statement": "Changing dependency: A dependency may itself have an upgradeable implementation.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:17:57.897Z",
        "reviewer": "automated independent verification — DeFi content-pass reviewer",
        "notes": [
          "Reopened ERC20, ERC4626, Aave Pool, Chainlink feed timestamp/suitability checks and OpenZeppelin proxy documentation. Read the composed-position paragraph together with the unchanged interface and persistent-dependency sections.",
          "Narrowed the changed paragraph from withdrawal queue to withdrawal limit, because ERC4626 directly describes limits and does not establish an asynchronous queue for every example vault.",
          "The hypothetical share-as-collateral example identifies accounting, oracle, lending-threshold and upgrade dependencies without asserting that every market accepts every share token."
        ]
      }
    },
    {
      "id": "replace-by-fee-quick-answer",
      "articleSlug": "replace-by-fee",
      "statement": "Replace-by-fee, or RBF, submits a conflicting Bitcoin transaction that spends at least one of the same inputs, usually with a higher fee. The wallet must be able to construct it, and relay depends on receiving nodes’ policies. It cannot undo a payment already confirmed in the accepted chain.",
      "sourceIds": [
        "source-67b7ee4bcd0e4a4f",
        "source-b7f4c1c78e78f2af",
        "source-1ec3dafaa6208350"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67b7ee4bcd0e4a4f",
          "locator": "Summary; Implementation Details"
        },
        {
          "sourceId": "source-b7f4c1c78e78f2af",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-1ec3dafaa6208350",
          "locator": "GetEntriesForConflicts; PaysForRBF"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-125 Summary/Implementation Details against v29.0 bumpfee and rbf.cpp PaysForRBF. Opt-in signaling is dated policy context, not a universal consensus requirement.",
          "Rephrased wallet construction versus receiving-node relay policy. Recomputed 700-sat and 1,400-sat example, including 700-sat difference."
        ]
      }
    },
    {
      "id": "replace-by-fee-fact-conflict",
      "articleSlug": "replace-by-fee",
      "statement": "Conflict: The replacement competes for an input already spent by the pending transaction.",
      "sourceIds": [
        "source-1ec3dafaa6208350"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1ec3dafaa6208350",
          "locator": "GetEntriesForConflicts; PaysForRBF"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-125 Summary/Implementation Details against v29.0 bumpfee and rbf.cpp PaysForRBF. Opt-in signaling is dated policy context, not a universal consensus requirement.",
          "Rephrased wallet construction versus receiving-node relay policy. Recomputed 700-sat and 1,400-sat example, including 700-sat difference."
        ]
      }
    },
    {
      "id": "replace-by-fee-fact-transaction-id",
      "articleSlug": "replace-by-fee",
      "statement": "Transaction ID: Changing the signed transaction normally creates a different transaction ID.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-125 Summary/Implementation Details against v29.0 bumpfee and rbf.cpp PaysForRBF. Opt-in signaling is dated policy context, not a universal consensus requirement.",
          "Rephrased wallet construction versus receiving-node relay policy. Recomputed 700-sat and 1,400-sat example, including 700-sat difference."
        ]
      }
    },
    {
      "id": "replace-by-fee-fact-policy",
      "articleSlug": "replace-by-fee",
      "statement": "Policy: BIP-125 documents historical opt-in policy; actual node rules depend on implementation and version.",
      "sourceIds": [
        "source-67b7ee4bcd0e4a4f",
        "source-1ec3dafaa6208350"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67b7ee4bcd0e4a4f",
          "locator": "Summary; Implementation Details"
        },
        {
          "sourceId": "source-1ec3dafaa6208350",
          "locator": "GetEntriesForConflicts; PaysForRBF"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-125 Summary/Implementation Details against v29.0 bumpfee and rbf.cpp PaysForRBF. Opt-in signaling is dated policy context, not a universal consensus requirement.",
          "Rephrased wallet construction versus receiving-node relay policy. Recomputed 700-sat and 1,400-sat example, including 700-sat difference."
        ]
      }
    },
    {
      "id": "child-pays-for-parent-quick-answer",
      "articleSlug": "child-pays-for-parent",
      "statement": "Child pays for parent, or CPFP, spends an output of an unconfirmed transaction in a new transaction whose fee can raise the combined package fee rate. A miner evaluating the dependent package can collect both fees, but the parent must precede the child, potentially within the same block. A usable output, wallet support and applicable relay policy are necessary.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-9da8e2ada19d24a9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-9da8e2ada19d24a9",
          "locator": "Package Mempool Acceptance Rules; Package Fees and Feerate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read package-feerate rules including modified fees, deduplication and dependency constraints. Corrected larger absolute child-fee wording to raising combined package feerate, and made same-block parent-before-child inclusion explicit.",
          "Corrected the assumption that the parent output alone must fund the child: selected inputs may include additional wallet inputs. Recomputed required child fee 2,800 sat; setting only the child to 10 sat/vB yields package rate 4 sat/vB."
        ]
      }
    },
    {
      "id": "child-pays-for-parent-fact-dependency",
      "articleSlug": "child-pays-for-parent",
      "statement": "Dependency: A child spends an output created by its parent.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read package-feerate rules including modified fees, deduplication and dependency constraints. Corrected larger absolute child-fee wording to raising combined package feerate, and made same-block parent-before-child inclusion explicit.",
          "Corrected the assumption that the parent output alone must fund the child: selected inputs may include additional wallet inputs. Recomputed required child fee 2,800 sat; setting only the child to 10 sat/vB yields package rate 4 sat/vB."
        ]
      }
    },
    {
      "id": "child-pays-for-parent-fact-authority",
      "articleSlug": "child-pays-for-parent",
      "statement": "Authority: You need the keys or other authorization required to spend that output.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read package-feerate rules including modified fees, deduplication and dependency constraints. Corrected larger absolute child-fee wording to raising combined package feerate, and made same-block parent-before-child inclusion explicit.",
          "Corrected the assumption that the parent output alone must fund the child: selected inputs may include additional wallet inputs. Recomputed required child fee 2,800 sat; setting only the child to 10 sat/vB yields package rate 4 sat/vB."
        ]
      }
    },
    {
      "id": "child-pays-for-parent-fact-combined-rate",
      "articleSlug": "child-pays-for-parent",
      "statement": "Combined rate: For the simplified package example, combined fee rate is total fees divided by total virtual size; node policy can adjust fees and deduplicate existing transactions.",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-9da8e2ada19d24a9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        },
        {
          "sourceId": "source-9da8e2ada19d24a9",
          "locator": "Package Mempool Acceptance Rules; Package Fees and Feerate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read package-feerate rules including modified fees, deduplication and dependency constraints. Corrected larger absolute child-fee wording to raising combined package feerate, and made same-block parent-before-child inclusion explicit.",
          "Corrected the assumption that the parent output alone must fund the child: selected inputs may include additional wallet inputs. Recomputed required child fee 2,800 sat; setting only the child to 10 sat/vB yields package rate 4 sat/vB."
        ]
      }
    },
    {
      "id": "bitcoin-stuck-transactions-quick-answer",
      "articleSlug": "bitcoin-stuck-transactions",
      "statement": "An unconfirmed Bitcoin transaction has not yet been included in the chain being checked. It may be waiting because of its fee, a dependency, a conflict or incomplete propagation. First establish whether the transaction was broadcast and accepted; then use a supported replacement or dependent spend only if the wallet can construct one.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-b7f4c1c78e78f2af",
        "source-9da8e2ada19d24a9",
        "source-b42abb14efd07b1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-b7f4c1c78e78f2af",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-9da8e2ada19d24a9",
          "locator": "Package Mempool Acceptance Rules; Package Fees and Feerate"
        },
        {
          "sourceId": "source-b42abb14efd07b1e",
          "locator": "CTxMemPool::Expire; CTxMemPool::TrimToSize"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "The original transaction guide did not support local mempool expiry directly. Added independently fetched v29.0 txmempool.cpp Expire/TrimToSize and package-policy references; expiry removes local entries without changing transaction signatures or the UTXO consensus rules.",
          "Checked pending versus included distinction, replacement restrictions and parent dependencies. No fixed wait or fee is represented as guaranteed confirmation or cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-stuck-transactions-fact-mempool",
      "articleSlug": "bitcoin-stuck-transactions",
      "statement": "Mempool: Different nodes need not have identical sets of pending transactions.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-b42abb14efd07b1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-b42abb14efd07b1e",
          "locator": "CTxMemPool::Expire; CTxMemPool::TrimToSize"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "The original transaction guide did not support local mempool expiry directly. Added independently fetched v29.0 txmempool.cpp Expire/TrimToSize and package-policy references; expiry removes local entries without changing transaction signatures or the UTXO consensus rules.",
          "Checked pending versus included distinction, replacement restrictions and parent dependencies. No fixed wait or fee is represented as guaranteed confirmation or cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-stuck-transactions-fact-timeout",
      "articleSlug": "bitcoin-stuck-transactions",
      "statement": "Timeout: A wallet’s display deadline is not a consensus cancellation.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-b42abb14efd07b1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-b42abb14efd07b1e",
          "locator": "CTxMemPool::Expire; CTxMemPool::TrimToSize"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "The original transaction guide did not support local mempool expiry directly. Added independently fetched v29.0 txmempool.cpp Expire/TrimToSize and package-policy references; expiry removes local entries without changing transaction signatures or the UTXO consensus rules.",
          "Checked pending versus included distinction, replacement restrictions and parent dependencies. No fixed wait or fee is represented as guaranteed confirmation or cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-stuck-transactions-fact-recovery",
      "articleSlug": "bitcoin-stuck-transactions",
      "statement": "Recovery: Fee replacement requires a transaction that meets the wallet and node conditions.",
      "sourceIds": [
        "source-b7f4c1c78e78f2af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b7f4c1c78e78f2af",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "The original transaction guide did not support local mempool expiry directly. Added independently fetched v29.0 txmempool.cpp Expire/TrimToSize and package-policy references; expiry removes local entries without changing transaction signatures or the UTXO consensus rules.",
          "Checked pending versus included distinction, replacement restrictions and parent dependencies. No fixed wait or fee is represented as guaranteed confirmation or cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-change-addresses-quick-answer",
      "articleSlug": "bitcoin-change-addresses",
      "statement": "A Bitcoin transaction spends selected UTXOs in full. If their value exceeds the recipient amount plus the fee, the wallet can create a change output controlled by the sender. A new change address is usually another destination derived or managed by that wallet, not a separate charge.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked UTXO consumption, input-output fee difference, changePosition and changepos fields, and BIP-32 internal/external chains. Recomputed 39,000-sat change.",
          "An output address alone does not establish wallet ownership. Historical developer-guide fee defaults are not imported into this article."
        ]
      }
    },
    {
      "id": "bitcoin-change-addresses-fact-conservation",
      "articleSlug": "bitcoin-change-addresses",
      "statement": "Conservation: Input value equals output value plus transaction fee.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked UTXO consumption, input-output fee difference, changePosition and changepos fields, and BIP-32 internal/external chains. Recomputed 39,000-sat change.",
          "An output address alone does not establish wallet ownership. Historical developer-guide fee defaults are not imported into this article."
        ]
      }
    },
    {
      "id": "bitcoin-change-addresses-fact-separate-output",
      "articleSlug": "bitcoin-change-addresses",
      "statement": "Separate output: Change is a new UTXO, not an unspent remainder inside an old one.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked UTXO consumption, input-output fee difference, changePosition and changepos fields, and BIP-32 internal/external chains. Recomputed 39,000-sat change.",
          "An output address alone does not establish wallet ownership. Historical developer-guide fee defaults are not imported into this article."
        ]
      }
    },
    {
      "id": "bitcoin-change-addresses-fact-position",
      "articleSlug": "bitcoin-change-addresses",
      "statement": "Position: The wallet RPC reports where it placed change; it need not always be the last output.",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked UTXO consumption, input-output fee difference, changePosition and changepos fields, and BIP-32 internal/external chains. Recomputed 39,000-sat change.",
          "An output address alone does not establish wallet ownership. Historical developer-guide fee defaults are not imported into this article."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-quick-answer",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Coin selection chooses the UTXOs a Bitcoin wallet will spend to fund a payment and its fee. Different choices can change input count, transaction weight, change outputs and which earlier receipts become linked. The smallest number of inputs is not always the best choice for every wallet objective.",
      "sourceIds": [
        "source-a8abe4366f2656ba",
        "source-b282fdecc069b74d",
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-inputs",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Inputs: A transaction can spend several outputs received at different times.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-cost",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Cost: More signing data generally changes transaction weight and fee requirements.",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-selection-fact-control",
      "articleSlug": "bitcoin-coin-selection",
      "statement": "Control: The cited funding RPC can take explicit inputs or select additional ones.",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explicit inputs/add_inputs and funded result fields in Core 29.0; BIP-141 supplies weight consequences. Ten 10,000-sat UTXOs and one 100,000-sat UTXO have equal value but different spending structures.",
          "Added white-paper section 10 for multi-input linking; retained qualification that common-control clustering is a heuristic rather than personal identification."
        ]
      }
    },
    {
      "id": "bitcoin-coin-control-quick-answer",
      "articleSlug": "bitcoin-coin-control",
      "statement": "Coin control lets a wallet user choose or exclude particular Bitcoin UTXOs when constructing a payment. It can help separate receipts and manage fee trade-offs, but it does not erase their history or make the resulting transaction anonymous. The wallet must still fund the recipient outputs and fee.",
      "sourceIds": [
        "source-9f8c993a5e0440ca",
        "source-a8abe4366f2656ba",
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9f8c993a5e0440ca",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked lockunspent behavior, including automatic selection exclusion, manually selected unlocking, and optional persistence. Wallet-local locking is distinct from consensus timelocks.",
          "Added transaction-structure citation to the public-input visibility section. Input selection is not described as signing authority or anonymity."
        ]
      }
    },
    {
      "id": "bitcoin-coin-control-fact-selection",
      "articleSlug": "bitcoin-coin-control",
      "statement": "Selection: Explicit inputs can be passed to a funding operation.",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked lockunspent behavior, including automatic selection exclusion, manually selected unlocking, and optional persistence. Wallet-local locking is distinct from consensus timelocks.",
          "Added transaction-structure citation to the public-input visibility section. Input selection is not described as signing authority or anonymity."
        ]
      }
    },
    {
      "id": "bitcoin-coin-control-fact-exclusion",
      "articleSlug": "bitcoin-coin-control",
      "statement": "Exclusion: lockunspent can prevent selected outputs from automatic wallet selection.",
      "sourceIds": [
        "source-9f8c993a5e0440ca"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9f8c993a5e0440ca",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked lockunspent behavior, including automatic selection exclusion, manually selected unlocking, and optional persistence. Wallet-local locking is distinct from consensus timelocks.",
          "Added transaction-structure citation to the public-input visibility section. Input selection is not described as signing authority or anonymity."
        ]
      }
    },
    {
      "id": "bitcoin-coin-control-fact-authority",
      "articleSlug": "bitcoin-coin-control",
      "statement": "Authority: Selection does not replace the signatures required to spend those outputs.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked lockunspent behavior, including automatic selection exclusion, manually selected unlocking, and optional persistence. Wallet-local locking is distinct from consensus timelocks.",
          "Added transaction-structure citation to the public-input visibility section. Input selection is not described as signing authority or anonymity."
        ]
      }
    },
    {
      "id": "bitcoin-dust-quick-answer",
      "articleSlug": "bitcoin-dust",
      "statement": "In Bitcoin Core relay policy, dust is an output whose value is small relative to its estimated spending cost at the configured dust relay fee. It is not a universal minimum amount enforced by Bitcoin consensus, and the threshold depends on the output’s script type and node policy.",
      "sourceIds": [
        "source-d8199d250aac8f2f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8199d250aac8f2f",
          "locator": "GetDustThreshold; IsDust"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetDustThreshold/IsDust: serialized output plus estimated spend size, witness treatment, configurable dustRelayFee and unspendable-output zero threshold. This is relay policy, not a consensus minimum denomination.",
          "Recomputed illustrative 70 vB × 20 sat/vB = 1,400 sat; the example is not a universal input-size quote. Added section 10 privacy support for combining receipts."
        ]
      }
    },
    {
      "id": "bitcoin-dust-fact-unit",
      "articleSlug": "bitcoin-dust",
      "statement": "Unit: An amount can be denominated in whole satoshis and still count as dust under relay policy.",
      "sourceIds": [
        "source-d8199d250aac8f2f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8199d250aac8f2f",
          "locator": "GetDustThreshold; IsDust"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetDustThreshold/IsDust: serialized output plus estimated spend size, witness treatment, configurable dustRelayFee and unspendable-output zero threshold. This is relay policy, not a consensus minimum denomination.",
          "Recomputed illustrative 70 vB × 20 sat/vB = 1,400 sat; the example is not a universal input-size quote. Added section 10 privacy support for combining receipts."
        ]
      }
    },
    {
      "id": "bitcoin-dust-fact-script",
      "articleSlug": "bitcoin-dust",
      "statement": "Script: Different output types have different estimated spending costs.",
      "sourceIds": [
        "source-d8199d250aac8f2f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8199d250aac8f2f",
          "locator": "GetDustThreshold; IsDust"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetDustThreshold/IsDust: serialized output plus estimated spend size, witness treatment, configurable dustRelayFee and unspendable-output zero threshold. This is relay policy, not a consensus minimum denomination.",
          "Recomputed illustrative 70 vB × 20 sat/vB = 1,400 sat; the example is not a universal input-size quote. Added section 10 privacy support for combining receipts."
        ]
      }
    },
    {
      "id": "bitcoin-dust-fact-policy",
      "articleSlug": "bitcoin-dust",
      "statement": "Policy: Relay acceptance and consensus validity answer different questions.",
      "sourceIds": [
        "source-d8199d250aac8f2f",
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8199d250aac8f2f",
          "locator": "GetDustThreshold; IsDust"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetDustThreshold/IsDust: serialized output plus estimated spend size, witness treatment, configurable dustRelayFee and unspendable-output zero threshold. This is relay policy, not a consensus minimum denomination.",
          "Recomputed illustrative 70 vB × 20 sat/vB = 1,400 sat; the example is not a universal input-size quote. Added section 10 privacy support for combining receipts."
        ]
      }
    },
    {
      "id": "bitcoin-virtual-size-quick-answer",
      "articleSlug": "bitcoin-virtual-size",
      "statement": "Bitcoin virtual size is transaction weight divided by four, rounded up. Under the SegWit weight definition, non-witness bytes count more heavily than witness bytes. A transaction’s raw serialized byte count can therefore differ from the virtual size used when quoting fees in sat/vB.",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "BIP-141 Additional definitions/Transaction size calculations specifies base × 3 + total and ceiling(weight/4). Worked values independently recomputed as 550 WU, 138 vB and 1,380 sat.",
          "Checked Core 29.0 RPC fee_rate versus feeRate units. The stated formula is the SegWit weight definition, not a claim that all implementation policy metrics ignore other limits."
        ]
      }
    },
    {
      "id": "bitcoin-virtual-size-fact-weight",
      "articleSlug": "bitcoin-virtual-size",
      "statement": "Weight: Weight = base size × 3 + total size.",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "BIP-141 Additional definitions/Transaction size calculations specifies base × 3 + total and ceiling(weight/4). Worked values independently recomputed as 550 WU, 138 vB and 1,380 sat.",
          "Checked Core 29.0 RPC fee_rate versus feeRate units. The stated formula is the SegWit weight definition, not a claim that all implementation policy metrics ignore other limits."
        ]
      }
    },
    {
      "id": "bitcoin-virtual-size-fact-virtual-size",
      "articleSlug": "bitcoin-virtual-size",
      "statement": "Virtual size: Virtual size = ceiling(weight ÷ 4).",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "BIP-141 Additional definitions/Transaction size calculations specifies base × 3 + total and ceiling(weight/4). Worked values independently recomputed as 550 WU, 138 vB and 1,380 sat.",
          "Checked Core 29.0 RPC fee_rate versus feeRate units. The stated formula is the SegWit weight definition, not a claim that all implementation policy metrics ignore other limits."
        ]
      }
    },
    {
      "id": "bitcoin-virtual-size-fact-fee-rate",
      "articleSlug": "bitcoin-virtual-size",
      "statement": "Fee rate: A sat/vB quote applies to virtual size, not necessarily raw bytes.",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "BIP-141 Additional definitions/Transaction size calculations specifies base × 3 + total and ceiling(weight/4). Worked values independently recomputed as 550 WU, 138 vB and 1,380 sat.",
          "Checked Core 29.0 RPC fee_rate versus feeRate units. The stated formula is the SegWit weight definition, not a claim that all implementation policy metrics ignore other limits."
        ]
      }
    },
    {
      "id": "bitcoin-fee-rate-quick-answer",
      "articleSlug": "bitcoin-fee-rate",
      "statement": "A Bitcoin fee rate measures fee paid per unit of transaction size, commonly satoshis per virtual byte. The total fee is the difference between input and output values. An estimated fee rate can inform a target, but it does not guarantee inclusion within a particular number of blocks.",
      "sourceIds": [
        "source-a8abe4366f2656ba",
        "source-b282fdecc069b74d",
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified input-output fee definition, BIP-141 size definition and RPC sat/vB versus BTC/kvB distinction. Unit conversion is 100,000 sat/vB per BTC/kvB.",
          "Recomputed both size/rate examples and inverses. Confirmation estimates and miner choice remain explicitly uncertain."
        ]
      }
    },
    {
      "id": "bitcoin-fee-rate-fact-total-fee",
      "articleSlug": "bitcoin-fee-rate",
      "statement": "Total fee: Total input value minus total output value.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified input-output fee definition, BIP-141 size definition and RPC sat/vB versus BTC/kvB distinction. Unit conversion is 100,000 sat/vB per BTC/kvB.",
          "Recomputed both size/rate examples and inverses. Confirmation estimates and miner choice remain explicitly uncertain."
        ]
      }
    },
    {
      "id": "bitcoin-fee-rate-fact-rate",
      "articleSlug": "bitcoin-fee-rate",
      "statement": "Rate: Total fee in satoshis divided by virtual size gives sat/vB.",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Block size; Transaction size"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified input-output fee definition, BIP-141 size definition and RPC sat/vB versus BTC/kvB distinction. Unit conversion is 100,000 sat/vB per BTC/kvB.",
          "Recomputed both size/rate examples and inverses. Confirmation estimates and miner choice remain explicitly uncertain."
        ]
      }
    },
    {
      "id": "bitcoin-fee-rate-fact-units",
      "articleSlug": "bitcoin-fee-rate",
      "statement": "Units: 1 BTC per 1,000 vbytes equals 100,000 sat/vB.",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified input-output fee definition, BIP-141 size definition and RPC sat/vB versus BTC/kvB distinction. Unit conversion is 100,000 sat/vB per BTC/kvB.",
          "Recomputed both size/rate examples and inverses. Confirmation estimates and miner choice remain explicitly uncertain."
        ]
      }
    },
    {
      "id": "bitcoin-multisig-quick-answer",
      "articleSlug": "bitcoin-multisig",
      "statement": "A Bitcoin multisignature arrangement makes a spend require a specified threshold of signatures from an authorized key set. In a two-of-three example, two qualifying keys can authorize the spend. Its resilience depends on how keys, devices, recovery information and decision authority are actually separated.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read developer-guide Multisig/P2SH and BIP-174 signing/finalization roles; checked the three valid two-of-three combinations. Threshold signatures do not establish independent human decision makers.",
          "BIP-380 Motivation supports policy/derivation backup requirements. Possessing enough signing keys alone does not eliminate recovery-metadata or operational risks."
        ]
      }
    },
    {
      "id": "bitcoin-multisig-fact-threshold",
      "articleSlug": "bitcoin-multisig",
      "statement": "Threshold: Two-of-three requires two authorized signatures, not all three.",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read developer-guide Multisig/P2SH and BIP-174 signing/finalization roles; checked the three valid two-of-three combinations. Threshold signatures do not establish independent human decision makers.",
          "BIP-380 Motivation supports policy/derivation backup requirements. Possessing enough signing keys alone does not eliminate recovery-metadata or operational risks."
        ]
      }
    },
    {
      "id": "bitcoin-multisig-fact-coordination",
      "articleSlug": "bitcoin-multisig",
      "statement": "Coordination: A PSBT can carry transaction details between participants before finalization.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read developer-guide Multisig/P2SH and BIP-174 signing/finalization roles; checked the three valid two-of-three combinations. Threshold signatures do not establish independent human decision makers.",
          "BIP-380 Motivation supports policy/derivation backup requirements. Possessing enough signing keys alone does not eliminate recovery-metadata or operational risks."
        ]
      }
    },
    {
      "id": "bitcoin-multisig-fact-backup",
      "articleSlug": "bitcoin-multisig",
      "statement": "Backup: The spending script and key information matter as well as private-key backups.",
      "sourceIds": [
        "source-36e62aca6baaa2f2",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read developer-guide Multisig/P2SH and BIP-174 signing/finalization roles; checked the three valid two-of-three combinations. Threshold signatures do not establish independent human decision makers.",
          "BIP-380 Motivation supports policy/derivation backup requirements. Possessing enough signing keys alone does not eliminate recovery-metadata or operational risks."
        ]
      }
    },
    {
      "id": "partially-signed-bitcoin-transactions-quick-answer",
      "articleSlug": "partially-signed-bitcoin-transactions",
      "statement": "A PSBT is a structured container for a Bitcoin transaction and the extra information needed to inspect, sign and finalize it. It lets wallets, hardware signers and participants exchange a proposal without requiring one device to perform every step. A PSBT is not necessarily signed, broadcast or confirmed.",
      "sourceIds": [
        "source-5790dff0294c8035",
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-174 Creator, Updater, Signer, Combiner, Input Finalizer and Transaction Extractor, including UTXO and sighash checks. Unsigned PSBTs are valid workflow objects.",
          "Checked offline signing rationale and separation of extraction, broadcast and confirmation. The format is not represented as a guarantee that transported information is trustworthy."
        ]
      }
    },
    {
      "id": "partially-signed-bitcoin-transactions-fact-roles",
      "articleSlug": "partially-signed-bitcoin-transactions",
      "statement": "Roles: BIP-174 separates creator, updater, signer, combiner, finalizer and extractor roles.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-174 Creator, Updater, Signer, Combiner, Input Finalizer and Transaction Extractor, including UTXO and sighash checks. Unsigned PSBTs are valid workflow objects.",
          "Checked offline signing rationale and separation of extraction, broadcast and confirmation. The format is not represented as a guarantee that transported information is trustworthy."
        ]
      }
    },
    {
      "id": "partially-signed-bitcoin-transactions-fact-information",
      "articleSlug": "partially-signed-bitcoin-transactions",
      "statement": "Information: The container can include previous-output and key-derivation information needed for signing.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-174 Creator, Updater, Signer, Combiner, Input Finalizer and Transaction Extractor, including UTXO and sighash checks. Unsigned PSBTs are valid workflow objects.",
          "Checked offline signing rationale and separation of extraction, broadcast and confirmation. The format is not represented as a guarantee that transported information is trustworthy."
        ]
      }
    },
    {
      "id": "partially-signed-bitcoin-transactions-fact-completion",
      "articleSlug": "partially-signed-bitcoin-transactions",
      "statement": "Completion: An extracted transaction is distinct from the container exchanged during signing.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-174 Creator, Updater, Signer, Combiner, Input Finalizer and Transaction Extractor, including UTXO and sighash checks. Unsigned PSBTs are valid workflow objects.",
          "Checked offline signing rationale and separation of extraction, broadcast and confirmation. The format is not represented as a guarantee that transported information is trustworthy."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-quick-answer",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "A Bitcoin output descriptor is a text expression describing the scripts a wallet should recognize or generate, including relevant keys and derivation information. It can make wallet recovery and watch-only setup more explicit. A descriptor checksum catches certain transcription errors; it does not prove ownership, safety or secrecy.",
      "sourceIds": [
        "source-36e62aca6baaa2f2",
        "source-0b4367ccf61f3090"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        },
        {
          "sourceId": "source-0b4367ccf61f3090",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-purpose",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Purpose: A descriptor describes output scripts and associated key expressions.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-range",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Range: Ranged descriptors can describe a sequence of derived outputs.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-output-descriptors-fact-sensitivity",
      "articleSlug": "bitcoin-output-descriptors",
      "statement": "Sensitivity: A descriptor may contain public or private key material; inspect its type before sharing.",
      "sourceIds": [
        "source-36e62aca6baaa2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-380 Motivation, Key Expressions and Checksum, and importdescriptors timestamp/range/active options. Descriptor text can contain private keys, and checksums only detect text errors.",
          "Recovery and watch-only implications follow explicitly from script/key metadata; a descriptor is not equated with a mnemonic."
        ]
      }
    },
    {
      "id": "bitcoin-extended-public-keys-quick-answer",
      "articleSlug": "bitcoin-extended-public-keys",
      "statement": "A BIP-32 extended public key combines a public key with a chain code. It can derive descendant public keys along non-hardened paths, supporting receive-address generation and monitoring without spending keys. Sharing it can expose a whole branch of wallet activity; it is more sensitive than sharing one receiving address.",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-32 Extended keys, CKDpub and Security. Public derivation is limited to non-hardened paths; parent xpub plus a descendant private key along a non-hardened path can compromise the parent secret.",
          "Checked BIP-380 script-context and key-origin requirements. Monitoring privacy and spending capability are distinguished."
        ]
      }
    },
    {
      "id": "bitcoin-extended-public-keys-fact-contents",
      "articleSlug": "bitcoin-extended-public-keys",
      "statement": "Contents: An extended public key carries a public key and chain code.",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-32 Extended keys, CKDpub and Security. Public derivation is limited to non-hardened paths; parent xpub plus a descendant private key along a non-hardened path can compromise the parent secret.",
          "Checked BIP-380 script-context and key-origin requirements. Monitoring privacy and spending capability are distinguished."
        ]
      }
    },
    {
      "id": "bitcoin-extended-public-keys-fact-boundary",
      "articleSlug": "bitcoin-extended-public-keys",
      "statement": "Boundary: Public derivation cannot cross a hardened child step.",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-32 Extended keys, CKDpub and Security. Public derivation is limited to non-hardened paths; parent xpub plus a descendant private key along a non-hardened path can compromise the parent secret.",
          "Checked BIP-380 script-context and key-origin requirements. Monitoring privacy and spending capability are distinguished."
        ]
      }
    },
    {
      "id": "bitcoin-extended-public-keys-fact-exposure",
      "articleSlug": "bitcoin-extended-public-keys",
      "statement": "Exposure: A parent extended public key plus a corresponding non-hardened child private key can compromise the parent private key.",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-32 Extended keys, CKDpub and Security. Public derivation is limited to non-hardened paths; parent xpub plus a descendant private key along a non-hardened path can compromise the parent secret.",
          "Checked BIP-380 script-context and key-origin requirements. Monitoring privacy and spending capability are distinguished."
        ]
      }
    },
    {
      "id": "watch-only-wallets-quick-answer",
      "articleSlug": "watch-only-wallets",
      "statement": "A watch-only Bitcoin wallet tracks scripts or public derivation information without holding the private keys needed to spend the corresponding outputs. It can display transactions and help construct unsigned payments, but another signer must provide authorization. A visible balance is not proof that its viewer controls the coins.",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-0b4367ccf61f3090",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        },
        {
          "sourceId": "source-0b4367ccf61f3090",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-monitoring",
      "articleSlug": "watch-only-wallets",
      "statement": "Monitoring: Public descriptors can identify outputs without supplying private keys.",
      "sourceIds": [
        "source-36e62aca6baaa2f2",
        "source-0b4367ccf61f3090"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-36e62aca6baaa2f2",
          "locator": "Specification; Key expressions; Checksum"
        },
        {
          "sourceId": "source-0b4367ccf61f3090",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-signing",
      "articleSlug": "watch-only-wallets",
      "statement": "Signing: A partially signed transaction can be passed to a separate signer.",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Updater; Signer; Finalizer"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "watch-only-wallets-fact-coverage",
      "articleSlug": "watch-only-wallets",
      "statement": "Coverage: Imported paths, ranges and scan timestamps affect what a wallet discovers.",
      "sourceIds": [
        "source-0b4367ccf61f3090"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b4367ccf61f3090",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read importdescriptors scan/range controls, BIP-380 public expressions and BIP-174 offline signing roles. A visible balance proves discovery, not private-key possession.",
          "Recovery limitations and separate spending conditions are consistent with key derivation and script authorization; no public-key recovery of a lost seed is promised."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-passphrases-quick-answer",
      "articleSlug": "bitcoin-wallet-passphrases",
      "statement": "“Wallet passphrase” can mean different things. In BIP-39, an optional passphrase combines with the mnemonic to derive a seed after Unicode normalization; changing the normalized passphrase derives a different wallet. A wallet-file password instead decrypts a stored wallet. The two mechanisms have different recovery requirements and must not be treated as interchangeable.",
      "sourceIds": [
        "source-a7583e32275982ab",
        "source-7780ee9334c1bcbd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "From mnemonic to seed"
        },
        {
          "sourceId": "source-7780ee9334c1bcbd",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Corrected the claim that every different raw passphrase string necessarily produces a different wallet: BIP-39 first applies Unicode NFKD. Independently demonstrated equal derivation from equivalent normalized public test strings.",
          "Read BIP-39 seed derivation and Core walletpassphrase memory unlock/timeout behavior. File encryption and mnemonic passphrases remain distinct; no assumption that Core universally uses BIP-39."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-passphrases-fact-bip-39",
      "articleSlug": "bitcoin-wallet-passphrases",
      "statement": "BIP-39: Every passphrase produces a seed; there is no built-in correct-passphrase signal.",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Corrected the claim that every different raw passphrase string necessarily produces a different wallet: BIP-39 first applies Unicode NFKD. Independently demonstrated equal derivation from equivalent normalized public test strings.",
          "Read BIP-39 seed derivation and Core walletpassphrase memory unlock/timeout behavior. File encryption and mnemonic passphrases remain distinct; no assumption that Core universally uses BIP-39."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-passphrases-fact-empty-string",
      "articleSlug": "bitcoin-wallet-passphrases",
      "statement": "Empty string: A BIP-39 wallet without an added passphrase uses an empty passphrase.",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Corrected the claim that every different raw passphrase string necessarily produces a different wallet: BIP-39 first applies Unicode NFKD. Independently demonstrated equal derivation from equivalent normalized public test strings.",
          "Read BIP-39 seed derivation and Core walletpassphrase memory unlock/timeout behavior. File encryption and mnemonic passphrases remain distinct; no assumption that Core universally uses BIP-39."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-passphrases-fact-file-encryption",
      "articleSlug": "bitcoin-wallet-passphrases",
      "statement": "File encryption: Bitcoin Core’s walletpassphrase unlocks an encrypted wallet temporarily.",
      "sourceIds": [
        "source-7780ee9334c1bcbd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7780ee9334c1bcbd",
          "locator": "Arguments and result fields"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Corrected the claim that every different raw passphrase string necessarily produces a different wallet: BIP-39 first applies Unicode NFKD. Independently demonstrated equal derivation from equivalent normalized public test strings.",
          "Read BIP-39 seed derivation and Core walletpassphrase memory unlock/timeout behavior. File encryption and mnemonic passphrases remain distinct; no assumption that Core universally uses BIP-39."
        ]
      }
    },
    {
      "id": "bitcoin-address-reuse-quick-answer",
      "articleSlug": "bitcoin-address-reuse",
      "statement": "Bitcoin address reuse means receiving more than once to the same output destination. It makes those receipts easy to associate and can expose patterns when the outputs are later spent. Fresh addresses reduce this direct link, but public transaction structure and other information can still connect activity.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-32 public derivation, developer-guide distribution wallets and white-paper section 10. Fresh destinations reduce address-level linking but later multi-input spends and exported xpubs reveal relationships.",
          "Privacy claims are narrowed to observed activity and do not convert clustering into proof of a named owner."
        ]
      }
    },
    {
      "id": "bitcoin-address-reuse-fact-visibility",
      "articleSlug": "bitcoin-address-reuse",
      "statement": "Visibility: Repeated receipts to the same destination are visible in the ledger.",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-32 public derivation, developer-guide distribution wallets and white-paper section 10. Fresh destinations reduce address-level linking but later multi-input spends and exported xpubs reveal relationships.",
          "Privacy claims are narrowed to observed activity and do not convert clustering into proof of a named owner."
        ]
      }
    },
    {
      "id": "bitcoin-address-reuse-fact-derivation",
      "articleSlug": "bitcoin-address-reuse",
      "statement": "Derivation: An HD wallet can derive many receiving keys from its hierarchy.",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Extended keys; Child key derivation; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-32 public derivation, developer-guide distribution wallets and white-paper section 10. Fresh destinations reduce address-level linking but later multi-input spends and exported xpubs reveal relationships.",
          "Privacy claims are narrowed to observed activity and do not convert clustering into proof of a named owner."
        ]
      }
    },
    {
      "id": "bitcoin-address-reuse-fact-limits",
      "articleSlug": "bitcoin-address-reuse",
      "statement": "Limits: Combining inputs can create additional relationships between receipts.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-32 public derivation, developer-guide distribution wallets and white-paper section 10. Fresh destinations reduce address-level linking but later multi-input spends and exported xpubs reveal relationships.",
          "Privacy claims are narrowed to observed activity and do not convert clustering into proof of a named owner."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-quick-answer",
      "articleSlug": "bitcoin-timelocks",
      "statement": "A Bitcoin timelock restricts when a transaction or spending path can be valid. Absolute locks refer to a block height or time condition; relative locks depend on an input’s confirmation age. Reaching the condition permits an otherwise valid spend—it does not automatically broadcast, sign or confirm a payment.",
      "sourceIds": [
        "source-4c5f236c04800844",
        "source-bdcb60e00657be1f",
        "source-c12cc4fc6275fee3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4c5f236c04800844",
          "locator": "Summary; Specification"
        },
        {
          "sourceId": "source-bdcb60e00657be1f",
          "locator": "Specification"
        },
        {
          "sourceId": "source-c12cc4fc6275fee3",
          "locator": "Summary; Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-absolute",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Absolute: CHECKLOCKTIMEVERIFY can enforce an absolute transaction locktime condition.",
      "sourceIds": [
        "source-4c5f236c04800844"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4c5f236c04800844",
          "locator": "Summary; Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-relative",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Relative: Sequence-based locks can measure block age or time in 512-second units.",
      "sourceIds": [
        "source-bdcb60e00657be1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdcb60e00657be1f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-timelocks-fact-script-path",
      "articleSlug": "bitcoin-timelocks",
      "statement": "Script path: CHECKSEQUENCEVERIFY can require a relative-lock condition in a script.",
      "sourceIds": [
        "source-c12cc4fc6275fee3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c12cc4fc6275fee3",
          "locator": "Summary; Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BIP-65 absolute constraints, BIP-68 version/disable/type semantics and 512-second granularity, and BIP-112 conditional script enforcement. A 144-block delay is not guaranteed 24 hours.",
          "Added lockunspent citation to distinguish wallet-local exclusions from consensus conditions. Meeting a lock condition does not create a signature, broadcast or guarantee inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-merkle-proofs-quick-answer",
      "articleSlug": "bitcoin-merkle-proofs",
      "statement": "A Bitcoin Merkle proof supplies the sibling hashes needed to connect a transaction hash to the Merkle root in a block header. It can demonstrate inclusion in that committed transaction tree, assuming the relevant hashing rules. It does not by itself establish block validity, the accepted chain, current unspentness or ownership.",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the developer guide Transaction Data tree algorithm, ordering and odd-leaf duplication, and white-paper sections 7–8. Matching a commitment is scoped to inclusion, not independent full transaction validation.",
          "Current unspentness, accepted-chain selection and identity require additional evidence; historical inclusion is not an ownership certificate."
        ]
      }
    },
    {
      "id": "bitcoin-merkle-proofs-fact-commitment",
      "articleSlug": "bitcoin-merkle-proofs",
      "statement": "Commitment: A block header contains a Merkle root for the transaction tree.",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the developer guide Transaction Data tree algorithm, ordering and odd-leaf duplication, and white-paper sections 7–8. Matching a commitment is scoped to inclusion, not independent full transaction validation.",
          "Current unspentness, accepted-chain selection and identity require additional evidence; historical inclusion is not an ownership certificate."
        ]
      }
    },
    {
      "id": "bitcoin-merkle-proofs-fact-proof-size",
      "articleSlug": "bitcoin-merkle-proofs",
      "statement": "Proof size: The branch needs hashes along the path rather than every transaction body.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the developer guide Transaction Data tree algorithm, ordering and odd-leaf duplication, and white-paper sections 7–8. Matching a commitment is scoped to inclusion, not independent full transaction validation.",
          "Current unspentness, accepted-chain selection and identity require additional evidence; historical inclusion is not an ownership certificate."
        ]
      }
    },
    {
      "id": "bitcoin-merkle-proofs-fact-scope",
      "articleSlug": "bitcoin-merkle-proofs",
      "statement": "Scope: Inclusion is different from independently checking all transaction rules.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the developer guide Transaction Data tree algorithm, ordering and odd-leaf duplication, and white-paper sections 7–8. Matching a commitment is scoped to inclusion, not independent full transaction validation.",
          "Current unspentness, accepted-chain selection and identity require additional evidence; historical inclusion is not an ownership certificate."
        ]
      }
    },
    {
      "id": "simplified-payment-verification-quick-answer",
      "articleSlug": "simplified-payment-verification",
      "statement": "Simplified Payment Verification, described in section 8 of the Bitcoin white paper, uses block headers and a Merkle branch to check that a payment appears in a chain with accumulated proof of work. It avoids downloading every full block but does not independently validate every transaction rule as a full node does.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened the original PDF and read section 8, including honest-network assumptions and inability to check the transaction fully. Headers plus an inclusion branch differ from merely trusting an explorer.",
          "Added Core pruning-release reference to the full-node comparison. Pruning after validation and SPV verification are not equated."
        ]
      }
    },
    {
      "id": "simplified-payment-verification-fact-data",
      "articleSlug": "simplified-payment-verification",
      "statement": "Data: The design uses headers plus transaction inclusion information.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened the original PDF and read section 8, including honest-network assumptions and inability to check the transaction fully. Headers plus an inclusion branch differ from merely trusting an explorer.",
          "Added Core pruning-release reference to the full-node comparison. Pruning after validation and SPV verification are not equated."
        ]
      }
    },
    {
      "id": "simplified-payment-verification-fact-assumption",
      "articleSlug": "simplified-payment-verification",
      "statement": "Assumption: Its assurances depend on the chain view and honest-network assumptions described in the paper.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened the original PDF and read section 8, including honest-network assumptions and inability to check the transaction fully. Headers plus an inclusion branch differ from merely trusting an explorer.",
          "Added Core pruning-release reference to the full-node comparison. Pruning after validation and SPV verification are not equated."
        ]
      }
    },
    {
      "id": "simplified-payment-verification-fact-distinction",
      "articleSlug": "simplified-payment-verification",
      "statement": "Distinction: A wallet that trusts an explorer response is not necessarily performing SPV.",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently reopened the original PDF and read section 8, including honest-network assumptions and inability to check the transaction fully. Headers plus an inclusion branch differ from merely trusting an explorer.",
          "Added Core pruning-release reference to the full-node comparison. Pruning after validation and SPV verification are not equated."
        ]
      }
    },
    {
      "id": "pruned-bitcoin-nodes-quick-answer",
      "articleSlug": "pruned-bitcoin-nodes",
      "statement": "A pruned Bitcoin full node validates blocks and maintains the current chainstate, then deletes eligible older block files to reduce disk use. It still checks consensus rules. Pruning limits access to historical block data, so some rescans and historical queries require obtaining that data again.",
      "sourceIds": [
        "source-997df60df1815097",
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Block file pruning"
        },
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "blocks; chainstate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Core 0.11.0 Block file pruning and v29.0 blocks/chainstate layout. Validation precedes pruning; current UTXO state is distinct from historical raw/undo files.",
          "The article explicitly dates the historical release and avoids importing its old wallet incompatibility as a current restriction. Missing historical scans need data acquisition, not merely a descriptor."
        ]
      }
    },
    {
      "id": "pruned-bitcoin-nodes-fact-validation",
      "articleSlug": "pruned-bitcoin-nodes",
      "statement": "Validation: Pruning removes data after validation rather than skipping the initial validation process.",
      "sourceIds": [
        "source-997df60df1815097"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Block file pruning"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Core 0.11.0 Block file pruning and v29.0 blocks/chainstate layout. Validation precedes pruning; current UTXO state is distinct from historical raw/undo files.",
          "The article explicitly dates the historical release and avoids importing its old wallet incompatibility as a current restriction. Missing historical scans need data acquisition, not merely a descriptor."
        ]
      }
    },
    {
      "id": "pruned-bitcoin-nodes-fact-state",
      "articleSlug": "pruned-bitcoin-nodes",
      "statement": "State: The chainstate retains information needed to validate current spends.",
      "sourceIds": [
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "blocks; chainstate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Core 0.11.0 Block file pruning and v29.0 blocks/chainstate layout. Validation precedes pruning; current UTXO state is distinct from historical raw/undo files.",
          "The article explicitly dates the historical release and avoids importing its old wallet incompatibility as a current restriction. Missing historical scans need data acquisition, not merely a descriptor."
        ]
      }
    },
    {
      "id": "pruned-bitcoin-nodes-fact-history",
      "articleSlug": "pruned-bitcoin-nodes",
      "statement": "History: Deleted block bodies cannot be served from the node’s local retained files.",
      "sourceIds": [
        "source-997df60df1815097"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Block file pruning"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Core 0.11.0 Block file pruning and v29.0 blocks/chainstate layout. Validation precedes pruning; current UTXO state is distinct from historical raw/undo files.",
          "The article explicitly dates the historical release and avoids importing its old wallet incompatibility as a current restriction. Missing historical scans need data acquisition, not merely a descriptor."
        ]
      }
    },
    {
      "id": "bitcoin-block-reorganizations-quick-answer",
      "articleSlug": "bitcoin-block-reorganizations",
      "statement": "A Bitcoin block reorganization occurs when a node changes its active chain to a competing valid branch with more accumulated proof of work. Blocks from the former branch stop contributing confirmations. Their transactions may appear in the new branch, become pending again or conflict with transactions now confirmed.",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4–5 and 7–11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked developer-guide Block Height And Forking and white-paper sections 4–5 and 11. Valid-chain selection concerns accumulated work, and displaced transactions may be included, pending or conflicting.",
          "The attacker catch-up model is qualified by its assumptions. No fixed confirmation depth is described as mathematical irreversibility."
        ]
      }
    },
    {
      "id": "bitcoin-block-reorganizations-fact-selection",
      "articleSlug": "bitcoin-block-reorganizations",
      "statement": "Selection: The relevant measure is accumulated proof of work, not simply a count of blocks.",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked developer-guide Block Height And Forking and white-paper sections 4–5 and 11. Valid-chain selection concerns accumulated work, and displaced transactions may be included, pending or conflicting.",
          "The attacker catch-up model is qualified by its assumptions. No fixed confirmation depth is described as mathematical irreversibility."
        ]
      }
    },
    {
      "id": "bitcoin-block-reorganizations-fact-depth",
      "articleSlug": "bitcoin-block-reorganizations",
      "statement": "Depth: Confirmations describe a transaction’s position in the chain currently accepted by the observer.",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked developer-guide Block Height And Forking and white-paper sections 4–5 and 11. Valid-chain selection concerns accumulated work, and displaced transactions may be included, pending or conflicting.",
          "The attacker catch-up model is qualified by its assumptions. No fixed confirmation depth is described as mathematical irreversibility."
        ]
      }
    },
    {
      "id": "bitcoin-block-reorganizations-fact-conflict",
      "articleSlug": "bitcoin-block-reorganizations",
      "statement": "Conflict: A transaction from a displaced block is not guaranteed to confirm again.",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "P2PKH Script Validation; Transaction Fees And Change"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked developer-guide Block Height And Forking and white-paper sections 4–5 and 11. Valid-chain selection concerns accumulated work, and displaced transactions may be included, pending or conflicting.",
          "The attacker catch-up model is qualified by its assumptions. No fixed confirmation depth is described as mathematical irreversibility."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-quick-answer",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "A Bitcoin coinbase output cannot be spent in a valid transaction until the spending block is at least 100 heights after its creation block. This is a consensus maturity rule for coinbase outputs, not a general 100-confirmation requirement for every payment and not a rule of the Coinbase exchange.",
      "sourceIds": [
        "source-48301996fb33a646",
        "source-7f9f03e49e78d731"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        },
        {
          "sourceId": "source-7f9f03e49e78d731",
          "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-constant",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Constant: Bitcoin Core v29.0 defines COINBASE_MATURITY as 100.",
      "sourceIds": [
        "source-7f9f03e49e78d731"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f9f03e49e78d731",
          "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-check",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Check: The spending height minus the coinbase creation height must be at least 100.",
      "sourceIds": [
        "source-48301996fb33a646"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "bitcoin-coinbase-maturity-fact-coverage",
      "articleSlug": "bitcoin-coinbase-maturity",
      "statement": "Coverage: The maturity check applies to the coinbase output, including its subsidy-and-fee-funded value.",
      "sourceIds": [
        "source-48301996fb33a646",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48301996fb33a646",
          "locator": "CheckTxInputs"
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Proof Of Work; Block Height And Forking; Transaction Data"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read CheckTxInputs and COINBASE_MATURITY = 100. Verified spending-height minus creation-height boundary and the 900000/900099/900100 example.",
          "Replaced unsupported prevalence wording about pool payouts with a structural statement about separate non-coinbase transactions. The maturity rule covers coinbase outputs including fee-funded value."
        ]
      }
    },
    {
      "id": "lightning-payment-channels-quick-answer",
      "articleSlug": "lightning-payment-channels",
      "statement": "A Lightning payment channel lets participants update their claims on bitcoin committed to a funding output without publishing every payment as a separate Bitcoin transaction. Commitment transactions and channel rules provide on-chain enforcement paths. Opening, closing, liquidity and monitoring requirements still matter.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 2 Channel Establishment, commitment transitions, Forwarding HTLCs and Channel Close, plus BOLT 7 routing constraints. Funding, signed updates and cooperative/unilateral exits remain separate.",
          "Recomputed 70,000/30,000 allocation shifted by 10,000 to 60,000/40,000; the example excludes reserves, in-flight HTLCs and fees explicitly."
        ]
      }
    },
    {
      "id": "lightning-payment-channels-fact-funding",
      "articleSlug": "lightning-payment-channels",
      "statement": "Funding: Channel establishment commits funds through a Bitcoin funding transaction.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 2 Channel Establishment, commitment transitions, Forwarding HTLCs and Channel Close, plus BOLT 7 routing constraints. Funding, signed updates and cooperative/unilateral exits remain separate.",
          "Recomputed 70,000/30,000 allocation shifted by 10,000 to 60,000/40,000; the example excludes reserves, in-flight HTLCs and fees explicitly."
        ]
      }
    },
    {
      "id": "lightning-payment-channels-fact-updates",
      "articleSlug": "lightning-payment-channels",
      "statement": "Updates: Participants exchange messages and signatures that advance the channel state.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 2 Channel Establishment, commitment transitions, Forwarding HTLCs and Channel Close, plus BOLT 7 routing constraints. Funding, signed updates and cooperative/unilateral exits remain separate.",
          "Recomputed 70,000/30,000 allocation shifted by 10,000 to 60,000/40,000; the example excludes reserves, in-flight HTLCs and fees explicitly."
        ]
      }
    },
    {
      "id": "lightning-payment-channels-fact-exit",
      "articleSlug": "lightning-payment-channels",
      "statement": "Exit: Cooperative closing and unilateral commitment-based closing have different requirements.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 2 Channel Establishment, commitment transitions, Forwarding HTLCs and Channel Close, plus BOLT 7 routing constraints. Funding, signed updates and cooperative/unilateral exits remain separate.",
          "Recomputed 70,000/30,000 allocation shifted by 10,000 to 60,000/40,000; the example excludes reserves, in-flight HTLCs and fees explicitly."
        ]
      }
    },
    {
      "id": "lightning-inbound-liquidity-quick-answer",
      "articleSlug": "lightning-inbound-liquidity",
      "statement": "Inbound Lightning liquidity is usable channel capacity that peers can move toward your side when you receive a payment. Outbound liquidity supports payments in the opposite direction. A channel’s total capacity does not describe how much you can receive or send now; balance placement and channel constraints matter.",
      "sourceIds": [
        "source-648d3322879b342a",
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-648d3322879b342a",
          "locator": "Payments; Receiving funds; Routing liquidity"
        },
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Original lnd-liquidity citation was a landing page lacking inbound/outbound explanation. Independently retrieved and read its linked Understanding Liquidity page; catalog URL/title/locators were corrected.",
          "Receiving funds/Payments/Routing liquidity and BOLT 2 reserves support direction and routing limits. Checked 90,000 outbound/10,000 inbound illustrative split; no guarantee of route availability."
        ]
      }
    },
    {
      "id": "lightning-inbound-liquidity-fact-direction",
      "articleSlug": "lightning-inbound-liquidity",
      "statement": "Direction: Inbound and outbound liquidity describe different directions through a channel.",
      "sourceIds": [
        "source-648d3322879b342a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-648d3322879b342a",
          "locator": "Payments; Receiving funds; Routing liquidity"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Original lnd-liquidity citation was a landing page lacking inbound/outbound explanation. Independently retrieved and read its linked Understanding Liquidity page; catalog URL/title/locators were corrected.",
          "Receiving funds/Payments/Routing liquidity and BOLT 2 reserves support direction and routing limits. Checked 90,000 outbound/10,000 inbound illustrative split; no guarantee of route availability."
        ]
      }
    },
    {
      "id": "lightning-inbound-liquidity-fact-balance",
      "articleSlug": "lightning-inbound-liquidity",
      "statement": "Balance: A payment shifts allocation between channel participants.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Original lnd-liquidity citation was a landing page lacking inbound/outbound explanation. Independently retrieved and read its linked Understanding Liquidity page; catalog URL/title/locators were corrected.",
          "Receiving funds/Payments/Routing liquidity and BOLT 2 reserves support direction and routing limits. Checked 90,000 outbound/10,000 inbound illustrative split; no guarantee of route availability."
        ]
      }
    },
    {
      "id": "lightning-inbound-liquidity-fact-constraints",
      "articleSlug": "lightning-inbound-liquidity",
      "statement": "Constraints: Reserves, pending HTLCs and routing limits reduce usable capacity.",
      "sourceIds": [
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Original lnd-liquidity citation was a landing page lacking inbound/outbound explanation. Independently retrieved and read its linked Understanding Liquidity page; catalog URL/title/locators were corrected.",
          "Receiving funds/Payments/Routing liquidity and BOLT 2 reserves support direction and routing limits. Checked 90,000 outbound/10,000 inbound illustrative split; no guarantee of route availability."
        ]
      }
    },
    {
      "id": "lightning-routing-fees-quick-answer",
      "articleSlug": "lightning-routing-fees",
      "statement": "Lightning channel updates advertise direction-specific forwarding fees, commonly a base fee plus a proportional rate in millionths of the forwarded amount. A multi-hop route can incur multiple forwarding charges. These are separate from the Bitcoin transaction fees involved in opening or closing channels.",
      "sourceIds": [
        "source-d55abd3fe3dfc8b1",
        "source-b9dd1646f089b1a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d55abd3fe3dfc8b1",
          "locator": "The channel_update Message; HTLC Fees; Example; fee_base_msat; fee_proportional_millionths"
        },
        {
          "sourceId": "source-b9dd1646f089b1a7",
          "locator": "Channel Establishment; Forwarding HTLCs; Channel Close"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 7 channel_update direction and HTLC Fees formula, including its route example. Recomputed 1,000 msat base + 100 ppm on 100,000 sat = 11 sat; 100 ppm = 0.01%.",
          "Multi-hop fee dependency is distinct from funding/closing transaction costs. Integer rounding and implementation scope are retained."
        ]
      }
    },
    {
      "id": "lightning-routing-fees-fact-base-unit",
      "articleSlug": "lightning-routing-fees",
      "statement": "Base unit: fee_base_msat is denominated in millisatoshis.",
      "sourceIds": [
        "source-d55abd3fe3dfc8b1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d55abd3fe3dfc8b1",
          "locator": "The channel_update Message; HTLC Fees; Example; fee_base_msat; fee_proportional_millionths"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 7 channel_update direction and HTLC Fees formula, including its route example. Recomputed 1,000 msat base + 100 ppm on 100,000 sat = 11 sat; 100 ppm = 0.01%.",
          "Multi-hop fee dependency is distinct from funding/closing transaction costs. Integer rounding and implementation scope are retained."
        ]
      }
    },
    {
      "id": "lightning-routing-fees-fact-proportional-unit",
      "articleSlug": "lightning-routing-fees",
      "statement": "Proportional unit: fee_proportional_millionths uses parts per million of the forwarded amount.",
      "sourceIds": [
        "source-d55abd3fe3dfc8b1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d55abd3fe3dfc8b1",
          "locator": "The channel_update Message; HTLC Fees; Example; fee_base_msat; fee_proportional_millionths"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 7 channel_update direction and HTLC Fees formula, including its route example. Recomputed 1,000 msat base + 100 ppm on 100,000 sat = 11 sat; 100 ppm = 0.01%.",
          "Multi-hop fee dependency is distinct from funding/closing transaction costs. Integer rounding and implementation scope are retained."
        ]
      }
    },
    {
      "id": "lightning-routing-fees-fact-direction",
      "articleSlug": "lightning-routing-fees",
      "statement": "Direction: Channel update parameters apply to a direction, not one universal fee for both peers.",
      "sourceIds": [
        "source-d55abd3fe3dfc8b1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d55abd3fe3dfc8b1",
          "locator": "The channel_update Message; HTLC Fees; Example; fee_base_msat; fee_proportional_millionths"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read BOLT 7 channel_update direction and HTLC Fees formula, including its route example. Recomputed 1,000 msat base + 100 ppm on 100,000 sat = 11 sat; 100 ppm = 0.01%.",
          "Multi-hop fee dependency is distinct from funding/closing transaction costs. Integer rounding and implementation scope are retained."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-quick-answer",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "An Ethereum transaction hash identifies the encoded transaction, not its outcome. It can be known before inclusion and does not prove execution succeeded. Look it up on the correct network, then inspect the receipt, block position and relevant balance or event changes.",
      "sourceIds": [
        "source-c4666896686db30e",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-identifier",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Identifier: The RPC transaction object exposes a hash field.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-pending",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Pending: Block fields can be null while a transaction is pending.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-hashes-fact-result",
      "articleSlug": "ethereum-transaction-hashes",
      "statement": "Result: Execution outcome belongs in the receipt’s status, not in the identifier itself.",
      "sourceIds": [
        "source-fc3b7cce0edd664b",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fc3b7cce0edd664b",
          "locator": "Specification"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked RPC pending null block fields, hash lookup and receipt status against transaction signing/lifecycle and EIP-658. Inclusion, outcome and finality remain distinct.",
          "Added ERC-4337 to the user-operation identifier passage and account nonce source to replacement passage; the UserOperation hash is not the enclosing transaction hash."
        ]
      }
    },
    {
      "id": "ethereum-transaction-receipts-quick-answer",
      "articleSlug": "ethereum-transaction-receipts",
      "statement": "An Ethereum transaction receipt records information produced when an included transaction executes: status, gas used, logs and block references. A success status means the top-level execution completed without reverting. It does not prove finality, a fair trade or that every application-level expectation was met.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-fc3b7cce0edd664b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-fc3b7cce0edd664b",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked gasUsed versus cumulativeGasUsed, effectiveGasPrice and post-Byzantium status fields in eth_getTransactionReceipt. ERC-20 explicitly requires callers to handle false, supporting the application-level failure example.",
          "Added EIP-1559, EIP-4844 and Optimism fee citations to the fee-component section; OP fee accounting is an example supporting the qualified rollup statement, not a universal fee formula."
        ]
      }
    },
    {
      "id": "ethereum-transaction-receipts-fact-status",
      "articleSlug": "ethereum-transaction-receipts",
      "statement": "Status: Post-Byzantium receipts use 1 for success and 0 for top-level failure.",
      "sourceIds": [
        "source-fc3b7cce0edd664b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fc3b7cce0edd664b",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked gasUsed versus cumulativeGasUsed, effectiveGasPrice and post-Byzantium status fields in eth_getTransactionReceipt. ERC-20 explicitly requires callers to handle false, supporting the application-level failure example.",
          "Added EIP-1559, EIP-4844 and Optimism fee citations to the fee-component section; OP fee accounting is an example supporting the qualified rollup statement, not a universal fee formula."
        ]
      }
    },
    {
      "id": "ethereum-transaction-receipts-fact-gas",
      "articleSlug": "ethereum-transaction-receipts",
      "statement": "Gas: gasUsed describes this transaction; cumulativeGasUsed includes earlier transactions in the block.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked gasUsed versus cumulativeGasUsed, effectiveGasPrice and post-Byzantium status fields in eth_getTransactionReceipt. ERC-20 explicitly requires callers to handle false, supporting the application-level failure example.",
          "Added EIP-1559, EIP-4844 and Optimism fee citations to the fee-component section; OP fee accounting is an example supporting the qualified rollup statement, not a universal fee formula."
        ]
      }
    },
    {
      "id": "ethereum-transaction-receipts-fact-logs",
      "articleSlug": "ethereum-transaction-receipts",
      "statement": "Logs: Logs contain contract-emitted event data, interpreted with the relevant ABI.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked gasUsed versus cumulativeGasUsed, effectiveGasPrice and post-Byzantium status fields in eth_getTransactionReceipt. ERC-20 explicitly requires callers to handle false, supporting the application-level failure example.",
          "Added EIP-1559, EIP-4844 and Optimism fee citations to the fee-component section; OP fee accounting is an example supporting the qualified rollup statement, not a universal fee formula."
        ]
      }
    },
    {
      "id": "ethereum-reverted-transactions-quick-answer",
      "articleSlug": "ethereum-reverted-transactions",
      "statement": "A reverted Ethereum transaction rolls back its execution’s state changes, but the included attempt still consumes gas and the sender’s transaction nonce. REVERT can preserve unused gas; it does not refund work already performed. A failed internal call can also be caught by a contract while the enclosing transaction succeeds.",
      "sourceIds": [
        "source-ccab9c4be966af8f",
        "source-c4666896686db30e",
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccab9c4be966af8f",
          "locator": "Specification"
        },
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "What is gas?; Base fee; Priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "EIP-140 confirms reverted state/log rollback, return data, unused-gas behavior and low-level failure result. Solidity Message Calls explains handled subcall failure; EIP-658 distinguishes top-level status.",
          "Independently recomputed 40000 × 20 × 10^9 = 800000000000000 wei = 0.0008 ETH. Added account nonce source to retry scope; gas and nonce remain outside the reverted contract execution effects."
        ]
      }
    },
    {
      "id": "ethereum-reverted-transactions-fact-rollback",
      "articleSlug": "ethereum-reverted-transactions",
      "statement": "Rollback: REVERT discards the reverted execution’s state changes and logs.",
      "sourceIds": [
        "source-ccab9c4be966af8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccab9c4be966af8f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "EIP-140 confirms reverted state/log rollback, return data, unused-gas behavior and low-level failure result. Solidity Message Calls explains handled subcall failure; EIP-658 distinguishes top-level status.",
          "Independently recomputed 40000 × 20 × 10^9 = 800000000000000 wei = 0.0008 ETH. Added account nonce source to retry scope; gas and nonce remain outside the reverted contract execution effects."
        ]
      }
    },
    {
      "id": "ethereum-reverted-transactions-fact-remaining-gas",
      "articleSlug": "ethereum-reverted-transactions",
      "statement": "Remaining gas: REVERT does not inherently consume every remaining gas unit.",
      "sourceIds": [
        "source-ccab9c4be966af8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccab9c4be966af8f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "EIP-140 confirms reverted state/log rollback, return data, unused-gas behavior and low-level failure result. Solidity Message Calls explains handled subcall failure; EIP-658 distinguishes top-level status.",
          "Independently recomputed 40000 × 20 × 10^9 = 800000000000000 wei = 0.0008 ETH. Added account nonce source to retry scope; gas and nonce remain outside the reverted contract execution effects."
        ]
      }
    },
    {
      "id": "ethereum-reverted-transactions-fact-receipt",
      "articleSlug": "ethereum-reverted-transactions",
      "statement": "Receipt: A zero receipt status identifies top-level failure.",
      "sourceIds": [
        "source-fc3b7cce0edd664b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fc3b7cce0edd664b",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "EIP-140 confirms reverted state/log rollback, return data, unused-gas behavior and low-level failure result. Solidity Message Calls explains handled subcall failure; EIP-658 distinguishes top-level status.",
          "Independently recomputed 40000 × 20 × 10^9 = 800000000000000 wei = 0.0008 ETH. Added account nonce source to retry scope; gas and nonce remain outside the reverted contract execution effects."
        ]
      }
    },
    {
      "id": "ethereum-pending-transactions-quick-answer",
      "articleSlug": "ethereum-pending-transactions",
      "statement": "A pending Ethereum transaction has not yet been included in the chain being observed. It may be waiting for a lower sender nonce, more favorable fee conditions or propagation to a block builder. A wallet’s pending label and one RPC provider’s transaction pool are observations, not a network-wide guarantee of inclusion.",
      "sourceIds": [
        "source-c4666896686db30e",
        "source-a5154b4118a3d15f",
        "source-2be2a692f09f4d89"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-2be2a692f09f4d89",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked transaction counter ordering, latest/pending state tags, pending null block fields, RPC same-nonce replacement and EIP-1559 fee-cap >= base-fee requirement.",
          "The nonce-12/13 scenario is illustrative sequential-account reasoning. Pool observations, propagation and cancellation are appropriately qualified and not promises of inclusion."
        ]
      }
    },
    {
      "id": "ethereum-pending-transactions-fact-order",
      "articleSlug": "ethereum-pending-transactions",
      "statement": "Order: Ordinary sender transactions must consume the account’s transaction nonces in order.",
      "sourceIds": [
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked transaction counter ordering, latest/pending state tags, pending null block fields, RPC same-nonce replacement and EIP-1559 fee-cap >= base-fee requirement.",
          "The nonce-12/13 scenario is illustrative sequential-account reasoning. Pool observations, propagation and cancellation are appropriately qualified and not promises of inclusion."
        ]
      }
    },
    {
      "id": "ethereum-pending-transactions-fact-fee-cap",
      "articleSlug": "ethereum-pending-transactions",
      "statement": "Fee cap: A transaction’s applicable fee cap must cover the base fee for inclusion.",
      "sourceIds": [
        "source-2be2a692f09f4d89"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2be2a692f09f4d89",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked transaction counter ordering, latest/pending state tags, pending null block fields, RPC same-nonce replacement and EIP-1559 fee-cap >= base-fee requirement.",
          "The nonce-12/13 scenario is illustrative sequential-account reasoning. Pool observations, propagation and cancellation are appropriately qualified and not promises of inclusion."
        ]
      }
    },
    {
      "id": "ethereum-pending-transactions-fact-observation",
      "articleSlug": "ethereum-pending-transactions",
      "statement": "Observation: A pending transaction can have null block fields in RPC responses.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked transaction counter ordering, latest/pending state tags, pending null block fields, RPC same-nonce replacement and EIP-1559 fee-cap >= base-fee requirement.",
          "The nonce-12/13 scenario is illustrative sequential-account reasoning. Pool observations, propagation and cancellation are appropriately qualified and not promises of inclusion."
        ]
      }
    },
    {
      "id": "ethereum-transaction-replacement-quick-answer",
      "articleSlug": "ethereum-transaction-replacement",
      "statement": "An Ethereum replacement uses the same sender and transaction nonce as a pending transaction while changing fields such as fees. Nodes apply their own transaction-pool replacement rules. The first valid competing transaction included consumes that nonce; a replacement cannot undo an already executed transaction.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-c4666896686db30e",
        "source-7d0cb48e5739e6a6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        },
        {
          "sourceId": "source-7d0cb48e5739e6a6",
          "locator": "txpool.pricebump; txpool.lifetime"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently inspected Geth v1.15.11 list.Add: replacement matches nonce, requires increased fee and tip caps, then applies the configurable price-bump thresholds to both. Added this implementation source to the fee-cap passage.",
          "Added account nonce support; replaced the potentially misleading harmless-alternative wording with different-operation wording. Cancellation remains a competition for an unconsumed nonce, not reversal."
        ]
      }
    },
    {
      "id": "ethereum-transaction-replacement-fact-competition",
      "articleSlug": "ethereum-transaction-replacement",
      "statement": "Competition: The replacement and original compete for one sender nonce.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-2fb64d6fc5cedb00"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently inspected Geth v1.15.11 list.Add: replacement matches nonce, requires increased fee and tip caps, then applies the configurable price-bump thresholds to both. Added this implementation source to the fee-cap passage.",
          "Added account nonce support; replaced the potentially misleading harmless-alternative wording with different-operation wording. Cancellation remains a competition for an unconsumed nonce, not reversal."
        ]
      }
    },
    {
      "id": "ethereum-transaction-replacement-fact-hash",
      "articleSlug": "ethereum-transaction-replacement",
      "statement": "Hash: Changing the signed transaction creates a different transaction identifier.",
      "sourceIds": [
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently inspected Geth v1.15.11 list.Add: replacement matches nonce, requires increased fee and tip caps, then applies the configurable price-bump thresholds to both. Added this implementation source to the fee-cap passage.",
          "Added account nonce support; replaced the potentially misleading harmless-alternative wording with different-operation wording. Cancellation remains a competition for an unconsumed nonce, not reversal."
        ]
      }
    },
    {
      "id": "ethereum-transaction-replacement-fact-limits",
      "articleSlug": "ethereum-transaction-replacement",
      "statement": "Limits: A same-nonce attempt cannot reverse a nonce already consumed in the accepted chain.",
      "sourceIds": [
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently inspected Geth v1.15.11 list.Add: replacement matches nonce, requires increased fee and tip caps, then applies the configurable price-bump thresholds to both. Added this implementation source to the fee-cap passage.",
          "Added account nonce support; replaced the potentially misleading harmless-alternative wording with different-operation wording. Cancellation remains a competition for an unconsumed nonce, not reversal."
        ]
      }
    },
    {
      "id": "ethereum-chain-id-quick-answer",
      "articleSlug": "ethereum-chain-id",
      "statement": "A chain ID is a number used to distinguish transaction-signing domains on Ethereum-compatible networks. EIP-155 incorporated it into legacy transaction signing to limit cross-chain replay. It does not identify an asset by itself, prove a network is trustworthy or automatically protect every off-chain signature.",
      "sourceIds": [
        "source-1975773eb9dbad9f",
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1975773eb9dbad9f",
          "locator": "Specification"
        },
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-155 nine-element legacy signing payload, chain-ID recovery rules and backward-compatible unprotected signing; no blanket replay guarantee is asserted.",
          "Cross-checked chain-independent address derivation against EIP-712 domain fields and ERC-2612 contract/chain domain plus nonce/deadline checks."
        ]
      }
    },
    {
      "id": "ethereum-chain-id-fact-replay-scope",
      "articleSlug": "ethereum-chain-id",
      "statement": "Replay scope: EIP-155 changes the signed legacy transaction payload to include a chain ID.",
      "sourceIds": [
        "source-1975773eb9dbad9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1975773eb9dbad9f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-155 nine-element legacy signing payload, chain-ID recovery rules and backward-compatible unprotected signing; no blanket replay guarantee is asserted.",
          "Cross-checked chain-independent address derivation against EIP-712 domain fields and ERC-2612 contract/chain domain plus nonce/deadline checks."
        ]
      }
    },
    {
      "id": "ethereum-chain-id-fact-address",
      "articleSlug": "ethereum-chain-id",
      "statement": "Address: Address bytes alone do not specify a network.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00",
        "source-1975773eb9dbad9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        },
        {
          "sourceId": "source-1975773eb9dbad9f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-155 nine-element legacy signing payload, chain-ID recovery rules and backward-compatible unprotected signing; no blanket replay guarantee is asserted.",
          "Cross-checked chain-independent address derivation against EIP-712 domain fields and ERC-2612 contract/chain domain plus nonce/deadline checks."
        ]
      }
    },
    {
      "id": "ethereum-chain-id-fact-typed-data",
      "articleSlug": "ethereum-chain-id",
      "statement": "Typed data: An EIP-712 domain can include chainId, but applications must implement replay protections.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-155 nine-element legacy signing payload, chain-ID recovery rules and backward-compatible unprotected signing; no blanket replay guarantee is asserted.",
          "Cross-checked chain-independent address derivation against EIP-712 domain fields and ERC-2612 contract/chain domain plus nonce/deadline checks."
        ]
      }
    },
    {
      "id": "ethereum-address-checksums-quick-answer",
      "articleSlug": "ethereum-address-checksums",
      "statement": "EIP-55 encodes a checksum in the capitalization of an Ethereum address’s hexadecimal letters. Correct checking can detect many typing mistakes without changing the underlying address bytes. It does not prove the recipient’s identity, select a network or guarantee that every possible error will be caught.",
      "sourceIds": [
        "source-c93ab64d58d43e2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c93ab64d58d43e2d",
          "locator": "Specification; Rationale; Test Cases"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-55 algorithm, rationale and test vectors: ASCII lowercase hex is hashed, decimal digits have no case, and no chain ID enters the algorithm.",
          "Corrected lowercase FAQ because Test Cases explicitly include valid entirely lowercase checksum outputs. Acceptance by a wallet alone still does not establish checksum validation."
        ]
      }
    },
    {
      "id": "ethereum-address-checksums-fact-bytes",
      "articleSlug": "ethereum-address-checksums",
      "statement": "Bytes: Changing letter case does not change the underlying hexadecimal address value.",
      "sourceIds": [
        "source-c93ab64d58d43e2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c93ab64d58d43e2d",
          "locator": "Specification; Rationale; Test Cases"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-55 algorithm, rationale and test vectors: ASCII lowercase hex is hashed, decimal digits have no case, and no chain ID enters the algorithm.",
          "Corrected lowercase FAQ because Test Cases explicitly include valid entirely lowercase checksum outputs. Acceptance by a wallet alone still does not establish checksum validation."
        ]
      }
    },
    {
      "id": "ethereum-address-checksums-fact-checksum",
      "articleSlug": "ethereum-address-checksums",
      "statement": "Checksum: Capitalization is derived from a hash of the lowercase address text.",
      "sourceIds": [
        "source-c93ab64d58d43e2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c93ab64d58d43e2d",
          "locator": "Specification; Rationale; Test Cases"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-55 algorithm, rationale and test vectors: ASCII lowercase hex is hashed, decimal digits have no case, and no chain ID enters the algorithm.",
          "Corrected lowercase FAQ because Test Cases explicitly include valid entirely lowercase checksum outputs. Acceptance by a wallet alone still does not establish checksum validation."
        ]
      }
    },
    {
      "id": "ethereum-address-checksums-fact-limits",
      "articleSlug": "ethereum-address-checksums",
      "statement": "Limits: The checksum detects errors probabilistically; it is not identity verification.",
      "sourceIds": [
        "source-c93ab64d58d43e2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c93ab64d58d43e2d",
          "locator": "Specification; Rationale; Test Cases"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-55 algorithm, rationale and test vectors: ASCII lowercase hex is hashed, decimal digits have no case, and no chain ID enters the algorithm.",
          "Corrected lowercase FAQ because Test Cases explicitly include valid entirely lowercase checksum outputs. Acceptance by a wallet alone still does not establish checksum validation."
        ]
      }
    },
    {
      "id": "wei-and-gwei-quick-answer",
      "articleSlug": "wei-and-gwei",
      "statement": "Wei is Ethereum’s smallest ETH denomination: one ETH is 10^18 wei. One gwei is 10^9 wei, so one ETH is one billion gwei. Gas prices are often quoted in gwei per gas; multiply by gas used to calculate the execution-gas fee, then convert the result into ETH.",
      "sourceIds": [
        "source-5cadd0da692ffaa8",
        "source-2fb64d6fc5cedb00"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "What is gas?; Base fee; Priority fee"
        },
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Confirmed ETH/wei/gwei scaling and independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH. RPC quantity integers and optional ERC-20 decimals remain distinct.",
          "Added receipt support to after-the-fact gasUsed calculation and Optimism support to the additional rollup-fee qualification. No live fee quote or total-cost guarantee is given."
        ]
      }
    },
    {
      "id": "wei-and-gwei-fact-wei",
      "articleSlug": "wei-and-gwei",
      "statement": "Wei: 1 ETH = 1,000,000,000,000,000,000 wei.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Confirmed ETH/wei/gwei scaling and independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH. RPC quantity integers and optional ERC-20 decimals remain distinct.",
          "Added receipt support to after-the-fact gasUsed calculation and Optimism support to the additional rollup-fee qualification. No live fee quote or total-cost guarantee is given."
        ]
      }
    },
    {
      "id": "wei-and-gwei-fact-gwei",
      "articleSlug": "wei-and-gwei",
      "statement": "Gwei: 1 gwei = 1,000,000,000 wei.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "What is gas?; Base fee; Priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Confirmed ETH/wei/gwei scaling and independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH. RPC quantity integers and optional ERC-20 decimals remain distinct.",
          "Added receipt support to after-the-fact gasUsed calculation and Optimism support to the additional rollup-fee qualification. No live fee quote or total-cost guarantee is given."
        ]
      }
    },
    {
      "id": "wei-and-gwei-fact-execution-fee",
      "articleSlug": "wei-and-gwei",
      "statement": "Execution fee: Gas used × effective price per gas gives the execution-gas charge.",
      "sourceIds": [
        "source-2be2a692f09f4d89",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2be2a692f09f4d89",
          "locator": "Specification"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Confirmed ETH/wei/gwei scaling and independently recomputed 50000 × 12 × 10^9 = 600000000000000 wei = 0.0006 ETH. RPC quantity integers and optional ERC-20 decimals remain distinct.",
          "Added receipt support to after-the-fact gasUsed calculation and Optimism support to the additional rollup-fee qualification. No live fee quote or total-cost guarantee is given."
        ]
      }
    },
    {
      "id": "ethereum-calldata-quick-answer",
      "articleSlug": "ethereum-calldata",
      "statement": "Calldata is the input data supplied to an Ethereum call. For a conventional ABI-encoded function call, it begins with a four-byte selector followed by encoded arguments. The bytes can request powerful actions even when the transaction transfers zero ETH. Decoding requires the correct interface and execution context.",
      "sourceIds": [
        "source-6219cf92582a012d",
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        },
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked selector/arguments and static/dynamic encodings against Solidity ABI; ERC-20 approve/transfer signatures support zero-ETH-value token actions.",
          "Added RPC input-field evidence for public transaction input. Selector collisions follow from the finite 32-bit identifier and are not treated as unique proof of behavior."
        ]
      }
    },
    {
      "id": "ethereum-calldata-fact-selector",
      "articleSlug": "ethereum-calldata",
      "statement": "Selector: The first four bytes of a conventional ABI function call identify a function signature.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked selector/arguments and static/dynamic encodings against Solidity ABI; ERC-20 approve/transfer signatures support zero-ETH-value token actions.",
          "Added RPC input-field evidence for public transaction input. Selector collisions follow from the finite 32-bit identifier and are not treated as unique proof of behavior."
        ]
      }
    },
    {
      "id": "ethereum-calldata-fact-arguments",
      "articleSlug": "ethereum-calldata",
      "statement": "Arguments: Arguments follow the selector using ABI encoding rules.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked selector/arguments and static/dynamic encodings against Solidity ABI; ERC-20 approve/transfer signatures support zero-ETH-value token actions.",
          "Added RPC input-field evidence for public transaction input. Selector collisions follow from the finite 32-bit identifier and are not treated as unique proof of behavior."
        ]
      }
    },
    {
      "id": "ethereum-calldata-fact-value",
      "articleSlug": "ethereum-calldata",
      "statement": "Value: The transaction’s ETH value and input data are distinct fields.",
      "sourceIds": [
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked selector/arguments and static/dynamic encodings against Solidity ABI; ERC-20 approve/transfer signatures support zero-ETH-value token actions.",
          "Added RPC input-field evidence for public transaction input. Selector collisions follow from the finite 32-bit identifier and are not treated as unique proof of behavior."
        ]
      }
    },
    {
      "id": "function-selectors-quick-answer",
      "articleSlug": "function-selectors",
      "statement": "A conventional Ethereum ABI function selector is the first four bytes of the Keccak-256 hash of the canonical function signature, such as its name and parameter types. It helps a contract dispatch a call. It is only 32 bits, so different signatures can collide; a selector lookup alone cannot establish the intended behavior.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read canonical signature definition: first four Keccak-256 bytes, function name plus canonical parameter types, no parameter names or return types.",
          "Four-byte collision limitation is a direct finite-identifier inference; ABI fallback and OpenZeppelin proxy dispatch support the destination-context caveat. No example selector constant is fabricated."
        ]
      }
    },
    {
      "id": "function-selectors-fact-size",
      "articleSlug": "function-selectors",
      "statement": "Size: An ABI function selector is four bytes.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read canonical signature definition: first four Keccak-256 bytes, function name plus canonical parameter types, no parameter names or return types.",
          "Four-byte collision limitation is a direct finite-identifier inference; ABI fallback and OpenZeppelin proxy dispatch support the destination-context caveat. No example selector constant is fabricated."
        ]
      }
    },
    {
      "id": "function-selectors-fact-signature",
      "articleSlug": "function-selectors",
      "statement": "Signature: The canonical signature includes parameter types, not parameter names.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read canonical signature definition: first four Keccak-256 bytes, function name plus canonical parameter types, no parameter names or return types.",
          "Four-byte collision limitation is a direct finite-identifier inference; ABI fallback and OpenZeppelin proxy dispatch support the destination-context caveat. No example selector constant is fabricated."
        ]
      }
    },
    {
      "id": "function-selectors-fact-returns",
      "articleSlug": "function-selectors",
      "statement": "Returns: Return types are not part of the function selector.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read canonical signature definition: first four Keccak-256 bytes, function name plus canonical parameter types, no parameter names or return types.",
          "Four-byte collision limitation is a direct finite-identifier inference; ABI fallback and OpenZeppelin proxy dispatch support the destination-context caveat. No example selector constant is fabricated."
        ]
      }
    },
    {
      "id": "smart-contract-events-quick-answer",
      "articleSlug": "smart-contract-events",
      "statement": "Ethereum contract events are logs emitted during execution. They record an emitting address, topics and data that an ABI can decode. Events help applications index activity, but a log’s name is not proof that its contents are truthful or that the emitter is the asset contract a reader intended to inspect.",
      "sourceIds": [
        "source-6219cf92582a012d",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked emitter address, topic zero for non-anonymous events, indexed-value hashes, unindexed data and arbitrary event emission against Solidity ABI.",
          "EIP-140 confirms logs from reverted execution are discarded; RPC log block context and removed flag support reorg-aware indexing. Familiar Transfer names do not authenticate an emitting address."
        ]
      }
    },
    {
      "id": "smart-contract-events-fact-emitter",
      "articleSlug": "smart-contract-events",
      "statement": "Emitter: Each log identifies the address that emitted it.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked emitter address, topic zero for non-anonymous events, indexed-value hashes, unindexed data and arbitrary event emission against Solidity ABI.",
          "EIP-140 confirms logs from reverted execution are discarded; RPC log block context and removed flag support reorg-aware indexing. Familiar Transfer names do not authenticate an emitting address."
        ]
      }
    },
    {
      "id": "smart-contract-events-fact-topics",
      "articleSlug": "smart-contract-events",
      "statement": "Topics: Non-anonymous ABI events usually place the event-signature hash in the first topic.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked emitter address, topic zero for non-anonymous events, indexed-value hashes, unindexed data and arbitrary event emission against Solidity ABI.",
          "EIP-140 confirms logs from reverted execution are discarded; RPC log block context and removed flag support reorg-aware indexing. Familiar Transfer names do not authenticate an emitting address."
        ]
      }
    },
    {
      "id": "smart-contract-events-fact-reversion",
      "articleSlug": "smart-contract-events",
      "statement": "Reversion: Logs from reverted execution are discarded.",
      "sourceIds": [
        "source-ccab9c4be966af8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccab9c4be966af8f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked emitter address, topic zero for non-anonymous events, indexed-value hashes, unindexed data and arbitrary event emission against Solidity ABI.",
          "EIP-140 confirms logs from reverted execution are discarded; RPC log block context and removed flag support reorg-aware indexing. Familiar Transfer names do not authenticate an emitting address."
        ]
      }
    },
    {
      "id": "internal-transactions-quick-answer",
      "articleSlug": "internal-transactions",
      "statement": "“Internal transactions” is an explorer label commonly used for calls or value movements within an Ethereum transaction’s execution. These are not separately signed top-level transactions. A trace can reveal their call tree, errors and ETH values, but explorers can differ in which trace operations they display.",
      "sourceIds": [
        "source-269c0acf9654acdf",
        "source-c4666896686db30e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-269c0acf9654acdf",
          "locator": "callTracer; prestateTracer"
        },
        {
          "sourceId": "source-c4666896686db30e",
          "locator": "The transaction lifecycle; Typed transaction envelope"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Geth callTracer frame types, depth-zero root, nested calls, errors and target semantics. DELEGATECALL points to code and is not automatically a payment.",
          "Trace configuration, prestate diff behavior and ERC-20 accounting support distinguishing nested execution, token logs and separately signed transactions. Explorer labels are explicitly qualified."
        ]
      }
    },
    {
      "id": "internal-transactions-fact-parent",
      "articleSlug": "internal-transactions",
      "statement": "Parent: Nested calls occur within an enclosing transaction execution.",
      "sourceIds": [
        "source-269c0acf9654acdf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-269c0acf9654acdf",
          "locator": "callTracer; prestateTracer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Geth callTracer frame types, depth-zero root, nested calls, errors and target semantics. DELEGATECALL points to code and is not automatically a payment.",
          "Trace configuration, prestate diff behavior and ERC-20 accounting support distinguishing nested execution, token logs and separately signed transactions. Explorer labels are explicitly qualified."
        ]
      }
    },
    {
      "id": "internal-transactions-fact-types",
      "articleSlug": "internal-transactions",
      "statement": "Types: A trace distinguishes CALL, DELEGATECALL, contract creation and other operations.",
      "sourceIds": [
        "source-269c0acf9654acdf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-269c0acf9654acdf",
          "locator": "callTracer; prestateTracer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Geth callTracer frame types, depth-zero root, nested calls, errors and target semantics. DELEGATECALL points to code and is not automatically a payment.",
          "Trace configuration, prestate diff behavior and ERC-20 accounting support distinguishing nested execution, token logs and separately signed transactions. Explorer labels are explicitly qualified."
        ]
      }
    },
    {
      "id": "internal-transactions-fact-errors",
      "articleSlug": "internal-transactions",
      "statement": "Errors: A nested frame can fail even when an enclosing caller handles that failure.",
      "sourceIds": [
        "source-269c0acf9654acdf",
        "source-ccab9c4be966af8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-269c0acf9654acdf",
          "locator": "callTracer; prestateTracer"
        },
        {
          "sourceId": "source-ccab9c4be966af8f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Geth callTracer frame types, depth-zero root, nested calls, errors and target semantics. DELEGATECALL points to code and is not automatically a payment.",
          "Trace configuration, prestate diff behavior and ERC-20 accounting support distinguishing nested execution, token logs and separately signed transactions. Explorer labels are explicitly qualified."
        ]
      }
    },
    {
      "id": "verified-contract-source-quick-answer",
      "articleSlug": "verified-contract-source",
      "statement": "Verified contract source means a service has matched submitted source and compilation information to deployed bytecode under its verification rules. It makes code easier to inspect. It does not prove the contract is safe, honestly operated, correctly initialized or free from upgrade powers.",
      "sourceIds": [
        "source-8cd8637c251c0d91",
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8cd8637c251c0d91",
          "locator": "Source Code Verification; Compiler; Optimization; Similar Match"
        },
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked Etherscan Exact Match, Similar Match, compiler version, optimization, other settings, creation/runtime code and constructor arguments. Removed unsupported linked-libraries detail from this specific citation.",
          "OpenZeppelin implementation/upgrade/initialization evidence supports why reproducible bytecode is not a security audit or configuration guarantee. No external audit approval is invented."
        ]
      }
    },
    {
      "id": "verified-contract-source-fact-reproduction",
      "articleSlug": "verified-contract-source",
      "statement": "Reproduction: Compiler version and settings are part of bytecode reproduction.",
      "sourceIds": [
        "source-8cd8637c251c0d91"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8cd8637c251c0d91",
          "locator": "Source Code Verification; Compiler; Optimization; Similar Match"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked Etherscan Exact Match, Similar Match, compiler version, optimization, other settings, creation/runtime code and constructor arguments. Removed unsupported linked-libraries detail from this specific citation.",
          "OpenZeppelin implementation/upgrade/initialization evidence supports why reproducible bytecode is not a security audit or configuration guarantee. No external audit approval is invented."
        ]
      }
    },
    {
      "id": "verified-contract-source-fact-scope",
      "articleSlug": "verified-contract-source",
      "statement": "Scope: A source match is different from assessing the code’s security properties.",
      "sourceIds": [
        "source-8cd8637c251c0d91"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8cd8637c251c0d91",
          "locator": "Source Code Verification; Compiler; Optimization; Similar Match"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked Etherscan Exact Match, Similar Match, compiler version, optimization, other settings, creation/runtime code and constructor arguments. Removed unsupported linked-libraries detail from this specific citation.",
          "OpenZeppelin implementation/upgrade/initialization evidence supports why reproducible bytecode is not a security audit or configuration guarantee. No external audit approval is invented."
        ]
      }
    },
    {
      "id": "verified-contract-source-fact-proxy",
      "articleSlug": "verified-contract-source",
      "statement": "Proxy: The address a user calls may delegate to a separate implementation.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked Etherscan Exact Match, Similar Match, compiler version, optimization, other settings, creation/runtime code and constructor arguments. Removed unsupported linked-libraries detail from this specific citation.",
          "OpenZeppelin implementation/upgrade/initialization evidence supports why reproducible bytecode is not a security audit or configuration guarantee. No external audit approval is invented."
        ]
      }
    },
    {
      "id": "ethereum-contract-abis-quick-answer",
      "articleSlug": "ethereum-contract-abis",
      "statement": "An Ethereum Application Binary Interface, or ABI, describes how to encode calls and decode results, errors and events for a contract. It is an interface schema, not the executable code or a security guarantee. A correct ABI must match the contract implementation being used, including any proxy context.",
      "sourceIds": [
        "source-6219cf92582a012d",
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        },
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Solidity ABI Basic Design, Function Selector, argument encoding, Errors and JSON fields. ABI is non-self-describing encoding/schema, not executable semantics or key material.",
          "Checked eth_call versus published transaction and proxy version context; decoded errors/events remain interface interpretations."
        ]
      }
    },
    {
      "id": "ethereum-contract-abis-fact-functions",
      "articleSlug": "ethereum-contract-abis",
      "statement": "Functions: The ABI defines parameter and return types for function interfaces.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Solidity ABI Basic Design, Function Selector, argument encoding, Errors and JSON fields. ABI is non-self-describing encoding/schema, not executable semantics or key material.",
          "Checked eth_call versus published transaction and proxy version context; decoded errors/events remain interface interpretations."
        ]
      }
    },
    {
      "id": "ethereum-contract-abis-fact-events",
      "articleSlug": "ethereum-contract-abis",
      "statement": "Events: Event declarations distinguish indexed topics from encoded data.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Solidity ABI Basic Design, Function Selector, argument encoding, Errors and JSON fields. ABI is non-self-describing encoding/schema, not executable semantics or key material.",
          "Checked eth_call versus published transaction and proxy version context; decoded errors/events remain interface interpretations."
        ]
      }
    },
    {
      "id": "ethereum-contract-abis-fact-errors",
      "articleSlug": "ethereum-contract-abis",
      "statement": "Errors: Custom error data can be decoded using its error signature and argument types.",
      "sourceIds": [
        "source-6219cf92582a012d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6219cf92582a012d",
          "locator": "Function Selector; Argument Encoding; Events; Errors; JSON"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Solidity ABI Basic Design, Function Selector, argument encoding, Errors and JSON fields. ABI is non-self-describing encoding/schema, not executable semantics or key material.",
          "Checked eth_call versus published transaction and proxy version context; decoded errors/events remain interface interpretations."
        ]
      }
    },
    {
      "id": "contract-proxies-quick-answer",
      "articleSlug": "contract-proxies",
      "statement": "A proxy contract forwards execution to implementation code, commonly using delegatecall while keeping state at the proxy address. Some proxies let an authorized party change the implementation. A permanent user-facing address therefore does not by itself mean that the application’s rules cannot change.",
      "sourceIds": [
        "source-16bb921e662a5173",
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        },
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked OpenZeppelin ERC1967, Transparent vs UUPS, minimal clones and initialization/access-control requirements against Solidity delegatecall context.",
          "The article correctly allows non-upgradeable proxies. Storage compatibility concern follows from documented shared proxy state and Solidity packing/layout rules."
        ]
      }
    },
    {
      "id": "contract-proxies-fact-state",
      "articleSlug": "contract-proxies",
      "statement": "State: Delegated execution uses the calling contract’s storage context.",
      "sourceIds": [
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked OpenZeppelin ERC1967, Transparent vs UUPS, minimal clones and initialization/access-control requirements against Solidity delegatecall context.",
          "The article correctly allows non-upgradeable proxies. Storage compatibility concern follows from documented shared proxy state and Solidity packing/layout rules."
        ]
      }
    },
    {
      "id": "contract-proxies-fact-implementation",
      "articleSlug": "contract-proxies",
      "statement": "Implementation: Proxy designs track which code address handles delegated calls.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked OpenZeppelin ERC1967, Transparent vs UUPS, minimal clones and initialization/access-control requirements against Solidity delegatecall context.",
          "The article correctly allows non-upgradeable proxies. Storage compatibility concern follows from documented shared proxy state and Solidity packing/layout rules."
        ]
      }
    },
    {
      "id": "contract-proxies-fact-authority",
      "articleSlug": "contract-proxies",
      "statement": "Authority: Transparent and UUPS patterns place upgrade checks in different parts of the design.",
      "sourceIds": [
        "source-16bb921e662a5173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16bb921e662a5173",
          "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked OpenZeppelin ERC1967, Transparent vs UUPS, minimal clones and initialization/access-control requirements against Solidity delegatecall context.",
          "The article correctly allows non-upgradeable proxies. Storage compatibility concern follows from documented shared proxy state and Solidity packing/layout rules."
        ]
      }
    },
    {
      "id": "delegatecall-explained-quick-answer",
      "articleSlug": "delegatecall-explained",
      "statement": "DELEGATECALL executes code from another address in the calling contract’s context. Storage, address and balance remain those of the caller, while msg.sender and msg.value are preserved from that context. This enables proxies and libraries, but delegated code can act on the caller’s state with substantial authority.",
      "sourceIds": [
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently checked Solidity Delegatecall and Libraries: calling-context storage, address, balance, msg.sender and msg.value are retained.",
          "Geth callTracer separates DELEGATECALL target semantics; proxy upgrade selection and storage-layout compatibility explain authority without claiming every delegatecall is vulnerable."
        ]
      }
    },
    {
      "id": "delegatecall-explained-fact-code",
      "articleSlug": "delegatecall-explained",
      "statement": "Code: The target supplies code, not a separate storage context.",
      "sourceIds": [
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently checked Solidity Delegatecall and Libraries: calling-context storage, address, balance, msg.sender and msg.value are retained.",
          "Geth callTracer separates DELEGATECALL target semantics; proxy upgrade selection and storage-layout compatibility explain authority without claiming every delegatecall is vulnerable."
        ]
      }
    },
    {
      "id": "delegatecall-explained-fact-state",
      "articleSlug": "delegatecall-explained",
      "statement": "State: Storage writes affect the calling context.",
      "sourceIds": [
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently checked Solidity Delegatecall and Libraries: calling-context storage, address, balance, msg.sender and msg.value are retained.",
          "Geth callTracer separates DELEGATECALL target semantics; proxy upgrade selection and storage-layout compatibility explain authority without claiming every delegatecall is vulnerable."
        ]
      }
    },
    {
      "id": "delegatecall-explained-fact-caller-information",
      "articleSlug": "delegatecall-explained",
      "statement": "Caller information: msg.sender and msg.value are preserved rather than replaced as in an ordinary nested call.",
      "sourceIds": [
        "source-7399ee01181109d4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Independently checked Solidity Delegatecall and Libraries: calling-context storage, address, balance, msg.sender and msg.value are retained.",
          "Geth callTracer separates DELEGATECALL target semantics; proxy upgrade selection and storage-layout compatibility explain authority without claiming every delegatecall is vulnerable."
        ]
      }
    },
    {
      "id": "create2-contract-addresses-quick-answer",
      "articleSlug": "create2-contract-addresses",
      "statement": "CREATE2 derives a prospective contract address from the deploying address, a salt and the hash of initialization code. This makes an address predictable before deployment when those inputs are fixed. Prediction does not prove deployment occurred, establish who controls the resulting contract or guarantee the same behavior on every chain.",
      "sourceIds": [
        "source-9d6e8c178ca966e9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6e8c178ca966e9",
          "locator": "Specification; Clarifications"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-1014 address formula, salt/deployer/init-code inputs, clarification that init code produces runtime code and existing nonce/code collision rules.",
          "Added Solidity execution-context source for initialization behavior. No chain ID occurs in CREATE2 formula; prediction alone is not deployment or recoverability proof."
        ]
      }
    },
    {
      "id": "create2-contract-addresses-fact-inputs",
      "articleSlug": "create2-contract-addresses",
      "statement": "Inputs: The formula commits to deployer, salt and initialization-code hash.",
      "sourceIds": [
        "source-9d6e8c178ca966e9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6e8c178ca966e9",
          "locator": "Specification; Clarifications"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-1014 address formula, salt/deployer/init-code inputs, clarification that init code produces runtime code and existing nonce/code collision rules.",
          "Added Solidity execution-context source for initialization behavior. No chain ID occurs in CREATE2 formula; prediction alone is not deployment or recoverability proof."
        ]
      }
    },
    {
      "id": "create2-contract-addresses-fact-initialization",
      "articleSlug": "create2-contract-addresses",
      "statement": "Initialization: Initialization code executes to produce the deployed runtime code.",
      "sourceIds": [
        "source-9d6e8c178ca966e9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6e8c178ca966e9",
          "locator": "Specification; Clarifications"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-1014 address formula, salt/deployer/init-code inputs, clarification that init code produces runtime code and existing nonce/code collision rules.",
          "Added Solidity execution-context source for initialization behavior. No chain ID occurs in CREATE2 formula; prediction alone is not deployment or recoverability proof."
        ]
      }
    },
    {
      "id": "create2-contract-addresses-fact-collision",
      "articleSlug": "create2-contract-addresses",
      "statement": "Collision: Creation fails when the destination already has nonzero nonce or nonempty code under the specified collision rules.",
      "sourceIds": [
        "source-9d6e8c178ca966e9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6e8c178ca966e9",
          "locator": "Specification; Clarifications"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-1014 address formula, salt/deployer/init-code inputs, clarification that init code produces runtime code and existing nonce/code collision rules.",
          "Added Solidity execution-context source for initialization behavior. No chain ID occurs in CREATE2 formula; prediction alone is not deployment or recoverability proof."
        ]
      }
    },
    {
      "id": "eip-712-typed-data-quick-answer",
      "articleSlug": "eip-712-typed-data",
      "statement": "EIP-712 defines how structured typed data is hashed and signed, including a domain that separates signing contexts. It can make wallet requests more interpretable, but does not make their requested permissions safe. Applications must still implement replay controls, and a signature may authorize valuable actions without an immediate on-chain fee.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d",
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-712 domainSeparator, typed message hashing, optional domain fields and explicit lack of replay protection. Security Considerations permits rejection or idempotent replay handling.",
          "ERC-2612 verifies the example of a later submitted gasless-signing allowance. No readable-message safety or mandatory universal field list is asserted."
        ]
      }
    },
    {
      "id": "eip-712-typed-data-fact-structure",
      "articleSlug": "eip-712-typed-data",
      "statement": "Structure: The signed digest commits to typed message data and a domain separator.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-712 domainSeparator, typed message hashing, optional domain fields and explicit lack of replay protection. Security Considerations permits rejection or idempotent replay handling.",
          "ERC-2612 verifies the example of a later submitted gasless-signing allowance. No readable-message safety or mandatory universal field list is asserted."
        ]
      }
    },
    {
      "id": "eip-712-typed-data-fact-domain",
      "articleSlug": "eip-712-typed-data",
      "statement": "Domain: Domain fields can include name, version, chainId and verifyingContract.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-712 domainSeparator, typed message hashing, optional domain fields and explicit lack of replay protection. Security Considerations permits rejection or idempotent replay handling.",
          "ERC-2612 verifies the example of a later submitted gasless-signing allowance. No readable-message safety or mandatory universal field list is asserted."
        ]
      }
    },
    {
      "id": "eip-712-typed-data-fact-replay",
      "articleSlug": "eip-712-typed-data",
      "statement": "Replay: EIP-712 explicitly leaves application replay handling to implementers.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked EIP-712 domainSeparator, typed message hashing, optional domain fields and explicit lack of replay protection. Security Considerations permits rejection or idempotent replay handling.",
          "ERC-2612 verifies the example of a later submitted gasless-signing allowance. No readable-message safety or mandatory universal field list is asserted."
        ]
      }
    },
    {
      "id": "permit-signatures-quick-answer",
      "articleSlug": "permit-signatures",
      "statement": "An ERC-2612 permit is a signed instruction that can set an ERC-20 allowance when submitted to a supporting token contract. It names an owner, spender, value, nonce and deadline within a signing domain. Signing does not itself transfer tokens, but an accepted permit can authorize later spending; other permit systems may use different rules.",
      "sourceIds": [
        "source-1f53bb744ddddb6b",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-2612 permit allowance assignment, owner nonce increment, blocktime <= deadline, signature/domain checks and caller independence.",
          "Confirmed deadline governs acceptance, not resulting allowance expiration; DAI/Stake differences and front-running concerns are explicit in the standard. Later composite-workflow failure is identified as an application consequence."
        ]
      }
    },
    {
      "id": "permit-signatures-fact-submission",
      "articleSlug": "permit-signatures",
      "statement": "Submission: Any caller can submit a valid ERC-2612 permit; the owner’s signature supplies authorization.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-2612 permit allowance assignment, owner nonce increment, blocktime <= deadline, signature/domain checks and caller independence.",
          "Confirmed deadline governs acceptance, not resulting allowance expiration; DAI/Stake differences and front-running concerns are explicit in the standard. Later composite-workflow failure is identified as an application consequence."
        ]
      }
    },
    {
      "id": "permit-signatures-fact-nonce",
      "articleSlug": "permit-signatures",
      "statement": "Nonce: Acceptance increments the owner’s permit nonce.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-2612 permit allowance assignment, owner nonce increment, blocktime <= deadline, signature/domain checks and caller independence.",
          "Confirmed deadline governs acceptance, not resulting allowance expiration; DAI/Stake differences and front-running concerns are explicit in the standard. Later composite-workflow failure is identified as an application consequence."
        ]
      }
    },
    {
      "id": "permit-signatures-fact-deadline",
      "articleSlug": "permit-signatures",
      "statement": "Deadline: The deadline limits permit submission validity, not automatically the lifetime of the resulting allowance.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-2612 permit allowance assignment, owner nonce increment, blocktime <= deadline, signature/domain checks and caller independence.",
          "Confirmed deadline governs acceptance, not resulting allowance expiration; DAI/Stake differences and front-running concerns are explicit in the standard. Later composite-workflow failure is identified as an application consequence."
        ]
      }
    },
    {
      "id": "signature-replay-attacks-quick-answer",
      "articleSlug": "signature-replay-attacks",
      "statement": "A signature replay occurs when a valid signed authorization is accepted again or in an unintended context. Defenses bind the signature to the intended domain and action, then enforce appropriate nonces, deadlines or one-time-use rules. Transaction-level replay protection does not automatically protect every off-chain message.",
      "sourceIds": [
        "source-1975773eb9dbad9f",
        "source-c78d0f0c60a42b2d",
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1975773eb9dbad9f",
          "locator": "Specification"
        },
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Compared EIP-155 chain-bound transaction signatures, EIP-712 domain/replay scope and ERC-2612 nonces/deadlines. Transaction and permit counters are distinct mechanisms.",
          "Disconnecting a UI cannot alter the cited verifier rules; deadline does not repair missing domain scope. Frontrunning is separated from repeated acceptance."
        ]
      }
    },
    {
      "id": "signature-replay-attacks-fact-chain-domain",
      "articleSlug": "signature-replay-attacks",
      "statement": "Chain domain: EIP-155 binds its protected transaction signing format to a chain ID.",
      "sourceIds": [
        "source-1975773eb9dbad9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1975773eb9dbad9f",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Compared EIP-155 chain-bound transaction signatures, EIP-712 domain/replay scope and ERC-2612 nonces/deadlines. Transaction and permit counters are distinct mechanisms.",
          "Disconnecting a UI cannot alter the cited verifier rules; deadline does not repair missing domain scope. Frontrunning is separated from repeated acceptance."
        ]
      }
    },
    {
      "id": "signature-replay-attacks-fact-application-domain",
      "articleSlug": "signature-replay-attacks",
      "statement": "Application domain: EIP-712 supports separating signing contexts.",
      "sourceIds": [
        "source-c78d0f0c60a42b2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c78d0f0c60a42b2d",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Compared EIP-155 chain-bound transaction signatures, EIP-712 domain/replay scope and ERC-2612 nonces/deadlines. Transaction and permit counters are distinct mechanisms.",
          "Disconnecting a UI cannot alter the cited verifier rules; deadline does not repair missing domain scope. Frontrunning is separated from repeated acceptance."
        ]
      }
    },
    {
      "id": "signature-replay-attacks-fact-one-time-use",
      "articleSlug": "signature-replay-attacks",
      "statement": "One-time use: ERC-2612 requires the expected permit nonce and increments it on acceptance.",
      "sourceIds": [
        "source-1f53bb744ddddb6b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f53bb744ddddb6b",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Compared EIP-155 chain-bound transaction signatures, EIP-712 domain/replay scope and ERC-2612 nonces/deadlines. Transaction and permit counters are distinct mechanisms.",
          "Disconnecting a UI cannot alter the cited verifier rules; deadline does not repair missing domain scope. Frontrunning is separated from repeated acceptance."
        ]
      }
    },
    {
      "id": "ethereum-transaction-simulation-quick-answer",
      "articleSlug": "ethereum-transaction-simulation",
      "statement": "Ethereum transaction simulation executes a proposed call against a selected state without publishing its effects to the chain. It can expose reverts, return values and, with tracing, likely asset changes. The result depends on the simulated sender, inputs, state and environment; later execution can differ.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-269c0acf9654acdf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-269c0acf9654acdf",
          "locator": "callTracer; prestateTracer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read eth_call inputs/state-tag behavior and eth_estimateGas limits. Geth traceCall/callTracer/prestate diff support qualified nested-call and state-change inspection.",
          "Input/state/environment dependence and later ordering/configuration changes are scoped as simulation limitations; no broadcast, fee debit, future inclusion or success guarantee is claimed."
        ]
      }
    },
    {
      "id": "ethereum-transaction-simulation-fact-no-publication",
      "articleSlug": "ethereum-transaction-simulation",
      "statement": "No publication: eth_call executes without creating a blockchain transaction.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read eth_call inputs/state-tag behavior and eth_estimateGas limits. Geth traceCall/callTracer/prestate diff support qualified nested-call and state-change inspection.",
          "Input/state/environment dependence and later ordering/configuration changes are scoped as simulation limitations; no broadcast, fee debit, future inclusion or success guarantee is claimed."
        ]
      }
    },
    {
      "id": "ethereum-transaction-simulation-fact-state",
      "articleSlug": "ethereum-transaction-simulation",
      "statement": "State: The block parameter selects the state context for the call.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read eth_call inputs/state-tag behavior and eth_estimateGas limits. Geth traceCall/callTracer/prestate diff support qualified nested-call and state-change inspection.",
          "Input/state/environment dependence and later ordering/configuration changes are scoped as simulation limitations; no broadcast, fee debit, future inclusion or success guarantee is claimed."
        ]
      }
    },
    {
      "id": "ethereum-transaction-simulation-fact-estimate",
      "articleSlug": "ethereum-transaction-simulation",
      "statement": "Estimate: eth_estimateGas is an estimate, not a reserved execution allowance.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read eth_call inputs/state-tag behavior and eth_estimateGas limits. Geth traceCall/callTracer/prestate diff support qualified nested-call and state-change inspection.",
          "Input/state/environment dependence and later ordering/configuration changes are scoped as simulation limitations; no broadcast, fee debit, future inclusion or success guarantee is claimed."
        ]
      }
    },
    {
      "id": "nft-metadata-quick-answer",
      "articleSlug": "nft-metadata",
      "statement": "NFT metadata describes a token, often through a URI returned by an optional metadata interface. The token’s ownership record and the referenced name, attributes or media are different things. Owning an NFT does not by itself guarantee that external content remains available, unchanged or accompanied by copyright ownership.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "Specification: ERC721Metadata; Metadata Choices (metadata extension); NFT Identifiers"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked ERC-721 owner/token ID interface, optional metadata extension, tokenURI JSON schema/image URI and explicit URI mutability in Metadata Choices.",
          "Contract ownership is distinguished from external media availability and legal rights. The statement is a limit of the technical interface, not a jurisdiction-specific legal conclusion. Proxy authority is sourced separately."
        ]
      }
    },
    {
      "id": "nft-metadata-fact-optional-interface",
      "articleSlug": "nft-metadata",
      "statement": "Optional interface: ERC-721 defines an optional metadata extension with name, symbol and tokenURI.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "Specification: ERC721Metadata; Metadata Choices (metadata extension); NFT Identifiers"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked ERC-721 owner/token ID interface, optional metadata extension, tokenURI JSON schema/image URI and explicit URI mutability in Metadata Choices.",
          "Contract ownership is distinguished from external media availability and legal rights. The statement is a limit of the technical interface, not a jurisdiction-specific legal conclusion. Proxy authority is sourced separately."
        ]
      }
    },
    {
      "id": "nft-metadata-fact-reference",
      "articleSlug": "nft-metadata",
      "statement": "Reference: tokenURI can point to a JSON resource describing the token.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "Specification: ERC721Metadata; Metadata Choices (metadata extension); NFT Identifiers"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked ERC-721 owner/token ID interface, optional metadata extension, tokenURI JSON schema/image URI and explicit URI mutability in Metadata Choices.",
          "Contract ownership is distinguished from external media availability and legal rights. The statement is a limit of the technical interface, not a jurisdiction-specific legal conclusion. Proxy authority is sourced separately."
        ]
      }
    },
    {
      "id": "nft-metadata-fact-separation",
      "articleSlug": "nft-metadata",
      "statement": "Separation: The token identifier and owner are distinct from the metadata resource.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "Specification: ERC721Metadata; Metadata Choices (metadata extension); NFT Identifiers"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked ERC-721 owner/token ID interface, optional metadata extension, tokenURI JSON schema/image URI and explicit URI mutability in Metadata Choices.",
          "Contract ownership is distinguished from external media availability and legal rights. The statement is a limit of the technical interface, not a jurisdiction-specific legal conclusion. Proxy authority is sourced separately."
        ]
      }
    },
    {
      "id": "soulbound-tokens-quick-answer",
      "articleSlug": "soulbound-tokens",
      "statement": "“Soulbound token” commonly describes a token designed to be non-transferable. ERC-5192 provides a minimal interface for reporting whether an NFT is locked and requires transfers to fail while locked. It does not by itself prove a person’s identity or define a complete issuance, revocation, privacy or recovery system.",
      "sourceIds": [
        "source-17115c75eee88c85"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17115c75eee88c85",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-5192 locked interface and exact rule requiring between-account ERC-721 transfers to throw while locked. Tightened key fact to match that scope.",
          "Identity, issuance, account control, recovery and privacy are not provided by the minimal interface; lifecycle alternatives are conditional, not claims of uniform standard behavior."
        ]
      }
    },
    {
      "id": "soulbound-tokens-fact-signal",
      "articleSlug": "soulbound-tokens",
      "statement": "Signal: locked(tokenId) reports whether the specified token is locked.",
      "sourceIds": [
        "source-17115c75eee88c85"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17115c75eee88c85",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-5192 locked interface and exact rule requiring between-account ERC-721 transfers to throw while locked. Tightened key fact to match that scope.",
          "Identity, issuance, account control, recovery and privacy are not provided by the minimal interface; lifecycle alternatives are conditional, not claims of uniform standard behavior."
        ]
      }
    },
    {
      "id": "soulbound-tokens-fact-transfer-rule",
      "articleSlug": "soulbound-tokens",
      "statement": "Transfer rule: ERC-721 functions that transfer the token between accounts must fail while it is locked.",
      "sourceIds": [
        "source-17115c75eee88c85"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17115c75eee88c85",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-5192 locked interface and exact rule requiring between-account ERC-721 transfers to throw while locked. Tightened key fact to match that scope.",
          "Identity, issuance, account control, recovery and privacy are not provided by the minimal interface; lifecycle alternatives are conditional, not claims of uniform standard behavior."
        ]
      }
    },
    {
      "id": "soulbound-tokens-fact-scope",
      "articleSlug": "soulbound-tokens",
      "statement": "Scope: The standard is a minimal extension, not a universal credential policy.",
      "sourceIds": [
        "source-17115c75eee88c85"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17115c75eee88c85",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-5192 locked interface and exact rule requiring between-account ERC-721 transfers to throw while locked. Tightened key fact to match that scope.",
          "Identity, issuance, account control, recovery and privacy are not provided by the minimal interface; lifecycle alternatives are conditional, not claims of uniform standard behavior."
        ]
      }
    },
    {
      "id": "erc-4626-tokenized-vaults-quick-answer",
      "articleSlug": "erc-4626-tokenized-vaults",
      "statement": "ERC-4626 standardizes an interface for vault shares with a single underlying ERC-20 asset for accounting, deposits and withdrawals. It defines deposit, mint, withdraw, redeem and conversion methods. It does not prescribe a safe investment strategy, guarantee a return or make preview values equivalent to currently available withdrawal liquidity.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Clarified the single ERC-20 token as the accounting/deposit/withdrawal asset, avoiding an implication that a vault can hold no other strategy assets. Checked deposit/mint and withdraw/redeem inputs.",
          "Clarified that previewWithdraw excludes withdrawal limits whereas maxWithdraw accounts for them. Independently calculated 1200/1000 = 1.2 assets/share and 120 × 1000 / 1200 = 100 shares in the explicitly simplified model; checked rounding/donation vulnerabilities in OpenZeppelin."
        ]
      }
    },
    {
      "id": "erc-4626-tokenized-vaults-fact-two-units",
      "articleSlug": "erc-4626-tokenized-vaults",
      "statement": "Two units: Assets are underlying-token units; shares represent the vault position.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Clarified the single ERC-20 token as the accounting/deposit/withdrawal asset, avoiding an implication that a vault can hold no other strategy assets. Checked deposit/mint and withdraw/redeem inputs.",
          "Clarified that previewWithdraw excludes withdrawal limits whereas maxWithdraw accounts for them. Independently calculated 1200/1000 = 1.2 assets/share and 120 × 1000 / 1200 = 100 shares in the explicitly simplified model; checked rounding/donation vulnerabilities in OpenZeppelin."
        ]
      }
    },
    {
      "id": "erc-4626-tokenized-vaults-fact-operation",
      "articleSlug": "erc-4626-tokenized-vaults",
      "statement": "Operation: deposit specifies assets, while mint specifies shares to receive.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Clarified the single ERC-20 token as the accounting/deposit/withdrawal asset, avoiding an implication that a vault can hold no other strategy assets. Checked deposit/mint and withdraw/redeem inputs.",
          "Clarified that previewWithdraw excludes withdrawal limits whereas maxWithdraw accounts for them. Independently calculated 1200/1000 = 1.2 assets/share and 120 × 1000 / 1200 = 100 shares in the explicitly simplified model; checked rounding/donation vulnerabilities in OpenZeppelin."
        ]
      }
    },
    {
      "id": "erc-4626-tokenized-vaults-fact-limits",
      "articleSlug": "erc-4626-tokenized-vaults",
      "statement": "Limits: Preview methods and maxWithdraw or maxRedeem answer different questions.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Clarified the single ERC-20 token as the accounting/deposit/withdrawal asset, avoiding an implication that a vault can hold no other strategy assets. Checked deposit/mint and withdraw/redeem inputs.",
          "Clarified that previewWithdraw excludes withdrawal limits whereas maxWithdraw accounts for them. Independently calculated 1200/1000 = 1.2 assets/share and 120 × 1000 / 1200 = 100 shares in the explicitly simplified model; checked rounding/donation vulnerabilities in OpenZeppelin."
        ]
      }
    },
    {
      "id": "ethereum-access-lists-quick-answer",
      "articleSlug": "ethereum-access-lists",
      "statement": "An Ethereum access list declares addresses and storage keys to be treated as already accessed for gas accounting under the specified transaction rules. EIP-2930 charges for these entries up front. An access list is not an authorization list, and including one does not automatically make every transaction cheaper.",
      "sourceIds": [
        "source-3292ac77ce3024af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3292ac77ce3024af",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-2930 list shape, warm-access sets, upfront 2400 gas/address and 1900 gas/storage-key constants, duplicate charging and unrestricted unlisted accesses.",
          "Constants are scoped to the cited EIP schedule. Gas access lists are correctly separated from ERC-20 allowances and signature authorization."
        ]
      }
    },
    {
      "id": "ethereum-access-lists-fact-contents",
      "articleSlug": "ethereum-access-lists",
      "statement": "Contents: An access list contains address and storage-key entries.",
      "sourceIds": [
        "source-3292ac77ce3024af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3292ac77ce3024af",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-2930 list shape, warm-access sets, upfront 2400 gas/address and 1900 gas/storage-key constants, duplicate charging and unrestricted unlisted accesses.",
          "Constants are scoped to the cited EIP schedule. Gas access lists are correctly separated from ERC-20 allowances and signature authorization."
        ]
      }
    },
    {
      "id": "ethereum-access-lists-fact-cost",
      "articleSlug": "ethereum-access-lists",
      "statement": "Cost: The EIP-2930 schedule charges per listed address and storage key.",
      "sourceIds": [
        "source-3292ac77ce3024af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3292ac77ce3024af",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-2930 list shape, warm-access sets, upfront 2400 gas/address and 1900 gas/storage-key constants, duplicate charging and unrestricted unlisted accesses.",
          "Constants are scoped to the cited EIP schedule. Gas access lists are correctly separated from ERC-20 allowances and signature authorization."
        ]
      }
    },
    {
      "id": "ethereum-access-lists-fact-duplicates",
      "articleSlug": "ethereum-access-lists",
      "statement": "Duplicates: Duplicate entries are permitted but charged repeatedly under the specification.",
      "sourceIds": [
        "source-3292ac77ce3024af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3292ac77ce3024af",
          "locator": "Specification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-2930 list shape, warm-access sets, upfront 2400 gas/address and 1900 gas/storage-key constants, duplicate charging and unrestricted unlisted accesses.",
          "Constants are scoped to the cited EIP schedule. Gas access lists are correctly separated from ERC-20 allowances and signature authorization."
        ]
      }
    },
    {
      "id": "ethereum-state-and-storage-quick-answer",
      "articleSlug": "ethereum-state-and-storage",
      "statement": "Ethereum state records account information and contract storage at a particular point in the chain. Persistent storage holds a contract’s data between transactions; execution memory and calldata serve different roles during calls. A token balance is usually a value in the token contract’s accounting, not native ETH stored inside the holder’s account.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00",
        "source-2b10f2b55ba1af87",
        "source-7399ee01181109d4",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        },
        {
          "sourceId": "source-2b10f2b55ba1af87",
          "locator": "Layout of State Variables; Mappings and Dynamic Arrays"
        },
        {
          "sourceId": "source-7399ee01181109d4",
          "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account balance/nonce/codeHash/storageRoot; Solidity persistent storage, per-call memory, calldata, packing and mapping-derived locations; ERC-20 balanceOf remains token accounting.",
          "RPC block/tag queries and Solidity Logs distinguish historical state, events and persistent storage. Proxy storage-compatibility concern is a documented-mechanism inference."
        ]
      }
    },
    {
      "id": "ethereum-state-and-storage-fact-account-fields",
      "articleSlug": "ethereum-state-and-storage",
      "statement": "Account fields: Account state includes balance, nonce and commitments to code and storage.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account balance/nonce/codeHash/storageRoot; Solidity persistent storage, per-call memory, calldata, packing and mapping-derived locations; ERC-20 balanceOf remains token accounting.",
          "RPC block/tag queries and Solidity Logs distinguish historical state, events and persistent storage. Proxy storage-compatibility concern is a documented-mechanism inference."
        ]
      }
    },
    {
      "id": "ethereum-state-and-storage-fact-slots",
      "articleSlug": "ethereum-state-and-storage",
      "statement": "Slots: Solidity arranges persistent values into storage slots according to layout rules.",
      "sourceIds": [
        "source-2b10f2b55ba1af87"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2b10f2b55ba1af87",
          "locator": "Layout of State Variables; Mappings and Dynamic Arrays"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account balance/nonce/codeHash/storageRoot; Solidity persistent storage, per-call memory, calldata, packing and mapping-derived locations; ERC-20 balanceOf remains token accounting.",
          "RPC block/tag queries and Solidity Logs distinguish historical state, events and persistent storage. Proxy storage-compatibility concern is a documented-mechanism inference."
        ]
      }
    },
    {
      "id": "ethereum-state-and-storage-fact-token-balance",
      "articleSlug": "ethereum-state-and-storage",
      "statement": "Token balance: ERC-20 exposes balances through its contract interface.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Checked account balance/nonce/codeHash/storageRoot; Solidity persistent storage, per-call memory, calldata, packing and mapping-derived locations; ERC-20 balanceOf remains token accounting.",
          "RPC block/tag queries and Solidity Logs distinguish historical state, events and persistent storage. Proxy storage-compatibility concern is a documented-mechanism inference."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-quick-answer",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Blob-carrying Ethereum transactions pay a separate blob-gas charge in addition to execution gas. EIP-4844 introduced a demand-sensitive blob base fee and a blob fee cap. Rollups can use blobs for data publication, but their user fees also depend on execution, batching and the rollup’s own accounting rules.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7",
        "source-06697b48df70893b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        },
        {
          "sourceId": "source-06697b48df70893b",
          "locator": "Gas fee components; Execution gas fee; L1 data fee; Operator fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-separate-meter",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Separate meter: Blob gas and ordinary execution gas use distinct accounting.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-fee-cap",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Fee cap: The transaction’s blob fee cap must cover the applicable blob base fee.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "ethereum-blob-fees-fact-failure",
      "articleSlug": "ethereum-blob-fees",
      "statement": "Failure: The specified blob charge is burned and not refunded when execution fails.",
      "sourceIds": [
        "source-f8f55ea8fe5a54a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f8f55ea8fe5a54a7",
          "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read EIP-4844 separate blob meter, blob cap check, blob-fee formula, burn-before-execution and no-refund-on-failure. Added independently retrieved EIP-7691 for later parameter changes and Optimism for rollup user-fee components.",
          "Revised FAQ to precise BLOBHASH versioned-hash access and supplied KZG proof verification. Original fork constants are not claimed as current network configuration; blob contents are not permanent ordinary EVM storage."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-quick-answer",
      "articleSlug": "smart-account-bundlers",
      "statement": "In ERC-4337, a bundler collects user operations and submits an Ethereum transaction that invokes the EntryPoint to process them. The account’s validation logic authorizes each operation. A bundler is an execution-submission participant, not a guarantee of inclusion or a replacement for the account’s signing and permission rules.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-object",
      "articleSlug": "smart-account-bundlers",
      "statement": "Object: A user operation is distinct from the bundler’s enclosing network transaction.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-validation",
      "articleSlug": "smart-account-bundlers",
      "statement": "Validation: The account validates its requested operation through the EntryPoint flow.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-payment",
      "articleSlug": "smart-account-bundlers",
      "statement": "Payment: Accounts or paymasters must cover the operation’s applicable gas costs.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-paymasters-quick-answer",
      "articleSlug": "smart-account-paymasters",
      "statement": "An ERC-4337 paymaster can agree to cover a user operation’s gas through the EntryPoint, subject to its validation and payment policy. It may sponsor selected actions or charge the user in another way. “Gasless” usually describes the user experience; network execution still has a cost and sponsorship can be refused.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 paymaster willingness/funding validation, EntryPoint gas deposits, conditional postOp and opReverted gas-payment behavior. Deposits are not confused with locked stakes.",
          "Sponsorship and token compensation are policy-dependent; no limitless gasless claim or inherent paymaster signing authority is asserted."
        ]
      }
    },
    {
      "id": "smart-account-paymasters-fact-validation",
      "articleSlug": "smart-account-paymasters",
      "statement": "Validation: The paymaster participates in validating whether it will cover an operation.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 paymaster willingness/funding validation, EntryPoint gas deposits, conditional postOp and opReverted gas-payment behavior. Deposits are not confused with locked stakes.",
          "Sponsorship and token compensation are policy-dependent; no limitless gasless claim or inherent paymaster signing authority is asserted."
        ]
      }
    },
    {
      "id": "smart-account-paymasters-fact-funding",
      "articleSlug": "smart-account-paymasters",
      "statement": "Funding: EntryPoint deposits support paying applicable gas charges.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 paymaster willingness/funding validation, EntryPoint gas deposits, conditional postOp and opReverted gas-payment behavior. Deposits are not confused with locked stakes.",
          "Sponsorship and token compensation are policy-dependent; no limitless gasless claim or inherent paymaster signing authority is asserted."
        ]
      }
    },
    {
      "id": "smart-account-paymasters-fact-policy",
      "articleSlug": "smart-account-paymasters",
      "statement": "Policy: Sponsorship conditions are implementation-specific.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 paymaster willingness/funding validation, EntryPoint gas deposits, conditional postOp and opReverted gas-payment behavior. Deposits are not confused with locked stakes.",
          "Sponsorship and token compensation are policy-dependent; no limitless gasless claim or inherent paymaster signing authority is asserted."
        ]
      }
    },
    {
      "id": "smart-account-recovery-quick-answer",
      "articleSlug": "smart-account-recovery",
      "statement": "Smart-account recovery uses an account’s configured rules to restore control, often by replacing signers through guardians or a delayed recovery process. It must be supported and set up by that account design. It does not reconstruct a lost private key, and recovery authorities introduce their own security and availability assumptions.",
      "sourceIds": [
        "source-15e4e64134381ae1",
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15e4e64134381ae1",
          "locator": "What are Recoverers?; Two-step recovery execution; How to set up the account recovery"
        },
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Safe Custom recovery setup, recoverer ability to replace signers/threshold, required current signer threshold for rejection, any-account delayed execution and configured expiry.",
          "Corrected key fact and risk paragraph to make the threshold veto explicit, and specified any-account execution after delay while valid. Historical Safe interface details are not presented as universal current settings; no private-key reconstruction is claimed."
        ]
      }
    },
    {
      "id": "smart-account-recovery-fact-preparation",
      "articleSlug": "smart-account-recovery",
      "statement": "Preparation: The cited Safe recovery design requires setup before signer access is lost.",
      "sourceIds": [
        "source-15e4e64134381ae1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15e4e64134381ae1",
          "locator": "What are Recoverers?; Two-step recovery execution; How to set up the account recovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Safe Custom recovery setup, recoverer ability to replace signers/threshold, required current signer threshold for rejection, any-account delayed execution and configured expiry.",
          "Corrected key fact and risk paragraph to make the threshold veto explicit, and specified any-account execution after delay while valid. Historical Safe interface details are not presented as universal current settings; no private-key reconstruction is claimed."
        ]
      }
    },
    {
      "id": "smart-account-recovery-fact-mechanism",
      "articleSlug": "smart-account-recovery",
      "statement": "Mechanism: A recoverer proposes signer or threshold changes through the configured process.",
      "sourceIds": [
        "source-15e4e64134381ae1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15e4e64134381ae1",
          "locator": "What are Recoverers?; Two-step recovery execution; How to set up the account recovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Safe Custom recovery setup, recoverer ability to replace signers/threshold, required current signer threshold for rejection, any-account delayed execution and configured expiry.",
          "Corrected key fact and risk paragraph to make the threshold veto explicit, and specified any-account execution after delay while valid. Historical Safe interface details are not presented as universal current settings; no private-key reconstruction is claimed."
        ]
      }
    },
    {
      "id": "smart-account-recovery-fact-delay",
      "articleSlug": "smart-account-recovery",
      "statement": "Delay: The cited Safe design lets current signers reject recovery only if they can meet the signer threshold.",
      "sourceIds": [
        "source-15e4e64134381ae1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15e4e64134381ae1",
          "locator": "What are Recoverers?; Two-step recovery execution; How to set up the account recovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read Safe Custom recovery setup, recoverer ability to replace signers/threshold, required current signer threshold for rejection, any-account delayed execution and configured expiry.",
          "Corrected key fact and risk paragraph to make the threshold veto explicit, and specified any-account execution after delay while valid. Historical Safe interface details are not presented as universal current settings; no private-key reconstruction is claimed."
        ]
      }
    },
    {
      "id": "usdc-vs-usdt-quick-answer",
      "articleSlug": "usdc-vs-usdt",
      "statement": "USDC and USDT both target one US dollar, but they are separate issuer-backed tokens with different terms, reserve disclosures and network deployments. A useful comparison checks the exact token and chain, direct-redemption eligibility, reserve evidence and issuer powers. The shared dollar target does not make their risks or access conditions identical.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b",
        "source-0040950f540a1520",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Reports; Tokens in circulation; Reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read issuer terms, Circle reserve disclosure and Tether supply/transparency page. Comparison separates issuer eligibility, reserve-evidence dates and network deployments without claiming a universal safety ranking.",
          "Added explicit scope: the cited Circle USDC terms apply outside the EEA and point EEA holders to separate documents. Neither issuer page is treated as a personalized eligibility determination."
        ]
      }
    },
    {
      "id": "usdc-vs-usdt-fact-separate-issuers",
      "articleSlug": "usdc-vs-usdt",
      "statement": "Separate issuers: Circle’s USDC terms and Tether’s token terms govern different arrangements.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read issuer terms, Circle reserve disclosure and Tether supply/transparency page. Comparison separates issuer eligibility, reserve-evidence dates and network deployments without claiming a universal safety ranking.",
          "Added explicit scope: the cited Circle USDC terms apply outside the EEA and point EEA holders to separate documents. Neither issuer page is treated as a personalized eligibility determination."
        ]
      }
    },
    {
      "id": "usdc-vs-usdt-fact-direct-access",
      "articleSlug": "usdc-vs-usdt",
      "statement": "Direct access: Holding a token is distinct from qualifying for the issuer’s services.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read issuer terms, Circle reserve disclosure and Tether supply/transparency page. Comparison separates issuer eligibility, reserve-evidence dates and network deployments without claiming a universal safety ranking.",
          "Added explicit scope: the cited Circle USDC terms apply outside the EEA and point EEA holders to separate documents. Neither issuer page is treated as a personalized eligibility determination."
        ]
      }
    },
    {
      "id": "usdc-vs-usdt-fact-reserve-evidence",
      "articleSlug": "usdc-vs-usdt",
      "statement": "Reserve evidence: Issuer disclosures need an observation date and their stated assurance scope.",
      "sourceIds": [
        "source-0040950f540a1520",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Reports; Tokens in circulation; Reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read issuer terms, Circle reserve disclosure and Tether supply/transparency page. Comparison separates issuer eligibility, reserve-evidence dates and network deployments without claiming a universal safety ranking.",
          "Added explicit scope: the cited Circle USDC terms apply outside the EEA and point EEA holders to separate documents. Neither issuer page is treated as a personalized eligibility determination."
        ]
      }
    },
    {
      "id": "stablecoin-contract-addresses-quick-answer",
      "articleSlug": "stablecoin-contract-addresses",
      "statement": "A stablecoin’s symbol is not a unique identifier. On contract-based networks, identify the asset by the chain and contract address, then compare it with the issuer’s official deployment list. Native, bridged and test versions can have similar names while representing different assets and redemption paths.",
      "sourceIds": [
        "source-66270bffe3272787",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet; Testnet"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle mainnet/testnet tables and native-versus-bridged clarification, and ERC-20 optional name/symbol interface. Contract identifiers are intentionally linked rather than recopied into prose.",
          "Added independently retrieved Etherscan code-tab source to support the verification-versus-issuer-identity FAQ. Exact/Similar Match code evidence does not prove issuer identity."
        ]
      }
    },
    {
      "id": "stablecoin-contract-addresses-fact-names",
      "articleSlug": "stablecoin-contract-addresses",
      "statement": "Names: ERC-20 name and symbol fields do not enforce global uniqueness.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle mainnet/testnet tables and native-versus-bridged clarification, and ERC-20 optional name/symbol interface. Contract identifiers are intentionally linked rather than recopied into prose.",
          "Added independently retrieved Etherscan code-tab source to support the verification-versus-issuer-identity FAQ. Exact/Similar Match code evidence does not prove issuer identity."
        ]
      }
    },
    {
      "id": "stablecoin-contract-addresses-fact-network",
      "articleSlug": "stablecoin-contract-addresses",
      "statement": "Network: Circle publishes chain-specific USDC contract identifiers.",
      "sourceIds": [
        "source-66270bffe3272787"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet; Testnet"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle mainnet/testnet tables and native-versus-bridged clarification, and ERC-20 optional name/symbol interface. Contract identifiers are intentionally linked rather than recopied into prose.",
          "Added independently retrieved Etherscan code-tab source to support the verification-versus-issuer-identity FAQ. Exact/Similar Match code evidence does not prove issuer identity."
        ]
      }
    },
    {
      "id": "stablecoin-contract-addresses-fact-environment",
      "articleSlug": "stablecoin-contract-addresses",
      "statement": "Environment: Mainnet and testnet deployments must be distinguished.",
      "sourceIds": [
        "source-66270bffe3272787"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet; Testnet"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle mainnet/testnet tables and native-versus-bridged clarification, and ERC-20 optional name/symbol interface. Contract identifiers are intentionally linked rather than recopied into prose.",
          "Added independently retrieved Etherscan code-tab source to support the verification-versus-issuer-identity FAQ. Exact/Similar Match code evidence does not prove issuer identity."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-fees-quick-answer",
      "articleSlug": "stablecoin-transfer-fees",
      "statement": "The cost of moving a stablecoin can include network execution fees, a platform’s withdrawal charge, swap costs or issuer redemption fees. These are different operations. On Ethereum, a token transfer invokes contract code and ordinarily needs execution gas paid in ETH, unless another mechanism sponsors or abstracts that payment.",
      "sourceIds": [
        "source-5cadd0da692ffaa8",
        "source-ac4ad503a55127bb",
        "source-3f274c8c1e62ebb9",
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "What is gas?; Base fee; Priority fee"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Ethereum gas units and ETH payment, ERC-20 transfer execution, Circle fee conditions and ERC-4337 paymaster deposit/validation flow. Sponsorship shifts payment responsibility without eliminating execution costs.",
          "No current fee or cheapest-network ranking is asserted. Transfer, withdrawal, swap and redemption are distinguished by operation and delivered amount."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-fees-fact-gas",
      "articleSlug": "stablecoin-transfer-fees",
      "statement": "Gas: Ethereum token transfer execution consumes gas.",
      "sourceIds": [
        "source-5cadd0da692ffaa8",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "What is gas?; Base fee; Priority fee"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Ethereum gas units and ETH payment, ERC-20 transfer execution, Circle fee conditions and ERC-4337 paymaster deposit/validation flow. Sponsorship shifts payment responsibility without eliminating execution costs.",
          "No current fee or cheapest-network ranking is asserted. Transfer, withdrawal, swap and redemption are distinguished by operation and delivered amount."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-fees-fact-redemption",
      "articleSlug": "stablecoin-transfer-fees",
      "statement": "Redemption: Issuer redemption terms and fees are separate from an on-chain transfer.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Ethereum gas units and ETH payment, ERC-20 transfer execution, Circle fee conditions and ERC-4337 paymaster deposit/validation flow. Sponsorship shifts payment responsibility without eliminating execution costs.",
          "No current fee or cheapest-network ranking is asserted. Transfer, withdrawal, swap and redemption are distinguished by operation and delivered amount."
        ]
      }
    },
    {
      "id": "stablecoin-transfer-fees-fact-sponsorship",
      "articleSlug": "stablecoin-transfer-fees",
      "statement": "Sponsorship: A paymaster can shift who covers gas under its policy.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked Ethereum gas units and ETH payment, ERC-20 transfer execution, Circle fee conditions and ERC-4337 paymaster deposit/validation flow. Sponsorship shifts payment responsibility without eliminating execution costs.",
          "No current fee or cheapest-network ranking is asserted. Transfer, withdrawal, swap and redemption are distinguished by operation and delivered amount."
        ]
      }
    },
    {
      "id": "stablecoin-wrong-network-quick-answer",
      "articleSlug": "stablecoin-wrong-network",
      "statement": "A stablecoin sent on the wrong network is recorded on the network actually used. Switching a wallet’s display does not move it to the intended chain. Recovery depends on who controls the destination, whether the token and network are supported, and whether a valid authorized recovery path exists; it is not guaranteed.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00",
        "source-a5154b4118a3d15f",
        "source-66270bffe3272787",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        },
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet; Testnet"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked chain-bound RPC lookup fields, EOA versus contract authority and Circle deployment/support warnings. A display switch is not an interchain asset movement, and a sender hash supplies no recipient spending authority.",
          "EIP-55 hashes address text without a chain discriminator; EIP-155 concerns transaction replay domains. CCTP provides a concrete separate cross-chain operation rather than guaranteed recovery."
        ]
      }
    },
    {
      "id": "stablecoin-wrong-network-fact-ledger",
      "articleSlug": "stablecoin-wrong-network",
      "statement": "Ledger: Balances and transaction histories are chain-specific.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked chain-bound RPC lookup fields, EOA versus contract authority and Circle deployment/support warnings. A display switch is not an interchain asset movement, and a sender hash supplies no recipient spending authority.",
          "EIP-55 hashes address text without a chain discriminator; EIP-155 concerns transaction replay domains. CCTP provides a concrete separate cross-chain operation rather than guaranteed recovery."
        ]
      }
    },
    {
      "id": "stablecoin-wrong-network-fact-deployment",
      "articleSlug": "stablecoin-wrong-network",
      "statement": "Deployment: A stablecoin can have different official contracts on different networks.",
      "sourceIds": [
        "source-66270bffe3272787"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet; Testnet"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked chain-bound RPC lookup fields, EOA versus contract authority and Circle deployment/support warnings. A display switch is not an interchain asset movement, and a sender hash supplies no recipient spending authority.",
          "EIP-55 hashes address text without a chain discriminator; EIP-155 concerns transaction replay domains. CCTP provides a concrete separate cross-chain operation rather than guaranteed recovery."
        ]
      }
    },
    {
      "id": "stablecoin-wrong-network-fact-authority",
      "articleSlug": "stablecoin-wrong-network",
      "statement": "Authority: Moving an asset requires the destination’s actual spending authorization.",
      "sourceIds": [
        "source-2fb64d6fc5cedb00"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2fb64d6fc5cedb00",
          "locator": "Account types; An account examined; Account creation"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked chain-bound RPC lookup fields, EOA versus contract authority and Circle deployment/support warnings. A display switch is not an interchain asset movement, and a sender hash supplies no recipient spending authority.",
          "EIP-55 hashes address text without a chain discriminator; EIP-155 concerns transaction replay domains. CCTP provides a concrete separate cross-chain operation rather than guaranteed recovery."
        ]
      }
    },
    {
      "id": "stablecoin-market-cap-quick-answer",
      "articleSlug": "stablecoin-market-cap",
      "statement": "The stablecoin market-cap measure used here multiplies a defined circulating supply by an observed market price. It is a valuation calculation, not a reserve audit or a measure of immediately redeemable cash. Results depend on supply scope, pricing time and how bridged or issuer-held tokens are treated.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-657588e9c7056096",
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Reports; Tokens in circulation; Reserves"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Recast the multiplier as the explicitly defined measure used in this article, avoiding unsupported attribution of a universal provider convention. Recomputed one million × $0.98 = $980,000.",
          "ERC-20 totalSupply, issuer circulation disclosures and separate reserve evidence support scope distinctions. Wrapper double counting and mixed observation dates are analytical caveats, not claimed live observations."
        ]
      }
    },
    {
      "id": "stablecoin-market-cap-fact-formula",
      "articleSlug": "stablecoin-market-cap",
      "statement": "Formula: The measure defined here is circulating units × observed price per unit.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Reports; Tokens in circulation; Reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Recast the multiplier as the explicitly defined measure used in this article, avoiding unsupported attribution of a universal provider convention. Recomputed one million × $0.98 = $980,000.",
          "ERC-20 totalSupply, issuer circulation disclosures and separate reserve evidence support scope distinctions. Wrapper double counting and mixed observation dates are analytical caveats, not claimed live observations."
        ]
      }
    },
    {
      "id": "stablecoin-market-cap-fact-supply-scope",
      "articleSlug": "stablecoin-market-cap",
      "statement": "Supply scope: A contract’s totalSupply is not automatically a provider’s circulating-supply definition.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Reports; Tokens in circulation; Reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Recast the multiplier as the explicitly defined measure used in this article, avoiding unsupported attribution of a universal provider convention. Recomputed one million × $0.98 = $980,000.",
          "ERC-20 totalSupply, issuer circulation disclosures and separate reserve evidence support scope distinctions. Wrapper double counting and mixed observation dates are analytical caveats, not claimed live observations."
        ]
      }
    },
    {
      "id": "stablecoin-market-cap-fact-reserves",
      "articleSlug": "stablecoin-market-cap",
      "statement": "Reserves: Reserve composition and assurance require separate issuer evidence.",
      "sourceIds": [
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Recast the multiplier as the explicitly defined measure used in this article, avoiding unsupported attribution of a universal provider convention. Recomputed one million × $0.98 = $980,000.",
          "ERC-20 totalSupply, issuer circulation disclosures and separate reserve evidence support scope distinctions. Wrapper double counting and mixed observation dates are analytical caveats, not claimed live observations."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-maturity-quick-answer",
      "articleSlug": "stablecoin-reserve-maturity",
      "statement": "Reserve maturity describes when reserve investments are due to return principal. Short-dated assets can support cash planning, but maturity alone does not establish immediate liquidity or a token holder’s redemption rights. Read the asset mix, maturity dates, custody arrangements and issuer terms together.",
      "sourceIds": [
        "source-1d9528ab17ace706",
        "source-0040950f540a1520",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1d9528ab17ace706",
          "locator": "Rates and terms; Maturity"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read TreasuryDirect bill face-value-at-maturity and early-sale language, Circle disclosed cash/Treasury/reverse-repo categories, and issuer redemption eligibility.",
          "Maturity, present liquidity and holder rights are kept separate. No reserve weights, durations or legally guaranteed payout times are invented."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-maturity-fact-maturity",
      "articleSlug": "stablecoin-reserve-maturity",
      "statement": "Maturity: A Treasury bill pays its face value at maturity under its terms.",
      "sourceIds": [
        "source-1d9528ab17ace706"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1d9528ab17ace706",
          "locator": "Rates and terms; Maturity"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read TreasuryDirect bill face-value-at-maturity and early-sale language, Circle disclosed cash/Treasury/reverse-repo categories, and issuer redemption eligibility.",
          "Maturity, present liquidity and holder rights are kept separate. No reserve weights, durations or legally guaranteed payout times are invented."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-maturity-fact-composition",
      "articleSlug": "stablecoin-reserve-maturity",
      "statement": "Composition: Circle discloses cash, Treasury and repo-related reserve categories.",
      "sourceIds": [
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read TreasuryDirect bill face-value-at-maturity and early-sale language, Circle disclosed cash/Treasury/reverse-repo categories, and issuer redemption eligibility.",
          "Maturity, present liquidity and holder rights are kept separate. No reserve weights, durations or legally guaranteed payout times are invented."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-maturity-fact-access",
      "articleSlug": "stablecoin-reserve-maturity",
      "statement": "Access: Holder redemption depends on applicable issuer terms, not just asset maturity.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read TreasuryDirect bill face-value-at-maturity and early-sale language, Circle disclosed cash/Treasury/reverse-repo categories, and issuer redemption eligibility.",
          "Maturity, present liquidity and holder rights are kept separate. No reserve weights, durations or legally guaranteed payout times are invented."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-segregation-quick-answer",
      "articleSlug": "stablecoin-reserve-segregation",
      "statement": "Reserve segregation means reserve assets are separated from other funds under the arrangement described by the issuer. It is useful evidence about custody and accounting, but the word alone does not prove bankruptcy priority, immediate access or a holder’s right to redeem. Those depend on the actual legal terms and facts.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle section 1 segregated-account statement with sections 2/13 redemption and insurance conditions, plus reserve composition disclosures. Added non-EEA scope to the Circle example.",
          "FDIC fact-sheet exclusions support the insurance distinction. The article does not infer bankruptcy priority or guaranteed access solely from segregation wording."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-segregation-fact-issuer-statement",
      "articleSlug": "stablecoin-reserve-segregation",
      "statement": "Issuer statement: Circle’s cited terms describe reserve accounts apart from corporate funds.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle section 1 segregated-account statement with sections 2/13 redemption and insurance conditions, plus reserve composition disclosures. Added non-EEA scope to the Circle example.",
          "FDIC fact-sheet exclusions support the insurance distinction. The article does not infer bankruptcy priority or guaranteed access solely from segregation wording."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-segregation-fact-asset-form",
      "articleSlug": "stablecoin-reserve-segregation",
      "statement": "Asset form: Disclosures describe reserves held through several asset and account arrangements.",
      "sourceIds": [
        "source-0040950f540a1520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0040950f540a1520",
          "locator": "Reserves composition; Monthly assurance and transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle section 1 segregated-account statement with sections 2/13 redemption and insurance conditions, plus reserve composition disclosures. Added non-EEA scope to the Circle example.",
          "FDIC fact-sheet exclusions support the insurance distinction. The article does not infer bankruptcy priority or guaranteed access solely from segregation wording."
        ]
      }
    },
    {
      "id": "stablecoin-reserve-segregation-fact-separate-question",
      "articleSlug": "stablecoin-reserve-segregation",
      "statement": "Separate question: Direct redemption eligibility remains governed by the applicable terms.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle section 1 segregated-account statement with sections 2/13 redemption and insurance conditions, plus reserve composition disclosures. Added non-EEA scope to the Circle example.",
          "FDIC fact-sheet exclusions support the insurance distinction. The article does not infer bankruptcy priority or guaranteed access solely from segregation wording."
        ]
      }
    },
    {
      "id": "stablecoin-bank-deposit-insurance-quick-answer",
      "articleSlug": "stablecoin-bank-deposit-insurance",
      "statement": "US FDIC insurance covers qualifying deposits at insured banks when the bank fails; it does not insure crypto assets themselves or a nonbank crypto company’s failure. A stablecoin issuer holding some reserves at banks does not automatically make every token holder’s token balance an insured deposit.",
      "sourceIds": [
        "source-ee0694126db6bd5b",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ee0694126db6bd5b",
          "locator": "Deposit insurance; Non-deposit products; Crypto companies"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read FDIC July 28, 2022 fact sheet: insured-bank failure, qualifying deposit scope, crypto and money-market-fund exclusions, and nonbank failure exclusion.",
          "Scoped Circle key fact to its non-EEA USDC terms. Pass-through coverage is left as an arrangement-specific question, not asserted for token holders."
        ]
      }
    },
    {
      "id": "stablecoin-bank-deposit-insurance-fact-scope",
      "articleSlug": "stablecoin-bank-deposit-insurance",
      "statement": "Scope: The cited FDIC fact sheet concerns US deposit insurance.",
      "sourceIds": [
        "source-ee0694126db6bd5b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ee0694126db6bd5b",
          "locator": "Deposit insurance; Non-deposit products; Crypto companies"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read FDIC July 28, 2022 fact sheet: insured-bank failure, qualifying deposit scope, crypto and money-market-fund exclusions, and nonbank failure exclusion.",
          "Scoped Circle key fact to its non-EEA USDC terms. Pass-through coverage is left as an arrangement-specific question, not asserted for token holders."
        ]
      }
    },
    {
      "id": "stablecoin-bank-deposit-insurance-fact-exclusions",
      "articleSlug": "stablecoin-bank-deposit-insurance",
      "statement": "Exclusions: It distinguishes crypto assets and money-market mutual funds from insured deposits.",
      "sourceIds": [
        "source-ee0694126db6bd5b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ee0694126db6bd5b",
          "locator": "Deposit insurance; Non-deposit products; Crypto companies"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read FDIC July 28, 2022 fact sheet: insured-bank failure, qualifying deposit scope, crypto and money-market-fund exclusions, and nonbank failure exclusion.",
          "Scoped Circle key fact to its non-EEA USDC terms. Pass-through coverage is left as an arrangement-specific question, not asserted for token holders."
        ]
      }
    },
    {
      "id": "stablecoin-bank-deposit-insurance-fact-issuer-terms",
      "articleSlug": "stablecoin-bank-deposit-insurance",
      "statement": "Issuer terms: Circle’s cited non-EEA USDC terms state that USDC in a Circle Mint account is not deposit-insured.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read FDIC July 28, 2022 fact sheet: insured-bank failure, qualifying deposit scope, crypto and money-market-fund exclusions, and nonbank failure exclusion.",
          "Scoped Circle key fact to its non-EEA USDC terms. Pass-through coverage is left as an arrangement-specific question, not asserted for token holders."
        ]
      }
    },
    {
      "id": "circle-cctp-quick-answer",
      "articleSlug": "circle-cctp",
      "statement": "Circle’s Cross-Chain Transfer Protocol, or CCTP, can move native USDC between supported chains by burning on the source chain and authorizing minting on the destination through Circle’s attestation infrastructure. It avoids a conventional locked-USDC wrapper for that route, but still depends on supported contracts, chain settlement and the attestation process.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413",
        "source-fea34ae52509a994"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "How CCTP works; Burn and mint"
        },
        {
          "sourceId": "source-fea34ae52509a994",
          "locator": "Burn; Attestation; Mint"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read both Circle overview and stage descriptions: native USDC burn, signed attestation and destination mint. Narrowed the stage example expressly to native USDC.",
          "Verified expanded non-USDC routes may use wrapping; the overview explicitly describes permissionless third-party wrapping. No fixed settlement time or universal native-asset claim is made."
        ]
      }
    },
    {
      "id": "circle-cctp-fact-usdc-route",
      "articleSlug": "circle-cctp",
      "statement": "USDC route: Native USDC transfers use a burn-and-mint mechanism.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "How CCTP works; Burn and mint"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read both Circle overview and stage descriptions: native USDC burn, signed attestation and destination mint. Narrowed the stage example expressly to native USDC.",
          "Verified expanded non-USDC routes may use wrapping; the overview explicitly describes permissionless third-party wrapping. No fixed settlement time or universal native-asset claim is made."
        ]
      }
    },
    {
      "id": "circle-cctp-fact-attestation",
      "articleSlug": "circle-cctp",
      "statement": "Attestation: The destination operation relies on a signed attestation from Circle’s infrastructure.",
      "sourceIds": [
        "source-fea34ae52509a994"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fea34ae52509a994",
          "locator": "Burn; Attestation; Mint"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read both Circle overview and stage descriptions: native USDC burn, signed attestation and destination mint. Narrowed the stage example expressly to native USDC.",
          "Verified expanded non-USDC routes may use wrapping; the overview explicitly describes permissionless third-party wrapping. No fixed settlement time or universal native-asset claim is made."
        ]
      }
    },
    {
      "id": "circle-cctp-fact-scope",
      "articleSlug": "circle-cctp",
      "statement": "Scope: Supported assets, chains and transfer modes are version-specific.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "How CCTP works; Burn and mint"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read both Circle overview and stage descriptions: native USDC burn, signed attestation and destination mint. Narrowed the stage example expressly to native USDC.",
          "Verified expanded non-USDC routes may use wrapping; the overview explicitly describes permissionless third-party wrapping. No fixed settlement time or universal native-asset claim is made."
        ]
      }
    },
    {
      "id": "what-is-pyusd-quick-answer",
      "articleSlug": "what-is-pyusd",
      "statement": "PayPal USD, or PYUSD, is a dollar stablecoin identified in Paxos’s disclosures as issued by Paxos Trust Company N.A. A token balance should be evaluated through its issuer terms, exact network deployment and dated reserve evidence. The PayPal name does not by itself make the token an insured bank deposit or a yield-bearing investment.",
      "sourceIds": [
        "source-14f3159cb9c7a996",
        "source-ee0694126db6bd5b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14f3159cb9c7a996",
          "locator": "Reserve reports; Issuer disclosures"
        },
        {
          "sourceId": "source-ee0694126db6bd5b",
          "locator": "Deposit insurance; Non-deposit products; Crypto companies"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos current page issuer line naming Paxos Trust Company N.A., self-reported portfolio reports and separate KPMG/Withum examination listings. The name is dated to retrieval and not retroactively assigned to old reports.",
          "Clarified that prompt post-month-end portfolio composition reports are self-reported rather than implying an older historical report class. FDIC scope does not confer insurance from the PayPal name."
        ]
      }
    },
    {
      "id": "what-is-pyusd-fact-issuer-disclosure",
      "articleSlug": "what-is-pyusd",
      "statement": "Issuer disclosure: Paxos’s retrieved transparency page names Paxos Trust Company N.A. as issuer.",
      "sourceIds": [
        "source-14f3159cb9c7a996"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14f3159cb9c7a996",
          "locator": "Reserve reports; Issuer disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos current page issuer line naming Paxos Trust Company N.A., self-reported portfolio reports and separate KPMG/Withum examination listings. The name is dated to retrieval and not retroactively assigned to old reports.",
          "Clarified that prompt post-month-end portfolio composition reports are self-reported rather than implying an older historical report class. FDIC scope does not confer insurance from the PayPal name."
        ]
      }
    },
    {
      "id": "what-is-pyusd-fact-report-types",
      "articleSlug": "what-is-pyusd",
      "statement": "Report types: The page distinguishes Paxos portfolio reports from independent examinations.",
      "sourceIds": [
        "source-14f3159cb9c7a996"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14f3159cb9c7a996",
          "locator": "Reserve reports; Issuer disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos current page issuer line naming Paxos Trust Company N.A., self-reported portfolio reports and separate KPMG/Withum examination listings. The name is dated to retrieval and not retroactively assigned to old reports.",
          "Clarified that prompt post-month-end portfolio composition reports are self-reported rather than implying an older historical report class. FDIC scope does not confer insurance from the PayPal name."
        ]
      }
    },
    {
      "id": "what-is-pyusd-fact-coverage",
      "articleSlug": "what-is-pyusd",
      "statement": "Coverage: US deposit insurance does not insure crypto assets themselves.",
      "sourceIds": [
        "source-ee0694126db6bd5b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ee0694126db6bd5b",
          "locator": "Deposit insurance; Non-deposit products; Crypto companies"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Paxos current page issuer line naming Paxos Trust Company N.A., self-reported portfolio reports and separate KPMG/Withum examination listings. The name is dated to retrieval and not retroactively assigned to old reports.",
          "Clarified that prompt post-month-end portfolio composition reports are self-reported rather than implying an older historical report class. FDIC scope does not confer insurance from the PayPal name."
        ]
      }
    },
    {
      "id": "what-is-eurc-quick-answer",
      "articleSlug": "what-is-eurc",
      "statement": "EURC is Circle’s euro-referenced stablecoin. Its target unit is the euro, so maintaining that target does not mean a constant US-dollar value. Holders must still distinguish secondary-market price, direct-redemption eligibility, the official network deployment and the applicable issuer terms.",
      "sourceIds": [
        "source-20a8193fc4b24652"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20a8193fc4b24652",
          "locator": "Euro-backed stablecoin; Redeemability"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle EURC reference-currency, Circle Mint access and deployment information. The euro-versus-dollar example is a currency-unit inference, not a live exchange-rate quote.",
          "Redemption guidance asks for EURC-specific applicable terms and does not substitute USDC terms. No universally available service or unsupported network list is asserted."
        ]
      }
    },
    {
      "id": "what-is-eurc-fact-reference-unit",
      "articleSlug": "what-is-eurc",
      "statement": "Reference unit: EURC targets the euro rather than the US dollar.",
      "sourceIds": [
        "source-20a8193fc4b24652"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20a8193fc4b24652",
          "locator": "Euro-backed stablecoin; Redeemability"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle EURC reference-currency, Circle Mint access and deployment information. The euro-versus-dollar example is a currency-unit inference, not a live exchange-rate quote.",
          "Redemption guidance asks for EURC-specific applicable terms and does not substitute USDC terms. No universally available service or unsupported network list is asserted."
        ]
      }
    },
    {
      "id": "what-is-eurc-fact-issuer",
      "articleSlug": "what-is-eurc",
      "statement": "Issuer: Circle publishes the EURC product and supporting disclosures.",
      "sourceIds": [
        "source-20a8193fc4b24652"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20a8193fc4b24652",
          "locator": "Euro-backed stablecoin; Redeemability"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle EURC reference-currency, Circle Mint access and deployment information. The euro-versus-dollar example is a currency-unit inference, not a live exchange-rate quote.",
          "Redemption guidance asks for EURC-specific applicable terms and does not substitute USDC terms. No universally available service or unsupported network list is asserted."
        ]
      }
    },
    {
      "id": "what-is-eurc-fact-comparison",
      "articleSlug": "what-is-eurc",
      "statement": "Comparison: A euro target leaves exchange-rate exposure for someone measuring value in another currency.",
      "sourceIds": [
        "source-20a8193fc4b24652"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20a8193fc4b24652",
          "locator": "Euro-backed stablecoin; Redeemability"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle EURC reference-currency, Circle Mint access and deployment information. The euro-versus-dollar example is a currency-unit inference, not a live exchange-rate quote.",
          "Redemption guidance asks for EURC-specific applicable terms and does not substitute USDC terms. No universally available service or unsupported network list is asserted."
        ]
      }
    },
    {
      "id": "what-is-usde-quick-answer",
      "articleSlug": "what-is-usde",
      "statement": "USDe is Ethena’s synthetic dollar, designed to maintain a dollar reference using a backing portfolio and hedges on volatile exposures. The retrieved documentation describes both hedged volatile assets and stable backing assets. This differs from simply holding one bank dollar per token and introduces funding, custody, exchange and execution dependencies.",
      "sourceIds": [
        "source-88745701c39094aa",
        "source-ae3fbd942aa6f5fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-88745701c39094aa",
          "locator": "USDe; Backing assets; Delta hedging"
        },
        {
          "sourceId": "source-ae3fbd942aa6f5fe",
          "locator": "Funding risk; Custody risk; Exchange failure risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena current diversified-backing description, approximately matched short hedges, stable assets and risk categories. The text dates this design and does not independently certify issuer holdings.",
          "USDe is distinguished from sUSDe rewards and withdrawal conditions. Delta-neutral price exposure does not eliminate venue, custody, execution or funding risks."
        ]
      }
    },
    {
      "id": "what-is-usde-fact-mechanism",
      "articleSlug": "what-is-usde",
      "statement": "Mechanism: Volatile backing exposures are paired with approximately matching short derivatives positions.",
      "sourceIds": [
        "source-88745701c39094aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-88745701c39094aa",
          "locator": "USDe; Backing assets; Delta hedging"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena current diversified-backing description, approximately matched short hedges, stable assets and risk categories. The text dates this design and does not independently certify issuer holdings.",
          "USDe is distinguished from sUSDe rewards and withdrawal conditions. Delta-neutral price exposure does not eliminate venue, custody, execution or funding risks."
        ]
      }
    },
    {
      "id": "what-is-usde-fact-portfolio",
      "articleSlug": "what-is-usde",
      "statement": "Portfolio: The described backing can also include stable assets that do not need the same hedge.",
      "sourceIds": [
        "source-88745701c39094aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-88745701c39094aa",
          "locator": "USDe; Backing assets; Delta hedging"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena current diversified-backing description, approximately matched short hedges, stable assets and risk categories. The text dates this design and does not independently certify issuer holdings.",
          "USDe is distinguished from sUSDe rewards and withdrawal conditions. Delta-neutral price exposure does not eliminate venue, custody, execution or funding risks."
        ]
      }
    },
    {
      "id": "what-is-usde-fact-risks",
      "articleSlug": "what-is-usde",
      "statement": "Risks: Ethena separately identifies funding, liquidation, custody and exchange-failure risks.",
      "sourceIds": [
        "source-ae3fbd942aa6f5fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ae3fbd942aa6f5fe",
          "locator": "Funding risk; Custody risk; Exchange failure risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena current diversified-backing description, approximately matched short hedges, stable assets and risk categories. The text dates this design and does not independently certify issuer holdings.",
          "USDe is distinguished from sUSDe rewards and withdrawal conditions. Delta-neutral price exposure does not eliminate venue, custody, execution or funding risks."
        ]
      }
    },
    {
      "id": "what-is-susde-quick-answer",
      "articleSlug": "what-is-susde",
      "statement": "sUSDe represents a share in Ethena’s staked-USDe arrangement. Rewards added to the staking contract can increase the USDe value associated with each share. Rewards are variable, withdrawal conditions apply, and an increasing USDe-denominated share value does not guarantee a stable dollar value or eliminate the underlying USDe risks.",
      "sourceIds": [
        "source-1a907fa1c9e187fe",
        "source-ae3fbd942aa6f5fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a907fa1c9e187fe",
          "locator": "Staked USDe; Rewards; Unstaking"
        },
        {
          "sourceId": "source-ae3fbd942aa6f5fe",
          "locator": "Funding risk; Custody risk; Exchange failure risk"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena staking contract interface, share/asset exchange, USDe rewards, variable revenue, cooldown/silo and contingent external-market exit. Recomputed 105 / 100 = 1.05 USDe per share.",
          "Positive-or-flat reward accounting is not repeated as a principal-safety promise. No current cooldown parameter or guaranteed secondary market is asserted."
        ]
      }
    },
    {
      "id": "what-is-susde-fact-shares",
      "articleSlug": "what-is-susde",
      "statement": "Shares: Staking USDe issues an ERC-20 share token through an ERC-4626-style vault.",
      "sourceIds": [
        "source-1a907fa1c9e187fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a907fa1c9e187fe",
          "locator": "Staked USDe; Rewards; Unstaking"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena staking contract interface, share/asset exchange, USDe rewards, variable revenue, cooldown/silo and contingent external-market exit. Recomputed 105 / 100 = 1.05 USDe per share.",
          "Positive-or-flat reward accounting is not repeated as a principal-safety promise. No current cooldown parameter or guaranteed secondary market is asserted."
        ]
      }
    },
    {
      "id": "what-is-susde-fact-rewards",
      "articleSlug": "what-is-susde",
      "statement": "Rewards: Rewards are transferred to the staking contract in USDe.",
      "sourceIds": [
        "source-1a907fa1c9e187fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a907fa1c9e187fe",
          "locator": "Staked USDe; Rewards; Unstaking"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena staking contract interface, share/asset exchange, USDe rewards, variable revenue, cooldown/silo and contingent external-market exit. Recomputed 105 / 100 = 1.05 USDe per share.",
          "Positive-or-flat reward accounting is not repeated as a principal-safety promise. No current cooldown parameter or guaranteed secondary market is asserted."
        ]
      }
    },
    {
      "id": "what-is-susde-fact-exit",
      "articleSlug": "what-is-susde",
      "statement": "Exit: The described unstaking process can involve a cooldown before claiming USDe.",
      "sourceIds": [
        "source-1a907fa1c9e187fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a907fa1c9e187fe",
          "locator": "Staked USDe; Rewards; Unstaking"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Ethena staking contract interface, share/asset exchange, USDe rewards, variable revenue, cooldown/silo and contingent external-market exit. Recomputed 105 / 100 = 1.05 USDe per share.",
          "Positive-or-flat reward accounting is not repeated as a principal-safety promise. No current cooldown parameter or guaranteed secondary market is asserted."
        ]
      }
    },
    {
      "id": "what-is-susds-quick-answer",
      "articleSlug": "what-is-susds",
      "statement": "sUSDS is the ERC-4626-compatible savings share for USDS in the Sky system. Its share-to-asset conversion reflects the savings-rate accumulator. It is distinct from plain USDS: the rate, contract authority, backing and available exit paths all matter, and a rising USDS-denominated ratio is not a guaranteed dollar return.",
      "sourceIds": [
        "source-99c494fb0f9d448b",
        "source-65e5b82a59b99eee",
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "sUSDS (Savings USDS); Details"
        },
        {
          "sourceId": "source-65e5b82a59b99eee",
          "locator": "ssr; file; drip; convertToAssets"
        },
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Sky Details, ERC-4626 shares/conversion requirements and pinned SUsds.sol auth, file(ssr), drip and convertToAssets. Conversion updates can reflect elapsed time without a recent drip call.",
          "Changed unsupported governance-controlled description to authorized contract controls: auth code does not identify every live authority. No current rate, implementation address or guaranteed dollar return is asserted."
        ]
      }
    },
    {
      "id": "what-is-susds-fact-standard",
      "articleSlug": "what-is-susds",
      "statement": "Standard: Sky documents an ERC-4626-compatible deposit and withdrawal interface.",
      "sourceIds": [
        "source-99c494fb0f9d448b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "sUSDS (Savings USDS); Details"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Sky Details, ERC-4626 shares/conversion requirements and pinned SUsds.sol auth, file(ssr), drip and convertToAssets. Conversion updates can reflect elapsed time without a recent drip call.",
          "Changed unsupported governance-controlled description to authorized contract controls: auth code does not identify every live authority. No current rate, implementation address or guaranteed dollar return is asserted."
        ]
      }
    },
    {
      "id": "what-is-susds-fact-accounting",
      "articleSlug": "what-is-susds",
      "statement": "Accounting: The implementation uses an accumulator and a savings-rate parameter.",
      "sourceIds": [
        "source-65e5b82a59b99eee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-65e5b82a59b99eee",
          "locator": "ssr; file; drip; convertToAssets"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Sky Details, ERC-4626 shares/conversion requirements and pinned SUsds.sol auth, file(ssr), drip and convertToAssets. Conversion updates can reflect elapsed time without a recent drip call.",
          "Changed unsupported governance-controlled description to authorized contract controls: auth code does not identify every live authority. No current rate, implementation address or guaranteed dollar return is asserted."
        ]
      }
    },
    {
      "id": "what-is-susds-fact-upgradeability",
      "articleSlug": "what-is-susds",
      "statement": "Upgradeability: The cited design uses a UUPS upgrade pattern.",
      "sourceIds": [
        "source-99c494fb0f9d448b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99c494fb0f9d448b",
          "locator": "sUSDS (Savings USDS); Details"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Sky Details, ERC-4626 shares/conversion requirements and pinned SUsds.sol auth, file(ssr), drip and convertToAssets. Conversion updates can reflect elapsed time without a recent drip call.",
          "Changed unsupported governance-controlled description to authorized contract controls: auth code does not identify every live authority. No current rate, implementation address or guaranteed dollar return is asserted."
        ]
      }
    },
    {
      "id": "stablecoin-redemption-arbitrage-quick-answer",
      "articleSlug": "stablecoin-redemption-arbitrage",
      "statement": "Redemption arbitrage can support a stablecoin peg when eligible participants buy tokens below their redemption value and redeem them, or mint and sell above target. The opportunity depends on actual access, costs, timing and confidence that redemption will complete. A theoretical one-dollar claim does not guarantee an immediate one-dollar market price.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle and Tether issuance/redemption eligibility, fees and suspension conditions. Mechanism is a conditional economic explanation, not assurance of access or completion.",
          "Recomputed 10,000 tokens bought at 99 cents and redeemed at 100 cents: $100 gross difference before costs. Reverse mint-and-sell direction is also conditional."
        ]
      }
    },
    {
      "id": "stablecoin-redemption-arbitrage-fact-access",
      "articleSlug": "stablecoin-redemption-arbitrage",
      "statement": "Access: Direct minting and redemption depend on issuer eligibility and service conditions.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle and Tether issuance/redemption eligibility, fees and suspension conditions. Mechanism is a conditional economic explanation, not assurance of access or completion.",
          "Recomputed 10,000 tokens bought at 99 cents and redeemed at 100 cents: $100 gross difference before costs. Reverse mint-and-sell direction is also conditional."
        ]
      }
    },
    {
      "id": "stablecoin-redemption-arbitrage-fact-costs",
      "articleSlug": "stablecoin-redemption-arbitrage",
      "statement": "Costs: Fees and execution costs reduce any gross price difference.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-42226350ff0e7b0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        },
        {
          "sourceId": "source-42226350ff0e7b0b",
          "locator": "Terms of Service; Eligibility; Redemption"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle and Tether issuance/redemption eligibility, fees and suspension conditions. Mechanism is a conditional economic explanation, not assurance of access or completion.",
          "Recomputed 10,000 tokens bought at 99 cents and redeemed at 100 cents: $100 gross difference before costs. Reverse mint-and-sell direction is also conditional."
        ]
      }
    },
    {
      "id": "stablecoin-redemption-arbitrage-fact-two-prices",
      "articleSlug": "stablecoin-redemption-arbitrage",
      "statement": "Two prices: A secondary-market price and contractual redemption value are distinct.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "Sections 1–4, 8, 13, 15–17"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:23.891Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Circle and Tether issuance/redemption eligibility, fees and suspension conditions. Mechanism is a conditional economic explanation, not assurance of access or completion.",
          "Recomputed 10,000 tokens bought at 99 cents and redeemed at 100 cents: $100 gross difference before costs. Reverse mint-and-sell direction is also conditional."
        ]
      }
    },
    {
      "id": "apr-vs-apy-quick-answer",
      "articleSlug": "apr-vs-apy",
      "statement": "APR commonly expresses a simple annualized rate, while APY includes an assumed compounding effect. Check the interface’s definition before comparing DeFi rates. Compare the calculation method, reward currency, reinvestment frequency and fees; neither label guarantees that a variable rate will persist for a year.",
      "sourceIds": [
        "source-8847a72e1c4b461f",
        "source-f6fab0de28f98515",
        "source-59093bf947639a66",
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8847a72e1c4b461f",
          "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling"
        },
        {
          "sourceId": "source-f6fab0de28f98515",
          "locator": "Compound interest; Examples"
        },
        {
          "sourceId": "source-59093bf947639a66",
          "locator": "calculateLinearInterest; calculateCompoundedInterest"
        },
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave glossary for the direct APR/APY distinction; the CFPB page supports compounding, not the original terminology claim. Replaced unsupported claim about inconsistent interface labels with an instruction to check definitions.",
          "Recomputed (1+0.12/12)^12-1 = 0.12682503013196977, or 12.68%. The key-fact formula is an explicitly illustrative derivation from repeated compounding. Compared MathUtils linear and binomial compounded implementations at v1.19.3; no promise of a fixed live rate."
        ]
      }
    },
    {
      "id": "apr-vs-apy-fact-compounding",
      "articleSlug": "apr-vs-apy",
      "statement": "Compounding: Reinvested earnings can themselves earn additional returns.",
      "sourceIds": [
        "source-f6fab0de28f98515"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f6fab0de28f98515",
          "locator": "Compound interest; Examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave glossary for the direct APR/APY distinction; the CFPB page supports compounding, not the original terminology claim. Replaced unsupported claim about inconsistent interface labels with an instruction to check definitions.",
          "Recomputed (1+0.12/12)^12-1 = 0.12682503013196977, or 12.68%. The key-fact formula is an explicitly illustrative derivation from repeated compounding. Compared MathUtils linear and binomial compounded implementations at v1.19.3; no promise of a fixed live rate."
        ]
      }
    },
    {
      "id": "apr-vs-apy-fact-illustrative-formula",
      "articleSlug": "apr-vs-apy",
      "statement": "Illustrative formula: For a fixed nominal rate r compounded n times, annual yield is (1 + r/n)^n − 1.",
      "sourceIds": [
        "source-f6fab0de28f98515"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f6fab0de28f98515",
          "locator": "Compound interest; Examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave glossary for the direct APR/APY distinction; the CFPB page supports compounding, not the original terminology claim. Replaced unsupported claim about inconsistent interface labels with an instruction to check definitions.",
          "Recomputed (1+0.12/12)^12-1 = 0.12682503013196977, or 12.68%. The key-fact formula is an explicitly illustrative derivation from repeated compounding. Compared MathUtils linear and binomial compounded implementations at v1.19.3; no promise of a fixed live rate."
        ]
      }
    },
    {
      "id": "apr-vs-apy-fact-protocol-accounting",
      "articleSlug": "apr-vs-apy",
      "statement": "Protocol accounting: Aave’s cited math library distinguishes linear and approximated compounded-interest calculations.",
      "sourceIds": [
        "source-59093bf947639a66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-59093bf947639a66",
          "locator": "calculateLinearInterest; calculateCompoundedInterest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave glossary for the direct APR/APY distinction; the CFPB page supports compounding, not the original terminology claim. Replaced unsupported claim about inconsistent interface labels with an instruction to check definitions.",
          "Recomputed (1+0.12/12)^12-1 = 0.12682503013196977, or 12.68%. The key-fact formula is an explicitly illustrative derivation from repeated compounding. Compared MathUtils linear and binomial compounded implementations at v1.19.3; no promise of a fixed live rate."
        ]
      }
    },
    {
      "id": "realized-vs-projected-yield-quick-answer",
      "articleSlug": "realized-vs-projected-yield",
      "statement": "Projected yield estimates a future or annualized outcome using assumptions. Realized return measures what happened over a defined holding period after accounting for relevant cash flows and costs. A position can earn more token units while losing value in dollars, so the unit of measurement must be explicit.",
      "sourceIds": [
        "source-f6fab0de28f98515",
        "source-3649ada489ba8078",
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f6fab0de28f98515",
          "locator": "Compound interest; Examples"
        },
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        },
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Recomputed token units 100 to 105 (+5%) and valuation 100*2=200 versus 105*1.5=157.50. These are illustrative quantities, not live return observations.",
          "Replaced weakly sourced generic time-evidence key fact with CFPB-documented principal/rate/compounding inputs. ERC4626 deposit and withdrawal accounting supports separating cash flows; DefiLlama distinguishes accrued fees, claimed amounts and market valuation."
        ]
      }
    },
    {
      "id": "realized-vs-projected-yield-fact-compounding-inputs",
      "articleSlug": "realized-vs-projected-yield",
      "statement": "Compounding inputs: Principal, interest rate and compounding frequency determine the illustrated compound-interest calculation.",
      "sourceIds": [
        "source-f6fab0de28f98515"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f6fab0de28f98515",
          "locator": "Compound interest; Examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Recomputed token units 100 to 105 (+5%) and valuation 100*2=200 versus 105*1.5=157.50. These are illustrative quantities, not live return observations.",
          "Replaced weakly sourced generic time-evidence key fact with CFPB-documented principal/rate/compounding inputs. ERC4626 deposit and withdrawal accounting supports separating cash flows; DefiLlama distinguishes accrued fees, claimed amounts and market valuation."
        ]
      }
    },
    {
      "id": "realized-vs-projected-yield-fact-currency",
      "articleSlug": "realized-vs-projected-yield",
      "statement": "Currency: Token units and their market-valued amount are separate quantities.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Recomputed token units 100 to 105 (+5%) and valuation 100*2=200 versus 105*1.5=157.50. These are illustrative quantities, not live return observations.",
          "Replaced weakly sourced generic time-evidence key fact with CFPB-documented principal/rate/compounding inputs. ERC4626 deposit and withdrawal accounting supports separating cash flows; DefiLlama distinguishes accrued fees, claimed amounts and market valuation."
        ]
      }
    },
    {
      "id": "realized-vs-projected-yield-fact-rate-changes",
      "articleSlug": "realized-vs-projected-yield",
      "statement": "Rate changes: Aave reserve rates can change with utilization and governance parameters.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Recomputed token units 100 to 105 (+5%) and valuation 100*2=200 versus 105*1.5=157.50. These are illustrative quantities, not live return observations.",
          "Replaced weakly sourced generic time-evidence key fact with CFPB-documented principal/rate/compounding inputs. ERC4626 deposit and withdrawal accounting supports separating cash flows; DefiLlama distinguishes accrued fees, claimed amounts and market valuation."
        ]
      }
    },
    {
      "id": "token-emission-dilution-quick-answer",
      "articleSlug": "token-emission-dilution",
      "statement": "Token emissions distribute tokens as incentives, sometimes by minting new supply and sometimes by releasing existing allocations. New issuance can reduce a non-participating holder’s percentage of total supply. Receiving more tokens is not the same as earning external revenue or preserving purchasing power.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-3649ada489ba8078",
        "source-014ee3dc1518e070"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        },
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        },
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "ERC20 supplies totalSupply/balanceOf and token-creation semantics; recomputed 100/1000=10% and 100/2000=5%.",
          "DefiLlama Fees and Revenue explicitly separates emissions as incentives from fees. VestingWallet receives and releases already-existing assets; an unlock need not mint. Market-price effects are qualified rather than predicted."
        ]
      }
    },
    {
      "id": "token-emission-dilution-fact-supply",
      "articleSlug": "token-emission-dilution",
      "statement": "Supply: ERC-20 exposes totalSupply and individual balance accounting.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "ERC20 supplies totalSupply/balanceOf and token-creation semantics; recomputed 100/1000=10% and 100/2000=5%.",
          "DefiLlama Fees and Revenue explicitly separates emissions as incentives from fees. VestingWallet receives and releases already-existing assets; an unlock need not mint. Market-price effects are qualified rather than predicted."
        ]
      }
    },
    {
      "id": "token-emission-dilution-fact-distinction",
      "articleSlug": "token-emission-dilution",
      "statement": "Distinction: DefiLlama’s methodology treats emissions as incentives, separately from user-paid fees.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "ERC20 supplies totalSupply/balanceOf and token-creation semantics; recomputed 100/1000=10% and 100/2000=5%.",
          "DefiLlama Fees and Revenue explicitly separates emissions as incentives from fees. VestingWallet receives and releases already-existing assets; an unlock need not mint. Market-price effects are qualified rather than predicted."
        ]
      }
    },
    {
      "id": "token-emission-dilution-fact-unlocks",
      "articleSlug": "token-emission-dilution",
      "statement": "Unlocks: Releasing already minted allocations can change circulation without increasing totalSupply.",
      "sourceIds": [
        "source-014ee3dc1518e070",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "ERC20 supplies totalSupply/balanceOf and token-creation semantics; recomputed 100/1000=10% and 100/2000=5%.",
          "DefiLlama Fees and Revenue explicitly separates emissions as incentives from fees. VestingWallet receives and releases already-existing assets; an unlock need not mint. Market-price effects are qualified rather than predicted."
        ]
      }
    },
    {
      "id": "defi-tvl-quick-answer",
      "articleSlug": "defi-tvl",
      "statement": "Total value locked, or TVL, measures the value of assets counted within a protocol or system under a stated methodology. It can change because asset prices change even when no one deposits or withdraws. Provider definitions, receipt-token handling and category exclusions matter, so TVL is not a universal measure of safety, revenue or unique capital.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read DefiLlama data definitions: borrowed assets, governance staking, noncirculating supply and double-counted receipt positions are excluded or tracked separately according to specified scopes.",
          "Recomputed 100*2000=200000 and 100*1500=150000 with unchanged quantity. The source explicitly distinguishes price-induced TVL changes from inflows; safety and revenue are not inferred from TVL."
        ]
      }
    },
    {
      "id": "defi-tvl-fact-valuation",
      "articleSlug": "defi-tvl",
      "statement": "Valuation: TVL combines asset quantities with prices.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read DefiLlama data definitions: borrowed assets, governance staking, noncirculating supply and double-counted receipt positions are excluded or tracked separately according to specified scopes.",
          "Recomputed 100*2000=200000 and 100*1500=150000 with unchanged quantity. The source explicitly distinguishes price-induced TVL changes from inflows; safety and revenue are not inferred from TVL."
        ]
      }
    },
    {
      "id": "defi-tvl-fact-scope",
      "articleSlug": "defi-tvl",
      "statement": "Scope: DefiLlama separates borrowed, staking and other categories under its methodology.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read DefiLlama data definitions: borrowed assets, governance staking, noncirculating supply and double-counted receipt positions are excluded or tracked separately according to specified scopes.",
          "Recomputed 100*2000=200000 and 100*1500=150000 with unchanged quantity. The source explicitly distinguishes price-induced TVL changes from inflows; safety and revenue are not inferred from TVL."
        ]
      }
    },
    {
      "id": "defi-tvl-fact-overlap",
      "articleSlug": "defi-tvl",
      "statement": "Overlap: Receipt tokens deposited elsewhere can create double-counted exposure.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read DefiLlama data definitions: borrowed assets, governance staking, noncirculating supply and double-counted receipt positions are excluded or tracked separately according to specified scopes.",
          "Recomputed 100*2000=200000 and 100*1500=150000 with unchanged quantity. The source explicitly distinguishes price-induced TVL changes from inflows; safety and revenue are not inferred from TVL."
        ]
      }
    },
    {
      "id": "market-cap-vs-fdv-quick-answer",
      "articleSlug": "market-cap-vs-fdv",
      "statement": "Circulating market capitalization values the defined circulating supply at an observed token price. Fully diluted valuation, or FDV, applies that price to an assumed eventual supply, often the expected maximum. FDV is a hypothetical multiplication, not a forecast that all tokens can be sold at today’s price.",
      "sourceIds": [
        "source-3649ada489ba8078",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "DefiLlama defines FDV as expected maximum supply times price. ERC20 totalSupply does not expose future issuance authority or a circulating-supply definition.",
          "Recomputed 10 million*2=20 million and 100 million*2=200 million. Read VestingWallet ownership and vesting constraints; article does not infer liquidation proceeds or a future price decline from FDV."
        ]
      }
    },
    {
      "id": "market-cap-vs-fdv-fact-supply-basis",
      "articleSlug": "market-cap-vs-fdv",
      "statement": "Supply basis: Circulating and eventual supply can be substantially different.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "DefiLlama defines FDV as expected maximum supply times price. ERC20 totalSupply does not expose future issuance authority or a circulating-supply definition.",
          "Recomputed 10 million*2=20 million and 100 million*2=200 million. Read VestingWallet ownership and vesting constraints; article does not infer liquidation proceeds or a future price decline from FDV."
        ]
      }
    },
    {
      "id": "market-cap-vs-fdv-fact-fdv-definition",
      "articleSlug": "market-cap-vs-fdv",
      "statement": "FDV definition: DefiLlama describes FDV using expected maximum supply multiplied by price.",
      "sourceIds": [
        "source-3649ada489ba8078"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3649ada489ba8078",
          "locator": "Total Value Locked"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "DefiLlama defines FDV as expected maximum supply times price. ERC20 totalSupply does not expose future issuance authority or a circulating-supply definition.",
          "Recomputed 10 million*2=20 million and 100 million*2=200 million. Read VestingWallet ownership and vesting constraints; article does not infer liquidation proceeds or a future price decline from FDV."
        ]
      }
    },
    {
      "id": "market-cap-vs-fdv-fact-token-interface",
      "articleSlug": "market-cap-vs-fdv",
      "statement": "Token interface: totalSupply alone does not define future minting limits or circulating supply.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "DefiLlama defines FDV as expected maximum supply times price. ERC20 totalSupply does not expose future issuance authority or a circulating-supply definition.",
          "Recomputed 10 million*2=20 million and 100 million*2=200 million. Read VestingWallet ownership and vesting constraints; article does not infer liquidation proceeds or a future price decline from FDV."
        ]
      }
    },
    {
      "id": "token-unlocks-and-vesting-quick-answer",
      "articleSlug": "token-unlocks-and-vesting",
      "statement": "Vesting controls when an allocation becomes releasable under a schedule; an unlock makes tokens transferable or claimable under the relevant arrangement. It does not necessarily mint new tokens or cause an immediate sale. Inspect the contract, beneficiary, schedule, revocation rights and whether the allocation was already counted in supply.",
      "sourceIds": [
        "source-014ee3dc1518e070",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VestingWallet linear vesting default, vestedAmount, released, releasable and ownership-transfer warning. Source supports transfer of an unvested beneficiary position.",
          "Recomputed illustrative 1200*6/12=600 vested and 600-400=200 releasable. Example explicitly defers to actual time units and custom schedules; unlock, mint and market sale remain distinct."
        ]
      }
    },
    {
      "id": "token-unlocks-and-vesting-fact-schedule",
      "articleSlug": "token-unlocks-and-vesting",
      "statement": "Schedule: OpenZeppelin VestingWallet computes a vested amount over time.",
      "sourceIds": [
        "source-014ee3dc1518e070"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VestingWallet linear vesting default, vestedAmount, released, releasable and ownership-transfer warning. Source supports transfer of an unvested beneficiary position.",
          "Recomputed illustrative 1200*6/12=600 vested and 600-400=200 releasable. Example explicitly defers to actual time units and custom schedules; unlock, mint and market sale remain distinct."
        ]
      }
    },
    {
      "id": "token-unlocks-and-vesting-fact-release",
      "articleSlug": "token-unlocks-and-vesting",
      "statement": "Release: Vested and already released amounts determine what can be claimed.",
      "sourceIds": [
        "source-014ee3dc1518e070"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VestingWallet linear vesting default, vestedAmount, released, releasable and ownership-transfer warning. Source supports transfer of an unvested beneficiary position.",
          "Recomputed illustrative 1200*6/12=600 vested and 600-400=200 releasable. Example explicitly defers to actual time units and custom schedules; unlock, mint and market sale remain distinct."
        ]
      }
    },
    {
      "id": "token-unlocks-and-vesting-fact-control",
      "articleSlug": "token-unlocks-and-vesting",
      "statement": "Control: The cited implementation’s ownership can be transferred, so the beneficiary position can change.",
      "sourceIds": [
        "source-014ee3dc1518e070"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-014ee3dc1518e070",
          "locator": "VestingWallet; vestingSchedule; release"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VestingWallet linear vesting default, vestedAmount, released, releasable and ownership-transfer warning. Source supports transfer of an unvested beneficiary position.",
          "Recomputed illustrative 1200*6/12=600 vested and 600-400=200 releasable. Example explicitly defers to actual time units and custom schedules; unlock, mint and market sale remain distinct."
        ]
      }
    },
    {
      "id": "money-market-interest-indexes-quick-answer",
      "articleSlug": "money-market-interest-indexes",
      "statement": "A lending interest index accumulates a rate over time so a protocol can derive current balances from stored scaled balances. Supply and debt can use different indexes and formulas. The result depends on the implementation, elapsed time and rate changes; it is not a promise of a fixed annual return.",
      "sourceIds": [
        "source-7f081b54ee6558ab",
        "source-59093bf947639a66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f081b54ee6558ab",
          "locator": "getNormalizedIncome; getNormalizedDebt; updateState"
        },
        {
          "sourceId": "source-59093bf947639a66",
          "locator": "calculateLinearInterest; calculateCompoundedInterest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Inspected getNormalizedIncome, getNormalizedDebt and updateState in pinned v1.19.3 ReserveLogic alongside both MathUtils interest formulas.",
          "Recomputed scaled example 100*1.02=102 and 100*1.03=103. Source tokenization balanceOf includes accrued yield; article qualifies fixed-point rounding and deployment version."
        ]
      }
    },
    {
      "id": "money-market-interest-indexes-fact-supply",
      "articleSlug": "money-market-interest-indexes",
      "statement": "Supply: Aave’s cited implementation exposes normalized income through a liquidity index.",
      "sourceIds": [
        "source-7f081b54ee6558ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f081b54ee6558ab",
          "locator": "getNormalizedIncome; getNormalizedDebt; updateState"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Inspected getNormalizedIncome, getNormalizedDebt and updateState in pinned v1.19.3 ReserveLogic alongside both MathUtils interest formulas.",
          "Recomputed scaled example 100*1.02=102 and 100*1.03=103. Source tokenization balanceOf includes accrued yield; article qualifies fixed-point rounding and deployment version."
        ]
      }
    },
    {
      "id": "money-market-interest-indexes-fact-debt",
      "articleSlug": "money-market-interest-indexes",
      "statement": "Debt: Variable debt uses a separate cumulative borrowing index.",
      "sourceIds": [
        "source-7f081b54ee6558ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f081b54ee6558ab",
          "locator": "getNormalizedIncome; getNormalizedDebt; updateState"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Inspected getNormalizedIncome, getNormalizedDebt and updateState in pinned v1.19.3 ReserveLogic alongside both MathUtils interest formulas.",
          "Recomputed scaled example 100*1.02=102 and 100*1.03=103. Source tokenization balanceOf includes accrued yield; article qualifies fixed-point rounding and deployment version."
        ]
      }
    },
    {
      "id": "money-market-interest-indexes-fact-formula",
      "articleSlug": "money-market-interest-indexes",
      "statement": "Formula: The cited MathUtils uses linear interest and an approximation for compounded interest.",
      "sourceIds": [
        "source-59093bf947639a66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-59093bf947639a66",
          "locator": "calculateLinearInterest; calculateCompoundedInterest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Inspected getNormalizedIncome, getNormalizedDebt and updateState in pinned v1.19.3 ReserveLogic alongside both MathUtils interest formulas.",
          "Recomputed scaled example 100*1.02=102 and 100*1.03=103. Source tokenization balanceOf includes accrued yield; article qualifies fixed-point rounding and deployment version."
        ]
      }
    },
    {
      "id": "aave-atokens-quick-answer",
      "articleSlug": "aave-atokens",
      "statement": "Standard Aave aTokens represent assets supplied to an Aave reserve, with balances reflecting the protocol’s interest index. Supplying mints them and withdrawing burns them. They are not guaranteed cash equivalents: withdrawals depend on available underlying liquidity and collateral constraints, and specialized aToken variants can have different transfer rules.",
      "sourceIds": [
        "source-8a1758eedafba9ec",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read standard aToken mint/burn and balanceOf documentation, then restricted RwaAToken transfer/approve/permit behavior. The standard-versus-variant caveat is justified.",
          "Pool withdraw documents health-factor restrictions and burning claims to return underlying. Article correctly separates underlying inventory from indexed claim amount and does not promise an unconditional exit."
        ]
      }
    },
    {
      "id": "aave-atokens-fact-lifecycle",
      "articleSlug": "aave-atokens",
      "statement": "Lifecycle: Supply and withdrawal mint and burn the corresponding aTokens.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read standard aToken mint/burn and balanceOf documentation, then restricted RwaAToken transfer/approve/permit behavior. The standard-versus-variant caveat is justified.",
          "Pool withdraw documents health-factor restrictions and burning claims to return underlying. Article correctly separates underlying inventory from indexed claim amount and does not promise an unconditional exit."
        ]
      }
    },
    {
      "id": "aave-atokens-fact-accrual",
      "articleSlug": "aave-atokens",
      "statement": "Accrual: Standard aToken balanceOf includes principal and accrued interest.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read standard aToken mint/burn and balanceOf documentation, then restricted RwaAToken transfer/approve/permit behavior. The standard-versus-variant caveat is justified.",
          "Pool withdraw documents health-factor restrictions and burning claims to return underlying. Article correctly separates underlying inventory from indexed claim amount and does not promise an unconditional exit."
        ]
      }
    },
    {
      "id": "aave-atokens-fact-variants",
      "articleSlug": "aave-atokens",
      "statement": "Variants: The documentation separately describes restricted RWA aToken behavior.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read standard aToken mint/burn and balanceOf documentation, then restricted RwaAToken transfer/approve/permit behavior. The standard-versus-variant caveat is justified.",
          "Pool withdraw documents health-factor restrictions and burning claims to return underlying. Article correctly separates underlying inventory from indexed claim amount and does not promise an unconditional exit."
        ]
      }
    },
    {
      "id": "variable-debt-tokens-quick-answer",
      "articleSlug": "variable-debt-tokens",
      "statement": "Aave variable-debt tokens record a borrower’s outstanding principal plus accrued variable-rate interest. Their accounting uses a debt index, and ordinary transfer and approval functions are disabled. They represent an obligation, not a freely transferable asset or a reward earned by the borrower.",
      "sourceIds": [
        "source-8a1758eedafba9ec",
        "source-7f081b54ee6558ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        },
        {
          "sourceId": "source-7f081b54ee6558ab",
          "locator": "getNormalizedIncome; getNormalizedDebt; updateState"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VariableDebtToken principal-plus-interest accounting and disabled transfer, allowance, approve and transferFrom functions; compared ReserveLogic variable debt index.",
          "Changed delegation section citation to Pool borrow/approveDelegation plus the Aave glossary because the tokenization page did not itself explain that authorization clearly. Delegation is not portrayed as transferring an existing liability."
        ]
      }
    },
    {
      "id": "variable-debt-tokens-fact-meaning",
      "articleSlug": "variable-debt-tokens",
      "statement": "Meaning: The balance represents current variable-rate debt in underlying-asset units.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VariableDebtToken principal-plus-interest accounting and disabled transfer, allowance, approve and transferFrom functions; compared ReserveLogic variable debt index.",
          "Changed delegation section citation to Pool borrow/approveDelegation plus the Aave glossary because the tokenization page did not itself explain that authorization clearly. Delegation is not portrayed as transferring an existing liability."
        ]
      }
    },
    {
      "id": "variable-debt-tokens-fact-transfer",
      "articleSlug": "variable-debt-tokens",
      "statement": "Transfer: Ordinary ERC-20 transfer and approve functionality is disabled.",
      "sourceIds": [
        "source-8a1758eedafba9ec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a1758eedafba9ec",
          "locator": "aToken; VariableDebtToken"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VariableDebtToken principal-plus-interest accounting and disabled transfer, allowance, approve and transferFrom functions; compared ReserveLogic variable debt index.",
          "Changed delegation section citation to Pool borrow/approveDelegation plus the Aave glossary because the tokenization page did not itself explain that authorization clearly. Delegation is not portrayed as transferring an existing liability."
        ]
      }
    },
    {
      "id": "variable-debt-tokens-fact-index",
      "articleSlug": "variable-debt-tokens",
      "statement": "Index: Scaled debt accounting uses the reserve’s variable borrowing index.",
      "sourceIds": [
        "source-7f081b54ee6558ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f081b54ee6558ab",
          "locator": "getNormalizedIncome; getNormalizedDebt; updateState"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read VariableDebtToken principal-plus-interest accounting and disabled transfer, allowance, approve and transferFrom functions; compared ReserveLogic variable debt index.",
          "Changed delegation section citation to Pool borrow/approveDelegation plus the Aave glossary because the tokenization page did not itself explain that authorization clearly. Delegation is not portrayed as transferring an existing liability."
        ]
      }
    },
    {
      "id": "defi-isolated-lending-markets-quick-answer",
      "articleSlug": "defi-isolated-lending-markets",
      "statement": "An isolated lending design restricts how risks from a market or collateral asset connect to others. Designs differ: a separate pool can isolate accounting, while Aave V3 isolation mode limits borrowing against designated collateral through eligible debt assets and a debt ceiling. The label does not eliminate shared code, oracle or governance dependencies.",
      "sourceIds": [
        "source-7ac01b374e81b3ac",
        "source-8847a72e1c4b461f",
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7ac01b374e81b3ac",
          "locator": "Isolation Mode"
        },
        {
          "sourceId": "source-8847a72e1c4b461f",
          "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling"
        },
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "The isolation help page supports restricted collateral and eligible debt assets but does not state a debt ceiling. Added the glossary debt-ceiling definition to quick answer, key fact and explanatory sections.",
          "Read reserve governance scope and OpenZeppelin shared implementation/beacon upgrade mechanisms. Separate accounting is not presented as eliminating shared dependency risk."
        ]
      }
    },
    {
      "id": "defi-isolated-lending-markets-fact-aave-example",
      "articleSlug": "defi-isolated-lending-markets",
      "statement": "Aave example: Isolation mode applies borrowing restrictions to designated collateral.",
      "sourceIds": [
        "source-7ac01b374e81b3ac"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7ac01b374e81b3ac",
          "locator": "Isolation Mode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "The isolation help page supports restricted collateral and eligible debt assets but does not state a debt ceiling. Added the glossary debt-ceiling definition to quick answer, key fact and explanatory sections.",
          "Read reserve governance scope and OpenZeppelin shared implementation/beacon upgrade mechanisms. Separate accounting is not presented as eliminating shared dependency risk."
        ]
      }
    },
    {
      "id": "defi-isolated-lending-markets-fact-debt-ceiling",
      "articleSlug": "defi-isolated-lending-markets",
      "statement": "Debt ceiling: A configured ceiling limits debt exposure under that mode.",
      "sourceIds": [
        "source-8847a72e1c4b461f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8847a72e1c4b461f",
          "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "The isolation help page supports restricted collateral and eligible debt assets but does not state a debt ceiling. Added the glossary debt-ceiling definition to quick answer, key fact and explanatory sections.",
          "Read reserve governance scope and OpenZeppelin shared implementation/beacon upgrade mechanisms. Separate accounting is not presented as eliminating shared dependency risk."
        ]
      }
    },
    {
      "id": "defi-isolated-lending-markets-fact-scope",
      "articleSlug": "defi-isolated-lending-markets",
      "statement": "Scope: Market-specific parameters can change through governance.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "The isolation help page supports restricted collateral and eligible debt assets but does not state a debt ceiling. Added the glossary debt-ceiling definition to quick answer, key fact and explanatory sections.",
          "Read reserve governance scope and OpenZeppelin shared implementation/beacon upgrade mechanisms. Separate accounting is not presented as eliminating shared dependency risk."
        ]
      }
    },
    {
      "id": "lending-supply-caps-quick-answer",
      "articleSlug": "lending-supply-caps",
      "statement": "A supply cap limits how much of an asset may be supplied to a lending reserve under its configured rules. It can restrict growth of exposure to that asset. It does not mean the same amount is idle and withdrawable, and it does not guarantee that existing suppliers cannot lose money.",
      "sourceIds": [
        "source-15989fc372ee02a4",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read reserve supply/borrow caps and market-specific governance parameters, together with Pool supply and withdrawal conditions.",
          "Recomputed 1000000-950000=50000 illustrative headroom. Article explicitly defers exact accounting to the implementation and distinguishes capacity from withdrawal liquidity or safety."
        ]
      }
    },
    {
      "id": "lending-supply-caps-fact-scope",
      "articleSlug": "lending-supply-caps",
      "statement": "Scope: Aave reserve caps limit the total amount supplied or borrowed.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read reserve supply/borrow caps and market-specific governance parameters, together with Pool supply and withdrawal conditions.",
          "Recomputed 1000000-950000=50000 illustrative headroom. Article explicitly defers exact accounting to the implementation and distinguishes capacity from withdrawal liquidity or safety."
        ]
      }
    },
    {
      "id": "lending-supply-caps-fact-configuration",
      "articleSlug": "lending-supply-caps",
      "statement": "Configuration: Caps are market-specific and can change through governance.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read reserve supply/borrow caps and market-specific governance parameters, together with Pool supply and withdrawal conditions.",
          "Recomputed 1000000-950000=50000 illustrative headroom. Article explicitly defers exact accounting to the implementation and distinguishes capacity from withdrawal liquidity or safety."
        ]
      }
    },
    {
      "id": "lending-supply-caps-fact-liquidity",
      "articleSlug": "lending-supply-caps",
      "statement": "Liquidity: Withdrawal availability is a separate condition from the supply cap.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read reserve supply/borrow caps and market-specific governance parameters, together with Pool supply and withdrawal conditions.",
          "Recomputed 1000000-950000=50000 illustrative headroom. Article explicitly defers exact accounting to the implementation and distinguishes capacity from withdrawal liquidity or safety."
        ]
      }
    },
    {
      "id": "borrow-caps-quick-answer",
      "articleSlug": "borrow-caps",
      "statement": "A borrow cap limits aggregate borrowing of an asset from a reserve under its configured rules. A user may be unable to borrow even with sufficient collateral if the cap is reached or liquidity is unavailable. The cap is separate from the user’s loan-to-value limit and from any isolation-mode debt ceiling.",
      "sourceIds": [
        "source-15989fc372ee02a4",
        "source-7ac01b374e81b3ac",
        "source-8847a72e1c4b461f",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        },
        {
          "sourceId": "source-7ac01b374e81b3ac",
          "locator": "Isolation Mode"
        },
        {
          "sourceId": "source-8847a72e1c4b461f",
          "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added glossary support for isolation debt ceiling. Narrowed scope/units paragraph to distinguish reserve borrowing from debt issued against designated collateral, without asserting unsupported unit equivalence.",
          "Read reserve cap, Pool collateral/credit-delegation borrow conditions and changing rate/index documentation. Personal collateral headroom, aggregate cap and liquidity are correctly separate."
        ]
      }
    },
    {
      "id": "borrow-caps-fact-aggregate-limit",
      "articleSlug": "borrow-caps",
      "statement": "Aggregate limit: The reserve borrow cap constrains total borrowing of its asset.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added glossary support for isolation debt ceiling. Narrowed scope/units paragraph to distinguish reserve borrowing from debt issued against designated collateral, without asserting unsupported unit equivalence.",
          "Read reserve cap, Pool collateral/credit-delegation borrow conditions and changing rate/index documentation. Personal collateral headroom, aggregate cap and liquidity are correctly separate."
        ]
      }
    },
    {
      "id": "borrow-caps-fact-personal-limit",
      "articleSlug": "borrow-caps",
      "statement": "Personal limit: An account’s collateral and health factor impose separate constraints.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added glossary support for isolation debt ceiling. Narrowed scope/units paragraph to distinguish reserve borrowing from debt issued against designated collateral, without asserting unsupported unit equivalence.",
          "Read reserve cap, Pool collateral/credit-delegation borrow conditions and changing rate/index documentation. Personal collateral headroom, aggregate cap and liquidity are correctly separate."
        ]
      }
    },
    {
      "id": "borrow-caps-fact-isolation",
      "articleSlug": "borrow-caps",
      "statement": "Isolation: An isolation-mode debt ceiling is a distinct configuration.",
      "sourceIds": [
        "source-8847a72e1c4b461f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8847a72e1c4b461f",
          "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added glossary support for isolation debt ceiling. Narrowed scope/units paragraph to distinguish reserve borrowing from debt issued against designated collateral, without asserting unsupported unit equivalence.",
          "Read reserve cap, Pool collateral/credit-delegation borrow conditions and changing rate/index documentation. Personal collateral headroom, aggregate cap and liquidity are correctly separate."
        ]
      }
    },
    {
      "id": "loan-to-value-vs-liquidation-threshold-quick-answer",
      "articleSlug": "loan-to-value-vs-liquidation-threshold",
      "statement": "Loan-to-value, or LTV, limits how much borrowing collateral can initially support under the protocol’s rules. The liquidation threshold helps determine when an existing position becomes eligible for liquidation. They are different parameters, and borrowing up to the allowed LTV can leave only a limited buffer against price changes and interest.",
      "sourceIds": [
        "source-15989fc372ee02a4",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave Health Factor & Liquidations to support the weighted-threshold formula and multiple-asset weighting directly. Pool alone describes eligibility but not the complete formula.",
          "Recomputed 1000*.75=750 initial capacity, 1000*.8=800 weighted collateral, 800/600=1.3333333333 and 750*.8/600=1. Boundary is described as reaching 1; eligibility remains under actual below-one/rounding rules."
        ]
      }
    },
    {
      "id": "loan-to-value-vs-liquidation-threshold-fact-ltv",
      "articleSlug": "loan-to-value-vs-liquidation-threshold",
      "statement": "LTV: Aave describes LTV as maximum borrowing relative to collateral value.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave Health Factor & Liquidations to support the weighted-threshold formula and multiple-asset weighting directly. Pool alone describes eligibility but not the complete formula.",
          "Recomputed 1000*.75=750 initial capacity, 1000*.8=800 weighted collateral, 800/600=1.3333333333 and 750*.8/600=1. Boundary is described as reaching 1; eligibility remains under actual below-one/rounding rules."
        ]
      }
    },
    {
      "id": "loan-to-value-vs-liquidation-threshold-fact-threshold",
      "articleSlug": "loan-to-value-vs-liquidation-threshold",
      "statement": "Threshold: The liquidation threshold is used to assess liquidation risk.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave Health Factor & Liquidations to support the weighted-threshold formula and multiple-asset weighting directly. Pool alone describes eligibility but not the complete formula.",
          "Recomputed 1000*.75=750 initial capacity, 1000*.8=800 weighted collateral, 800/600=1.3333333333 and 750*.8/600=1. Boundary is described as reaching 1; eligibility remains under actual below-one/rounding rules."
        ]
      }
    },
    {
      "id": "loan-to-value-vs-liquidation-threshold-fact-health-factor",
      "articleSlug": "loan-to-value-vs-liquidation-threshold",
      "statement": "Health factor: Aave’s liquidation flow targets positions with health factor below 1.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Added Aave Health Factor & Liquidations to support the weighted-threshold formula and multiple-asset weighting directly. Pool alone describes eligibility but not the complete formula.",
          "Recomputed 1000*.75=750 initial capacity, 1000*.8=800 weighted collateral, 800/600=1.3333333333 and 750*.8/600=1. Boundary is described as reaching 1; eligibility remains under actual below-one/rounding rules."
        ]
      }
    },
    {
      "id": "liquidation-bonus-quick-answer",
      "articleSlug": "liquidation-bonus",
      "statement": "A liquidation bonus is additional collateral value a protocol offers to a liquidator who repays eligible debt. It compensates for execution and market risk under the protocol’s rules. For the borrower, it can increase collateral lost relative to debt repaid; exact bonuses, fees and close limits are market- and version-specific.",
      "sourceIds": [
        "source-b35859a766315ce4",
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        },
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Pool liquidationCall and new health-factor source; recomputed 100*(1+.05)=105 before fee and rounding. Current and older documentation expose different close-factor descriptions, so no universal live close factor was asserted.",
          "Preserved the caveat that liquidation does not necessarily restore health above 1. Counterexample under the stated simplified accounting: collateral1000, debt900, threshold.8, repay100, bonus.05 leaves collateral895/debt800 and HF.895. This is algebraic scope checking, not a live Aave eligibility claim."
        ]
      }
    },
    {
      "id": "liquidation-bonus-fact-mechanism",
      "articleSlug": "liquidation-bonus",
      "statement": "Mechanism: The liquidator repays debt and receives collateral under the liquidation calculation.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Pool liquidationCall and new health-factor source; recomputed 100*(1+.05)=105 before fee and rounding. Current and older documentation expose different close-factor descriptions, so no universal live close factor was asserted.",
          "Preserved the caveat that liquidation does not necessarily restore health above 1. Counterexample under the stated simplified accounting: collateral1000, debt900, threshold.8, repay100, bonus.05 leaves collateral895/debt800 and HF.895. This is algebraic scope checking, not a live Aave eligibility claim."
        ]
      }
    },
    {
      "id": "liquidation-bonus-fact-incentive",
      "articleSlug": "liquidation-bonus",
      "statement": "Incentive: The collateral amount can include a liquidation bonus.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "supply; withdraw; borrow; liquidationCall"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Pool liquidationCall and new health-factor source; recomputed 100*(1+.05)=105 before fee and rounding. Current and older documentation expose different close-factor descriptions, so no universal live close factor was asserted.",
          "Preserved the caveat that liquidation does not necessarily restore health above 1. Counterexample under the stated simplified accounting: collateral1000, debt900, threshold.8, repay100, bonus.05 leaves collateral895/debt800 and HF.895. This is algebraic scope checking, not a live Aave eligibility claim."
        ]
      }
    },
    {
      "id": "liquidation-bonus-fact-scope",
      "articleSlug": "liquidation-bonus",
      "statement": "Scope: Reserve risk parameters vary across markets and over time.",
      "sourceIds": [
        "source-15989fc372ee02a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-15989fc372ee02a4",
          "locator": "Key Reserve Parameters; Dynamic Parameters and Governance"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Pool liquidationCall and new health-factor source; recomputed 100*(1+.05)=105 before fee and rounding. Current and older documentation expose different close-factor descriptions, so no universal live close factor was asserted.",
          "Preserved the caveat that liquidation does not necessarily restore health above 1. Counterexample under the stated simplified accounting: collateral1000, debt900, threshold.8, repay100, bonus.05 leaves collateral895/debt800 and HF.895. This is algebraic scope checking, not a live Aave eligibility claim."
        ]
      }
    },
    {
      "id": "oracle-heartbeat-deviation-quick-answer",
      "articleSlug": "oracle-heartbeat-deviation",
      "statement": "A push-based price feed may update when a price deviation threshold is crossed or a heartbeat interval is reached. These triggers do not make the value a continuous live quote or guarantee zero delay. Consumers must check the feed’s units, timestamp and suitability for their application, using the exact chain and feed configuration.",
      "sourceIds": [
        "source-48b910b0d31d6788"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48b910b0d31d6788",
          "locator": "Heartbeat and deviation thresholds; Data quality"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read the exact Chainlink section Check the timestamp of the latest answer: heartbeat initiates a round, congestion can delay publication, updatedAt/latestTimestamp consumer checks remain necessary.",
          "Source explicitly allows different wrapped-asset and cross-chain thresholds. One percent/one hour are marked illustrative, and the article does not turn the trigger into a deadline guarantee."
        ]
      }
    },
    {
      "id": "oracle-heartbeat-deviation-fact-deviation",
      "articleSlug": "oracle-heartbeat-deviation",
      "statement": "Deviation: A configured price change can trigger a new update round.",
      "sourceIds": [
        "source-48b910b0d31d6788"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48b910b0d31d6788",
          "locator": "Heartbeat and deviation thresholds; Data quality"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read the exact Chainlink section Check the timestamp of the latest answer: heartbeat initiates a round, congestion can delay publication, updatedAt/latestTimestamp consumer checks remain necessary.",
          "Source explicitly allows different wrapped-asset and cross-chain thresholds. One percent/one hour are marked illustrative, and the article does not turn the trigger into a deadline guarantee."
        ]
      }
    },
    {
      "id": "oracle-heartbeat-deviation-fact-heartbeat",
      "articleSlug": "oracle-heartbeat-deviation",
      "statement": "Heartbeat: An elapsed interval can trigger an update even during low volatility.",
      "sourceIds": [
        "source-48b910b0d31d6788"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48b910b0d31d6788",
          "locator": "Heartbeat and deviation thresholds; Data quality"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read the exact Chainlink section Check the timestamp of the latest answer: heartbeat initiates a round, congestion can delay publication, updatedAt/latestTimestamp consumer checks remain necessary.",
          "Source explicitly allows different wrapped-asset and cross-chain thresholds. One percent/one hour are marked illustrative, and the article does not turn the trigger into a deadline guarantee."
        ]
      }
    },
    {
      "id": "oracle-heartbeat-deviation-fact-consumer-check",
      "articleSlug": "oracle-heartbeat-deviation",
      "statement": "Consumer check: Chainlink recommends checking updatedAt or the relevant timestamp for freshness.",
      "sourceIds": [
        "source-48b910b0d31d6788"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-48b910b0d31d6788",
          "locator": "Heartbeat and deviation thresholds; Data quality"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read the exact Chainlink section Check the timestamp of the latest answer: heartbeat initiates a round, congestion can delay publication, updatedAt/latestTimestamp consumer checks remain necessary.",
          "Source explicitly allows different wrapped-asset and cross-chain thresholds. One percent/one hour are marked illustrative, and the article does not turn the trigger into a deadline guarantee."
        ]
      }
    },
    {
      "id": "twap-oracles-quick-answer",
      "articleSlug": "twap-oracles",
      "statement": "A time-weighted average price, or TWAP, averages price observations over an interval according to time spent at each value. It can reduce dependence on one instantaneous pool price, but introduces lag and does not eliminate manipulation risk. The pool, window, observation availability and averaging method all matter.",
      "sourceIds": [
        "source-9d6f5c70415da83e",
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        },
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened both white papers and visually inspected v2 page3 cumulative-price equations and v3 pages3–4 oracle discussion. V2 arithmetic versus v3 tick/log-price geometric averaging is correctly distinguished.",
          "Recomputed (100*30+120*30)/60=110. Read observation-history requirements and longer-window latency/manipulation trade-off; article does not claim universal manipulation resistance."
        ]
      }
    },
    {
      "id": "twap-oracles-fact-v2-example",
      "articleSlug": "twap-oracles",
      "statement": "V2 example: Uniswap v2 accumulates prices to support arithmetic time-weighted averages.",
      "sourceIds": [
        "source-9d6f5c70415da83e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened both white papers and visually inspected v2 page3 cumulative-price equations and v3 pages3–4 oracle discussion. V2 arithmetic versus v3 tick/log-price geometric averaging is correctly distinguished.",
          "Recomputed (100*30+120*30)/60=110. Read observation-history requirements and longer-window latency/manipulation trade-off; article does not claim universal manipulation resistance."
        ]
      }
    },
    {
      "id": "twap-oracles-fact-v3-example",
      "articleSlug": "twap-oracles",
      "statement": "V3 example: Uniswap v3 accumulates ticks to support geometric mean prices.",
      "sourceIds": [
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened both white papers and visually inspected v2 page3 cumulative-price equations and v3 pages3–4 oracle discussion. V2 arithmetic versus v3 tick/log-price geometric averaging is correctly distinguished.",
          "Recomputed (100*30+120*30)/60=110. Read observation-history requirements and longer-window latency/manipulation trade-off; article does not claim universal manipulation resistance."
        ]
      }
    },
    {
      "id": "twap-oracles-fact-window",
      "articleSlug": "twap-oracles",
      "statement": "Window: The selected interval changes responsiveness and the exposure being measured.",
      "sourceIds": [
        "source-9d6f5c70415da83e",
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        },
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened both white papers and visually inspected v2 page3 cumulative-price equations and v3 pages3–4 oracle discussion. V2 arithmetic versus v3 tick/log-price geometric averaging is correctly distinguished.",
          "Recomputed (100*30+120*30)/60=110. Read observation-history requirements and longer-window latency/manipulation trade-off; article does not claim universal manipulation resistance."
        ]
      }
    },
    {
      "id": "sandwich-attacks-quick-answer",
      "articleSlug": "sandwich-attacks",
      "statement": "A sandwich attack places transactions before and after a target swap to exploit how that swap changes pool prices. The target can receive a worse execution while still meeting a permissive minimum-output condition. Tighter enforced limits and suitable private or order-based routes can reduce exposure, but no single setting guarantees protection from every form of MEV.",
      "sourceIds": [
        "source-b9c1aef903b1d75a",
        "source-9d6f5c70415da83e",
        "source-f3d456a5988db888"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9c1aef903b1d75a",
          "locator": "Sandwich trading; MEV protection"
        },
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        },
        {
          "sourceId": "source-f3d456a5988db888",
          "locator": "MEV protection; Privacy; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Ethereum MEV sandwich sequence, Uniswap v2 reserve-price mechanics, UniswapX signed output conditions and Flashbots Protect private-route scope.",
          "Attacker ordering, target execution bounds and ordinary intervening price movements are separated. Private submission is qualified by route behavior; no global protection or guaranteed attacker profitability is asserted."
        ]
      }
    },
    {
      "id": "sandwich-attacks-fact-ordering",
      "articleSlug": "sandwich-attacks",
      "statement": "Ordering: The attack depends on arranging activity around the target transaction.",
      "sourceIds": [
        "source-b9c1aef903b1d75a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9c1aef903b1d75a",
          "locator": "Sandwich trading; MEV protection"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Ethereum MEV sandwich sequence, Uniswap v2 reserve-price mechanics, UniswapX signed output conditions and Flashbots Protect private-route scope.",
          "Attacker ordering, target execution bounds and ordinary intervening price movements are separated. Private submission is qualified by route behavior; no global protection or guaranteed attacker profitability is asserted."
        ]
      }
    },
    {
      "id": "sandwich-attacks-fact-price-effect",
      "articleSlug": "sandwich-attacks",
      "statement": "Price effect: AMM reserve changes affect the next execution price.",
      "sourceIds": [
        "source-9d6f5c70415da83e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Ethereum MEV sandwich sequence, Uniswap v2 reserve-price mechanics, UniswapX signed output conditions and Flashbots Protect private-route scope.",
          "Attacker ordering, target execution bounds and ordinary intervening price movements are separated. Private submission is qualified by route behavior; no global protection or guaranteed attacker profitability is asserted."
        ]
      }
    },
    {
      "id": "sandwich-attacks-fact-limit",
      "articleSlug": "sandwich-attacks",
      "statement": "Limit: A minimum output constrains accepted execution, not the initial quote itself.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; Fillers; Dutch auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read Ethereum MEV sandwich sequence, Uniswap v2 reserve-price mechanics, UniswapX signed output conditions and Flashbots Protect private-route scope.",
          "Attacker ordering, target execution bounds and ordinary intervening price movements are separated. Private submission is qualified by route behavior; no global protection or guaranteed attacker profitability is asserted."
        ]
      }
    },
    {
      "id": "private-transaction-submission-quick-answer",
      "articleSlug": "private-transaction-submission",
      "statement": "Private transaction submission sends a transaction through a service or builder path instead of ordinary public-mempool broadcasting. It can reduce exposure to some frontrunning strategies, but the service and relevant downstream participants still receive information. Privacy, failure handling, inclusion and fallback behavior depend on the route used.",
      "sourceIds": [
        "source-f3d456a5988db888",
        "source-b9c1aef903b1d75a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f3d456a5988db888",
          "locator": "MEV protection; Privacy; How it works"
        },
        {
          "sourceId": "source-b9c1aef903b1d75a",
          "locator": "Sandwich trading; MEV protection"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened Flashbots Protect overview: private mempool, configurable privacy/speed settings and service policy against reverting inclusion. Compared Ethereum transaction inclusion and public-chain execution.",
          "Article correctly treats the service as a submission route, not a consensus guarantee; public fallback is conditional rather than an assertion that every wallet performs it."
        ]
      }
    },
    {
      "id": "private-transaction-submission-fact-example",
      "articleSlug": "private-transaction-submission",
      "statement": "Example: Flashbots Protect describes a private submission path with configurable settings.",
      "sourceIds": [
        "source-f3d456a5988db888"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f3d456a5988db888",
          "locator": "MEV protection; Privacy; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened Flashbots Protect overview: private mempool, configurable privacy/speed settings and service policy against reverting inclusion. Compared Ethereum transaction inclusion and public-chain execution.",
          "Article correctly treats the service as a submission route, not a consensus guarantee; public fallback is conditional rather than an assertion that every wallet performs it."
        ]
      }
    },
    {
      "id": "private-transaction-submission-fact-visibility",
      "articleSlug": "private-transaction-submission",
      "statement": "Visibility: Avoiding public broadcast does not mean no intermediary sees the transaction.",
      "sourceIds": [
        "source-f3d456a5988db888"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f3d456a5988db888",
          "locator": "MEV protection; Privacy; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened Flashbots Protect overview: private mempool, configurable privacy/speed settings and service policy against reverting inclusion. Compared Ethereum transaction inclusion and public-chain execution.",
          "Article correctly treats the service as a submission route, not a consensus guarantee; public fallback is conditional rather than an assertion that every wallet performs it."
        ]
      }
    },
    {
      "id": "private-transaction-submission-fact-scope",
      "articleSlug": "private-transaction-submission",
      "statement": "Scope: MEV includes more than one attack or extraction mechanism.",
      "sourceIds": [
        "source-b9c1aef903b1d75a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9c1aef903b1d75a",
          "locator": "Sandwich trading; MEV protection"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened Flashbots Protect overview: private mempool, configurable privacy/speed settings and service policy against reverting inclusion. Compared Ethereum transaction inclusion and public-chain execution.",
          "Article correctly treats the service as a submission route, not a consensus guarantee; public fallback is conditional rather than an assertion that every wallet performs it."
        ]
      }
    },
    {
      "id": "limit-orders-onchain-quick-answer",
      "articleSlug": "limit-orders-onchain",
      "statement": "A limit order authorizes a trade only under specified price or amount conditions. In an on-chain settlement system, the order may be signed off-chain and filled later by another participant. Reaching a displayed market price does not guarantee execution: liquidity, fees, validity, permissions and the settlement mechanism still matter.",
      "sourceIds": [
        "source-46aefaca405a0e77",
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-46aefaca405a0e77",
          "locator": "Order structure; Features; Examples"
        },
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; Fillers; Dutch auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read pinned 1inch README: off-chain EIP712 orders, on-chain filling, conditions, partial-fill choice, expiration, nonce/epoch cancellation and explicit approval schemes. Compared UniswapX chain-specific auctions.",
          "Ten units for at least200 is a hypothetical signed condition, not a guarantee of a fill. EIP712 explicitly does not supply general replay protection, so application validation is correctly retained."
        ]
      }
    },
    {
      "id": "limit-orders-onchain-fact-authorization",
      "articleSlug": "limit-orders-onchain",
      "statement": "Authorization: Order data can specify assets, amounts and execution conditions.",
      "sourceIds": [
        "source-46aefaca405a0e77"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-46aefaca405a0e77",
          "locator": "Order structure; Features; Examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read pinned 1inch README: off-chain EIP712 orders, on-chain filling, conditions, partial-fill choice, expiration, nonce/epoch cancellation and explicit approval schemes. Compared UniswapX chain-specific auctions.",
          "Ten units for at least200 is a hypothetical signed condition, not a guarantee of a fill. EIP712 explicitly does not supply general replay protection, so application validation is correctly retained."
        ]
      }
    },
    {
      "id": "limit-orders-onchain-fact-execution",
      "articleSlug": "limit-orders-onchain",
      "statement": "Execution: A signed order still needs a valid settlement transaction.",
      "sourceIds": [
        "source-46aefaca405a0e77",
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-46aefaca405a0e77",
          "locator": "Order structure; Features; Examples"
        },
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; Fillers; Dutch auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read pinned 1inch README: off-chain EIP712 orders, on-chain filling, conditions, partial-fill choice, expiration, nonce/epoch cancellation and explicit approval schemes. Compared UniswapX chain-specific auctions.",
          "Ten units for at least200 is a hypothetical signed condition, not a guarantee of a fill. EIP712 explicitly does not supply general replay protection, so application validation is correctly retained."
        ]
      }
    },
    {
      "id": "limit-orders-onchain-fact-variation",
      "articleSlug": "limit-orders-onchain",
      "statement": "Variation: Auction-based orders can use changing amount conditions rather than one fixed limit.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; Fillers; Dutch auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Read pinned 1inch README: off-chain EIP712 orders, on-chain filling, conditions, partial-fill choice, expiration, nonce/epoch cancellation and explicit approval schemes. Compared UniswapX chain-specific auctions.",
          "Ten units for at least200 is a hypothetical signed condition, not a guarantee of a fill. EIP712 explicitly does not supply general replay protection, so application validation is correctly retained."
        ]
      }
    },
    {
      "id": "uniswap-v2-vs-v3-quick-answer",
      "articleSlug": "uniswap-v2-vs-v3",
      "statement": "Uniswap v2 pools place liquidity across the full constant-product price range. Uniswap v3 lets liquidity providers choose price ranges, concentrating capital where it can trade. That changes inventory, position management and fee opportunities; it does not guarantee higher net returns for every provider.",
      "sourceIds": [
        "source-9d6f5c70415da83e",
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        },
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened v2 and v3 white papers; visually inspected v3 page2 concentrated-liquidity inventory and page3 fee/position architecture. Out-of-range positions stop earning active fees and become one asset.",
          "Read v3 pages3–4 arithmetic/geometric oracle contrast. No fixed current fee tier or higher-return promise is inferred from concentrated capital."
        ]
      }
    },
    {
      "id": "uniswap-v2-vs-v3-fact-v2",
      "articleSlug": "uniswap-v2-vs-v3",
      "statement": "V2: Liquidity follows the full-range constant-product reserve relationship.",
      "sourceIds": [
        "source-9d6f5c70415da83e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened v2 and v3 white papers; visually inspected v3 page2 concentrated-liquidity inventory and page3 fee/position architecture. Out-of-range positions stop earning active fees and become one asset.",
          "Read v3 pages3–4 arithmetic/geometric oracle contrast. No fixed current fee tier or higher-return promise is inferred from concentrated capital."
        ]
      }
    },
    {
      "id": "uniswap-v2-vs-v3-fact-v3",
      "articleSlug": "uniswap-v2-vs-v3",
      "statement": "V3: Positions specify bounded price ranges and can become inactive outside them.",
      "sourceIds": [
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened v2 and v3 white papers; visually inspected v3 page2 concentrated-liquidity inventory and page3 fee/position architecture. Out-of-range positions stop earning active fees and become one asset.",
          "Read v3 pages3–4 arithmetic/geometric oracle contrast. No fixed current fee tier or higher-return promise is inferred from concentrated capital."
        ]
      }
    },
    {
      "id": "uniswap-v2-vs-v3-fact-oracle",
      "articleSlug": "uniswap-v2-vs-v3",
      "statement": "Oracle: The versions use different cumulative-price accounting methods.",
      "sourceIds": [
        "source-9d6f5c70415da83e",
        "source-a0860b156550d3eb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d6f5c70415da83e",
          "locator": "Price oracle; Liquidity; Fees"
        },
        {
          "sourceId": "source-a0860b156550d3eb",
          "locator": "Concentrated Liquidity; Oracle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:15:18.493Z",
        "reviewer": "automated independent verification — DeFi expansion reviewer",
        "notes": [
          "Reopened v2 and v3 white papers; visually inspected v3 page2 concentrated-liquidity inventory and page3 fee/position architecture. Out-of-range positions stop earning active fees and become one asset.",
          "Read v3 pages3–4 arithmetic/geometric oracle contrast. No fixed current fee tier or higher-return promise is inferred from concentrated capital."
        ]
      }
    },
    {
      "id": "uniswap-v4-hooks-quick-answer",
      "articleSlug": "uniswap-v4-hooks",
      "statement": "A Uniswap v4 hook is an optional external contract that customizes a pool at specified operation boundaries, such as before or after a swap or liquidity change. The hook address forms part of the pool’s identity. Its code and permissions can change the experience and risks of that particular pool, so the v4 label alone does not describe the complete behavior.",
      "sourceIds": [
        "source-dc5d5dd3b089171c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc5d5dd3b089171c",
          "locator": "Core Hook Functions; Hook lifecycle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh Uniswap v4 Hooks primary documentation: optional pool-specific attachment, encoded callback permissions, immutable PoolKey attachment, before/after operations and custom restrictions. Hypothetical examples clearly distinguished from deployed guarantees."
        ]
      }
    },
    {
      "id": "uniswap-v4-hooks-fact-optional",
      "articleSlug": "uniswap-v4-hooks",
      "statement": "Optional: A v4 pool can operate without an attached hook.",
      "sourceIds": [
        "source-dc5d5dd3b089171c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc5d5dd3b089171c",
          "locator": "Core Hook Functions; Hook lifecycle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh Uniswap v4 Hooks primary documentation: optional pool-specific attachment, encoded callback permissions, immutable PoolKey attachment, before/after operations and custom restrictions. Hypothetical examples clearly distinguished from deployed guarantees."
        ]
      }
    },
    {
      "id": "uniswap-v4-hooks-fact-permissions",
      "articleSlug": "uniswap-v4-hooks",
      "statement": "Permissions: Hook address bits identify which callbacks the PoolManager invokes.",
      "sourceIds": [
        "source-dc5d5dd3b089171c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc5d5dd3b089171c",
          "locator": "Core Hook Functions; Hook lifecycle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh Uniswap v4 Hooks primary documentation: optional pool-specific attachment, encoded callback permissions, immutable PoolKey attachment, before/after operations and custom restrictions. Hypothetical examples clearly distinguished from deployed guarantees."
        ]
      }
    },
    {
      "id": "uniswap-v4-hooks-fact-pool-identity",
      "articleSlug": "uniswap-v4-hooks",
      "statement": "Pool identity: A pool’s hook is specified at creation and cannot simply be replaced in that pool’s key.",
      "sourceIds": [
        "source-dc5d5dd3b089171c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc5d5dd3b089171c",
          "locator": "Core Hook Functions; Hook lifecycle"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh Uniswap v4 Hooks primary documentation: optional pool-specific attachment, encoded callback permissions, immutable PoolKey attachment, before/after operations and custom restrictions. Hypothetical examples clearly distinguished from deployed guarantees."
        ]
      }
    },
    {
      "id": "fee-on-transfer-tokens-quick-answer",
      "articleSlug": "fee-on-transfer-tokens",
      "statement": "A fee-on-transfer token deducts a charge under its transfer rules, so a recipient may receive fewer units than the sender requested to move. Integrations that assume the requested amount always arrives can fail or misaccount. Compatibility depends on the exact token and route; Uniswap’s cited warning specifically concerns its v3 router contracts.",
      "sourceIds": [
        "source-1dfb73e432851474",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Fee-on-transfer tokens; Rebasing tokens"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh v3 Token Integration Issues, ERC-20 transfer/allowance interface and Ethereum gas documentation. V3-router limitation correctly scoped; wrappers/custom routers are possibilities, not assurance. Recomputed100×(1−.02)=98; token deduction is distinct from execution gas."
        ]
      }
    },
    {
      "id": "fee-on-transfer-tokens-fact-amount-received",
      "articleSlug": "fee-on-transfer-tokens",
      "statement": "Amount received: A transfer deduction can make received units smaller than the requested amount.",
      "sourceIds": [
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Fee-on-transfer tokens; Rebasing tokens"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh v3 Token Integration Issues, ERC-20 transfer/allowance interface and Ethereum gas documentation. V3-router limitation correctly scoped; wrappers/custom routers are possibilities, not assurance. Recomputed100×(1−.02)=98; token deduction is distinct from execution gas."
        ]
      }
    },
    {
      "id": "fee-on-transfer-tokens-fact-v3-scope",
      "articleSlug": "fee-on-transfer-tokens",
      "statement": "V3 scope: Uniswap documents fee-on-transfer tokens as incompatible with its v3 router contracts.",
      "sourceIds": [
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Fee-on-transfer tokens; Rebasing tokens"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh v3 Token Integration Issues, ERC-20 transfer/allowance interface and Ethereum gas documentation. V3-router limitation correctly scoped; wrappers/custom routers are possibilities, not assurance. Recomputed100×(1−.02)=98; token deduction is distinct from execution gas."
        ]
      }
    },
    {
      "id": "fee-on-transfer-tokens-fact-possible-adaptation",
      "articleSlug": "fee-on-transfer-tokens",
      "statement": "Possible adaptation: The cited documentation mentions token wrappers or customized routers as possible workarounds.",
      "sourceIds": [
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Fee-on-transfer tokens; Rebasing tokens"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read fresh v3 Token Integration Issues, ERC-20 transfer/allowance interface and Ethereum gas documentation. V3-router limitation correctly scoped; wrappers/custom routers are possibilities, not assurance. Recomputed100×(1−.02)=98; token deduction is distinct from execution gas."
        ]
      }
    },
    {
      "id": "rebasing-tokens-quick-answer",
      "articleSlug": "rebasing-tokens",
      "statement": "A rebasing token can change displayed holder balances through a protocol-wide accounting adjustment without an ordinary transfer to each holder. The purpose and formula differ by token. Lido’s stETH uses shares to reflect changes in pooled ether, including rewards and potential penalties; more displayed units alone do not prove a positive return in another currency.",
      "sourceIds": [
        "source-6ff5ad291aef20ef",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido integration guide share accounting, positive/negative rebases, absence of Transfer events at rebase, wrapper behavior, and v3 negative-rebase LP warning. Recomputed100/1000=105/1050=.1. No guaranteed economic gain inferred from unit count."
        ]
      }
    },
    {
      "id": "rebasing-tokens-fact-accounting",
      "articleSlug": "rebasing-tokens",
      "statement": "Accounting: Lido derives stETH balances from shares and pooled ether.",
      "sourceIds": [
        "source-6ff5ad291aef20ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido integration guide share accounting, positive/negative rebases, absence of Transfer events at rebase, wrapper behavior, and v3 negative-rebase LP warning. Recomputed100/1000=105/1050=.1. No guaranteed economic gain inferred from unit count."
        ]
      }
    },
    {
      "id": "rebasing-tokens-fact-direction",
      "articleSlug": "rebasing-tokens",
      "statement": "Direction: The documented stETH rebase can be positive or negative.",
      "sourceIds": [
        "source-6ff5ad291aef20ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido integration guide share accounting, positive/negative rebases, absence of Transfer events at rebase, wrapper behavior, and v3 negative-rebase LP warning. Recomputed100/1000=105/1050=.1. No guaranteed economic gain inferred from unit count."
        ]
      }
    },
    {
      "id": "rebasing-tokens-fact-integration",
      "articleSlug": "rebasing-tokens",
      "statement": "Integration: Uniswap v3 liquidity providers can bear losses from a negative rebase when their position becomes active.",
      "sourceIds": [
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Fee-on-transfer tokens; Rebasing tokens"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido integration guide share accounting, positive/negative rebases, absence of Transfer events at rebase, wrapper behavior, and v3 negative-rebase LP warning. Recomputed100/1000=105/1050=.1. No guaranteed economic gain inferred from unit count."
        ]
      }
    },
    {
      "id": "wrapped-staked-ether-quick-answer",
      "articleSlug": "wrapped-staked-ether",
      "statement": "Lido’s wrapped staked ether, wstETH, represents stETH through a non-rebasing wrapper. A holder’s wstETH unit count does not rise merely because staking rewards accrue; the amount of stETH represented by each unit changes instead. Unwrapping returns stETH under the contract’s conversion rules and is separate from redeeming through Lido’s ether withdrawal queue.",
      "sourceIds": [
        "source-6ff5ad291aef20ef",
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        },
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido stETH/wstETH distinction, share rounding and WithdrawalQueueERC721 request/finalization/claim. Recomputed2×1.20=2.40 and2×1.21=2.42. Conversion rates are expressly illustrative; unwrapping, market selling and ETH withdrawal separated."
        ]
      }
    },
    {
      "id": "wrapped-staked-ether-fact-representation",
      "articleSlug": "wrapped-staked-ether",
      "statement": "Representation: wstETH uses a changing stETH conversion rate instead of rebasing holder balances.",
      "sourceIds": [
        "source-6ff5ad291aef20ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido stETH/wstETH distinction, share rounding and WithdrawalQueueERC721 request/finalization/claim. Recomputed2×1.20=2.40 and2×1.21=2.42. Conversion rates are expressly illustrative; unwrapping, market selling and ETH withdrawal separated."
        ]
      }
    },
    {
      "id": "wrapped-staked-ether-fact-conversion",
      "articleSlug": "wrapped-staked-ether",
      "statement": "Conversion: The wrapper supports conversion between stETH and wstETH.",
      "sourceIds": [
        "source-6ff5ad291aef20ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6ff5ad291aef20ef",
          "locator": "stETH; wstETH; Withdrawal queue"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido stETH/wstETH distinction, share rounding and WithdrawalQueueERC721 request/finalization/claim. Recomputed2×1.20=2.40 and2×1.21=2.42. Conversion rates are expressly illustrative; unwrapping, market selling and ETH withdrawal separated."
        ]
      }
    },
    {
      "id": "wrapped-staked-ether-fact-withdrawal",
      "articleSlug": "wrapped-staked-ether",
      "statement": "Withdrawal: Protocol withdrawal for ether has request, finalization and claim stages.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido stETH/wstETH distinction, share rounding and WithdrawalQueueERC721 request/finalization/claim. Recomputed2×1.20=2.40 and2×1.21=2.42. Conversion rates are expressly illustrative; unwrapping, market selling and ETH withdrawal separated."
        ]
      }
    },
    {
      "id": "restaking-quick-answer",
      "articleSlug": "restaking",
      "statement": "Restaking commits staked or eligible deposited assets to additional service arrangements. In the cited EigenLayer v1.5.0 architecture, restakers delegate assets to operators, stake can be allocated to operator sets, and services can slash allocated stake under the relevant rules. Extra reward opportunities therefore come with additional commitments; they are not simply another risk-free layer of staking income.",
      "sourceIds": [
        "source-67e1c03b6f61dc15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67e1c03b6f61dc15",
          "locator": "Core contract table; Version scope"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read pinned EigenLayer core-contract overview scoped expressly to v1.5.0, including DelegationManager, AllocationManager slashing, StrategyManager and RewardsCoordinator. No claim made about every current deployment or guaranteed reward rate."
        ]
      }
    },
    {
      "id": "restaking-fact-delegation",
      "articleSlug": "restaking",
      "statement": "Delegation: The documented DelegationManager tracks assets delegated to operators and slashing accounting.",
      "sourceIds": [
        "source-67e1c03b6f61dc15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67e1c03b6f61dc15",
          "locator": "Core contract table; Version scope"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read pinned EigenLayer core-contract overview scoped expressly to v1.5.0, including DelegationManager, AllocationManager slashing, StrategyManager and RewardsCoordinator. No claim made about every current deployment or guaranteed reward rate."
        ]
      }
    },
    {
      "id": "restaking-fact-allocation",
      "articleSlug": "restaking",
      "statement": "Allocation: AllocationManager tracks stake allocation to operator sets and enables service slashing.",
      "sourceIds": [
        "source-67e1c03b6f61dc15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67e1c03b6f61dc15",
          "locator": "Core contract table; Version scope"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read pinned EigenLayer core-contract overview scoped expressly to v1.5.0, including DelegationManager, AllocationManager slashing, StrategyManager and RewardsCoordinator. No claim made about every current deployment or guaranteed reward rate."
        ]
      }
    },
    {
      "id": "restaking-fact-version-scope",
      "articleSlug": "restaking",
      "statement": "Version scope: The cited core-contract overview expressly describes v1.5.0 functionality.",
      "sourceIds": [
        "source-67e1c03b6f61dc15"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67e1c03b6f61dc15",
          "locator": "Core contract table; Version scope"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read pinned EigenLayer core-contract overview scoped expressly to v1.5.0, including DelegationManager, AllocationManager slashing, StrategyManager and RewardsCoordinator. No claim made about every current deployment or guaranteed reward rate."
        ]
      }
    },
    {
      "id": "defi-withdrawal-queues-quick-answer",
      "articleSlug": "defi-withdrawal-queues",
      "statement": "A withdrawal queue separates asking to exit from receiving the underlying asset. Its rules determine when a request can be finalized and claimed. In Lido’s documented queue, a request creates an NFT representing the claim, finalization reserves ether, and the current NFT owner claims it afterward. A successful request is therefore not the same as an immediate ether payment.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido WithdrawalQueueERC721 Request, Finalization, Claim and ownership methods. Confirmed transferable receipt, reward exclusion, amount cap, remaining loss risk, and eligibility after finalization. No fixed queue-duration or guaranteed payout claim."
        ]
      }
    },
    {
      "id": "defi-withdrawal-queues-fact-receipt",
      "articleSlug": "defi-withdrawal-queues",
      "statement": "Receipt: Lido’s unstETH NFT represents the withdrawal request and claim ownership.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido WithdrawalQueueERC721 Request, Finalization, Claim and ownership methods. Confirmed transferable receipt, reward exclusion, amount cap, remaining loss risk, and eligibility after finalization. No fixed queue-duration or guaranteed payout claim."
        ]
      }
    },
    {
      "id": "defi-withdrawal-queues-fact-stages",
      "articleSlug": "defi-withdrawal-queues",
      "statement": "Stages: Request, finalization and claim are separate steps.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido WithdrawalQueueERC721 Request, Finalization, Claim and ownership methods. Confirmed transferable receipt, reward exclusion, amount cap, remaining loss risk, and eligibility after finalization. No fixed queue-duration or guaranteed payout claim."
        ]
      }
    },
    {
      "id": "defi-withdrawal-queues-fact-waiting-exposure",
      "articleSlug": "defi-withdrawal-queues",
      "statement": "Waiting exposure: Queued stETH stops earning rewards for the requester while specified loss exposure remains.",
      "sourceIds": [
        "source-e6758f7dcc7bc56a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6758f7dcc7bc56a",
          "locator": "Request; Finalization; Claim"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read Lido WithdrawalQueueERC721 Request, Finalization, Claim and ownership methods. Confirmed transferable receipt, reward exclusion, amount cap, remaining loss risk, and eligibility after finalization. No fixed queue-duration or guaranteed payout claim."
        ]
      }
    },
    {
      "id": "vault-share-price-quick-answer",
      "articleSlug": "vault-share-price",
      "statement": "A vault share price expresses how many underlying asset units a share represents under the vault’s accounting. The share count can remain fixed while that conversion changes. For ERC-4626 vaults, conversion estimates, operation-specific previews and maximum-action limits answer different questions; none alone guarantees a future withdrawal amount or a positive investment return.",
      "sourceIds": [
        "source-0500eb916f66cd39",
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        },
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Defending with a virtual offset"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read ERC-4626 conversion, preview, max, rounding and security sections; OpenZeppelin vault guide donation/fee explanations. Recomputed120/100×10=12. Fees, time of preview, maximum limits and manipulable oracle risks preserved."
        ]
      }
    },
    {
      "id": "vault-share-price-fact-units",
      "articleSlug": "vault-share-price",
      "statement": "Units: ERC-4626 distinguishes underlying assets from vault shares.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read ERC-4626 conversion, preview, max, rounding and security sections; OpenZeppelin vault guide donation/fee explanations. Recomputed120/100×10=12. Fees, time of preview, maximum limits and manipulable oracle risks preserved."
        ]
      }
    },
    {
      "id": "vault-share-price-fact-conversion",
      "articleSlug": "vault-share-price",
      "statement": "Conversion: convertToAssets and convertToShares exclude fees and round down under the standard.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read ERC-4626 conversion, preview, max, rounding and security sections; OpenZeppelin vault guide donation/fee explanations. Recomputed120/100×10=12. Fees, time of preview, maximum limits and manipulable oracle risks preserved."
        ]
      }
    },
    {
      "id": "vault-share-price-fact-limits",
      "articleSlug": "vault-share-price",
      "statement": "Limits: Preview methods do not account for deposit or withdrawal limits; max methods address limits separately.",
      "sourceIds": [
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read ERC-4626 conversion, preview, max, rounding and security sections; OpenZeppelin vault guide donation/fee explanations. Recomputed120/100×10=12. Fees, time of preview, maximum limits and manipulable oracle risks preserved."
        ]
      }
    },
    {
      "id": "vault-inflation-attacks-quick-answer",
      "articleSlug": "vault-inflation-attacks",
      "statement": "A vault inflation attack manipulates the assets-to-shares conversion of a vulnerable vault, often using a donation when few shares exist. A later deposit can then round to very few or even zero shares, shifting value toward existing holders. The weakness depends on implementation; ERC-4626 compatibility alone does not establish that a vault has suitable defenses.",
      "sourceIds": [
        "source-e18b8696025f65d0",
        "source-0500eb916f66cd39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Defending with a virtual offset"
        },
        {
          "sourceId": "source-0500eb916f66cd39",
          "locator": "Specification; Security Considerations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin inflation attack and virtual-offset defense, plus ERC-4626 slippage warnings. Recomputed50×1/100=.5 and floor→0 in explicitly unprotected base-unit example. No claim every vault is vulnerable or that donation proves profitable attack."
        ]
      }
    },
    {
      "id": "vault-inflation-attacks-fact-rounding",
      "articleSlug": "vault-inflation-attacks",
      "statement": "Rounding: Deposits that convert to less than one smallest share unit can round to zero in the illustrated vulnerable design.",
      "sourceIds": [
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Defending with a virtual offset"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin inflation attack and virtual-offset defense, plus ERC-4626 slippage warnings. Recomputed50×1/100=.5 and floor→0 in explicitly unprotected base-unit example. No claim every vault is vulnerable or that donation proves profitable attack."
        ]
      }
    },
    {
      "id": "vault-inflation-attacks-fact-donation",
      "articleSlug": "vault-inflation-attacks",
      "statement": "Donation: Adding assets without minting proportional shares can move the conversion rate.",
      "sourceIds": [
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Defending with a virtual offset"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin inflation attack and virtual-offset defense, plus ERC-4626 slippage warnings. Recomputed50×1/100=.5 and floor→0 in explicitly unprotected base-unit example. No claim every vault is vulnerable or that donation proves profitable attack."
        ]
      }
    },
    {
      "id": "vault-inflation-attacks-fact-defense-example",
      "articleSlug": "vault-inflation-attacks",
      "statement": "Defense example: OpenZeppelin describes virtual assets and shares with a precision offset as a defense.",
      "sourceIds": [
        "source-e18b8696025f65d0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e18b8696025f65d0",
          "locator": "Security concern: Inflation attack; Defending with a virtual offset"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin inflation attack and virtual-offset defense, plus ERC-4626 slippage warnings. Recomputed50×1/100=.5 and floor→0 in explicitly unprotected base-unit example. No claim every vault is vulnerable or that donation proves profitable attack."
        ]
      }
    },
    {
      "id": "governance-delegation-quick-answer",
      "articleSlug": "governance-delegation",
      "statement": "Governance delegation assigns voting power to a representative under a token’s governance rules. In OpenZeppelin’s ERC20Votes and Governor example, delegates cast votes, and holders can delegate to themselves. This voting assignment is distinct from transferring the tokens or approving token spending; the exact snapshot and delegation behavior depend on the implementation.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7",
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        },
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "totalSupply; balanceOf; transfer; decimals; approve; allowance; transferFrom; Transfer"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Setup/Token/Vote/clock sections and ERC-20 approve/allowance. Narrowed key fact from implementation-specific checkpoint wording to documented historical voting-power snapshots. Self-delegation, snapshot timing and voting versus spending authority distinguished."
        ]
      }
    },
    {
      "id": "governance-delegation-fact-voter",
      "articleSlug": "governance-delegation",
      "statement": "Voter: Delegates carry voting power in the cited Governor example.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Setup/Token/Vote/clock sections and ERC-20 approve/allowance. Narrowed key fact from implementation-specific checkpoint wording to documented historical voting-power snapshots. Self-delegation, snapshot timing and voting versus spending authority distinguished."
        ]
      }
    },
    {
      "id": "governance-delegation-fact-self-delegation",
      "articleSlug": "governance-delegation",
      "statement": "Self-delegation: A holder can become their own delegate.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Setup/Token/Vote/clock sections and ERC-20 approve/allowance. Narrowed key fact from implementation-specific checkpoint wording to documented historical voting-power snapshots. Self-delegation, snapshot timing and voting versus spending authority distinguished."
        ]
      }
    },
    {
      "id": "governance-delegation-fact-history",
      "articleSlug": "governance-delegation",
      "statement": "History: ERC20Votes tracks historical balances for voting-power snapshots.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Setup/Token/Vote/clock sections and ERC-20 approve/allowance. Narrowed key fact from implementation-specific checkpoint wording to documented historical voting-power snapshots. Self-delegation, snapshot timing and voting versus spending authority distinguished."
        ]
      }
    },
    {
      "id": "governance-timelocks-quick-answer",
      "articleSlug": "governance-timelocks",
      "statement": "A governance timelock delays eligible actions between scheduling and execution. In OpenZeppelin’s Governor example, a successful proposal is queued, waits the configured delay and can then be executed. The delay creates an observation period; it does not prove the proposal is safe, guarantee that users can exit or automatically constrain powers held outside the timelock.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Timelock/Queue-and-execute plus role configuration. Delay starts at scheduling; execution needs a call and authority; optional modules and bypass roles retained. Two-day hypothetical is explicitly not a live delay."
        ]
      }
    },
    {
      "id": "governance-timelocks-fact-sequence",
      "articleSlug": "governance-timelocks",
      "statement": "Sequence: With a timelock, the documented proposal flow includes queueing before execution.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Timelock/Queue-and-execute plus role configuration. Delay starts at scheduling; execution needs a call and authority; optional modules and bypass roles retained. Two-day hypothetical is explicitly not a live delay."
        ]
      }
    },
    {
      "id": "governance-timelocks-fact-delay",
      "articleSlug": "governance-timelocks",
      "statement": "Delay: Execution must wait for the configured delay after scheduling.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Timelock/Queue-and-execute plus role configuration. Delay starts at scheduling; execution needs a call and authority; optional modules and bypass roles retained. Two-day hypothetical is explicitly not a live delay."
        ]
      }
    },
    {
      "id": "governance-timelocks-fact-authority",
      "articleSlug": "governance-timelocks",
      "statement": "Authority: The timelock needs the assets or permissions required to execute the governed action.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Voting token; Governor; Timelock"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:19:48.887Z",
        "reviewer": "automated independent verification — Codex root, separate from final-ten DeFi author",
        "notes": [
          "Read OpenZeppelin Governor Timelock/Queue-and-execute plus role configuration. Delay starts at scheduling; execution needs a call and authority; optional modules and bypass roles retained. Two-day hypothetical is explicitly not a live delay."
        ]
      }
    },
    {
      "id": "how-to-receive-bitcoin-quick-answer",
      "articleSlug": "how-to-receive-bitcoin",
      "statement": "To receive an on-chain Bitcoin payment, give the payer a receiving address from the correct wallet and network, plus the agreed amount. Share the address or payment request, never spending secrets. The wallet can be offline while the network records a payment. Check the actual output and confirmation status afterward; a screenshot or sender notification is not the payment itself.",
      "sourceIds": [
        "source-a9b064a549c150fd",
        "source-b282fdecc069b74d",
        "source-5100780ba9c0cc55",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a9b064a549c150fd",
          "locator": "Mobile payments made easy; Works everywhere, anytime"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Requesting Payments; Verifying Payment; Issuing Refunds"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked receiving-address sharing, output accounting and confirmation policy against wallet, transaction and payment-processing guides. Device verification confirms the wallet destination, not an outside identity; offline on-chain receipt is distinguished from Lightning availability. Added explicit BIP321/BTCPay/Lightning citations."
        ]
      }
    },
    {
      "id": "how-to-receive-bitcoin-fact-share",
      "articleSlug": "how-to-receive-bitcoin",
      "statement": "Share: A receiving address or supported payment request",
      "sourceIds": [
        "source-a9b064a549c150fd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a9b064a549c150fd",
          "locator": "Mobile payments made easy; Works everywhere, anytime"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked receiving-address sharing, output accounting and confirmation policy against wallet, transaction and payment-processing guides. Device verification confirms the wallet destination, not an outside identity; offline on-chain receipt is distinguished from Lightning availability. Added explicit BIP321/BTCPay/Lightning citations."
        ]
      }
    },
    {
      "id": "how-to-receive-bitcoin-fact-keep-secret",
      "articleSlug": "how-to-receive-bitcoin",
      "statement": "Keep secret: Keys, seed and required recovery secrets",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked receiving-address sharing, output accounting and confirmation policy against wallet, transaction and payment-processing guides. Device verification confirms the wallet destination, not an outside identity; offline on-chain receipt is distinguished from Lightning availability. Added explicit BIP321/BTCPay/Lightning citations."
        ]
      }
    },
    {
      "id": "how-to-receive-bitcoin-fact-check",
      "articleSlug": "how-to-receive-bitcoin",
      "statement": "Check: Network, destination, amount and chain status",
      "sourceIds": [
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Requesting Payments; Verifying Payment; Issuing Refunds"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked receiving-address sharing, output accounting and confirmation policy against wallet, transaction and payment-processing guides. Device verification confirms the wallet destination, not an outside identity; offline on-chain receipt is distinguished from Lightning availability. Added explicit BIP321/BTCPay/Lightning citations."
        ]
      }
    },
    {
      "id": "how-to-send-bitcoin-quick-answer",
      "articleSlug": "how-to-send-bitcoin",
      "statement": "Sending bitcoin means authorizing a transaction that spends suitable wallet outputs to the intended destination. Confirm the network, recipient, amount and total fee before signing, then track the submitted transaction. Signing, broadcasting and confirmation are separate events. Bitcoin has no ordinary chargeback instruction that retrieves a completed payment from its recipient.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-34552f149068cb49",
        "source-ba4dc8db91e16d53"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-34552f149068cb49",
          "locator": "Description; Arguments: amount, comment, comment_to, subtractfeefromamount, fee_rate; Result"
        },
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authorization, broadcast and inclusion as distinct events. Core29 subtractfeefromamount directly supports recipient-versus-debit distinction;81,200 and78,800 sats recomputed. A second payment with different inputs can duplicate payment rather than cancel it."
        ]
      }
    },
    {
      "id": "how-to-send-bitcoin-fact-authorization",
      "articleSlug": "how-to-send-bitcoin",
      "statement": "Authorization: Signing satisfies spending conditions",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authorization, broadcast and inclusion as distinct events. Core29 subtractfeefromamount directly supports recipient-versus-debit distinction;81,200 and78,800 sats recomputed. A second payment with different inputs can duplicate payment rather than cancel it."
        ]
      }
    },
    {
      "id": "how-to-send-bitcoin-fact-amount",
      "articleSlug": "how-to-send-bitcoin",
      "statement": "Amount: Check what the recipient actually receives",
      "sourceIds": [
        "source-34552f149068cb49"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-34552f149068cb49",
          "locator": "Description; Arguments: amount, comment, comment_to, subtractfeefromamount, fee_rate; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authorization, broadcast and inclusion as distinct events. Core29 subtractfeefromamount directly supports recipient-versus-debit distinction;81,200 and78,800 sats recomputed. A second payment with different inputs can duplicate payment rather than cancel it."
        ]
      }
    },
    {
      "id": "how-to-send-bitcoin-fact-completion",
      "articleSlug": "how-to-send-bitcoin",
      "statement": "Completion: A submission response is earlier than confirmation",
      "sourceIds": [
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Requesting Payments; Verifying Payment; Issuing Refunds"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authorization, broadcast and inclusion as distinct events. Core29 subtractfeefromamount directly supports recipient-versus-debit distinction;81,200 and78,800 sats recomputed. A second payment with different inputs can duplicate payment rather than cancel it."
        ]
      }
    },
    {
      "id": "bitcoin-payment-requests-qr-codes-quick-answer",
      "articleSlug": "bitcoin-payment-requests-qr-codes",
      "statement": "A Bitcoin payment QR code is an encoding of text, often a payment URI containing a destination, amount and optional instructions. Scanning helps transfer those fields; it does not prove who created the request or that payment has happened. Review the wallet’s decoded request before approval. BIP-321 updates the older BIP-21 URI scheme, but actual support depends on the wallet.",
      "sourceIds": [
        "source-8d372ef951aaea6c",
        "source-4a82ebda19174ffa",
        "source-6d1aa1923394141c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8d372ef951aaea6c",
          "locator": "General rules for handling (important!); General Format; Query Keys; Transfer amount; Forward compatibility; Backward compatibility"
        },
        {
          "sourceId": "source-4a82ebda19174ffa",
          "locator": "Superseded by BIP 321; Specification; Rationale; Forward compatibility"
        },
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read pinned BIP321 and superseded BIP21. Decimal BTC amount, required unknown fields, optional alternative payment route and user authorization are qualified to specification and wallet support;0.0005BTC=50,000sats checked."
        ]
      }
    },
    {
      "id": "bitcoin-payment-requests-qr-codes-fact-amount-unit",
      "articleSlug": "bitcoin-payment-requests-qr-codes",
      "statement": "Amount unit: The URI amount field uses decimal BTC",
      "sourceIds": [
        "source-8d372ef951aaea6c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8d372ef951aaea6c",
          "locator": "General rules for handling (important!); General Format; Query Keys; Transfer amount; Forward compatibility; Backward compatibility"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read pinned BIP321 and superseded BIP21. Decimal BTC amount, required unknown fields, optional alternative payment route and user authorization are qualified to specification and wallet support;0.0005BTC=50,000sats checked."
        ]
      }
    },
    {
      "id": "bitcoin-payment-requests-qr-codes-fact-authorization",
      "articleSlug": "bitcoin-payment-requests-qr-codes",
      "statement": "Authorization: A URI must not trigger payment without authorization",
      "sourceIds": [
        "source-8d372ef951aaea6c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8d372ef951aaea6c",
          "locator": "General rules for handling (important!); General Format; Query Keys; Transfer amount; Forward compatibility; Backward compatibility"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read pinned BIP321 and superseded BIP21. Decimal BTC amount, required unknown fields, optional alternative payment route and user authorization are qualified to specification and wallet support;0.0005BTC=50,000sats checked."
        ]
      }
    },
    {
      "id": "bitcoin-payment-requests-qr-codes-fact-identity",
      "articleSlug": "bitcoin-payment-requests-qr-codes",
      "statement": "Identity: A label is not recipient authentication",
      "sourceIds": [
        "source-8d372ef951aaea6c",
        "source-6d1aa1923394141c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8d372ef951aaea6c",
          "locator": "General rules for handling (important!); General Format; Query Keys; Transfer amount; Forward compatibility; Backward compatibility"
        },
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read pinned BIP321 and superseded BIP21. Decimal BTC amount, required unknown fields, optional alternative payment route and user authorization are qualified to specification and wallet support;0.0005BTC=50,000sats checked."
        ]
      }
    },
    {
      "id": "bitcoin-payment-refunds-quick-answer",
      "articleSlug": "bitcoin-payment-refunds",
      "statement": "An ordinary Bitcoin refund is a new transaction authorized by the party returning funds. It does not erase or reverse the original payment. Agree on the refund amount and obtain a suitable destination from the customer. Do not automatically send money to an address inferred from the original transaction’s inputs; a custodial service may not credit that return to the customer.",
      "sourceIds": [
        "source-5100780ba9c0cc55",
        "source-363266151956e734",
        "source-ba4dc8db91e16d53"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Requesting Payments; Verifying Payment; Issuing Refunds"
        },
        {
          "sourceId": "source-363266151956e734",
          "locator": "Create a refund; Processing refund"
        },
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BTCPay refund creation/claim/approval/signing workflow and developer refund-address warning. A25,000sat refund is a new spend; the agreement can use original/current conversion choices, and an input address is not reliable refund authority."
        ]
      }
    },
    {
      "id": "bitcoin-payment-refunds-fact-ledger-effect",
      "articleSlug": "bitcoin-payment-refunds",
      "statement": "Ledger effect: Original payment remains in history",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BTCPay refund creation/claim/approval/signing workflow and developer refund-address warning. A25,000sat refund is a new spend; the agreement can use original/current conversion choices, and an input address is not reliable refund authority."
        ]
      }
    },
    {
      "id": "bitcoin-payment-refunds-fact-destination",
      "articleSlug": "bitcoin-payment-refunds",
      "statement": "Destination: Use a confirmed refund destination",
      "sourceIds": [
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Requesting Payments; Verifying Payment; Issuing Refunds"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BTCPay refund creation/claim/approval/signing workflow and developer refund-address warning. A25,000sat refund is a new spend; the agreement can use original/current conversion choices, and an input address is not reliable refund authority."
        ]
      }
    },
    {
      "id": "bitcoin-payment-refunds-fact-costs",
      "articleSlug": "bitcoin-payment-refunds",
      "statement": "Costs: The refund has its own transaction fee",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BTCPay refund creation/claim/approval/signing workflow and developer refund-address warning. A25,000sat refund is a new spend; the agreement can use original/current conversion choices, and an input address is not reliable refund authority."
        ]
      }
    },
    {
      "id": "bitcoin-payment-not-showing-in-wallet-quick-answer",
      "articleSlug": "bitcoin-payment-not-showing-in-wallet",
      "statement": "A confirmed Bitcoin payment missing from a wallet display can be a discovery or synchronization problem rather than a lost payment. First match the network, destination and amount; then check the wallet’s chain progress, account and recovery settings. A visible public output does not establish that the open wallet holds its spending keys. Do not share a seed with an explorer or support stranger.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-961282fbeb6f3ea6",
        "source-82375415e215e2f2",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        },
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        },
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked network/output identity, Core29 balance categories, chain progress and rescan behavior. Recovery distinguishes key material, BIP39 normalization/passphrase, BIP32 path and BIP44 history; pruning can make required historical bodies unavailable."
        ]
      }
    },
    {
      "id": "bitcoin-payment-not-showing-in-wallet-fact-first-comparison",
      "articleSlug": "bitcoin-payment-not-showing-in-wallet",
      "statement": "First comparison: Exact destination and network",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-961282fbeb6f3ea6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked network/output identity, Core29 balance categories, chain progress and rescan behavior. Recovery distinguishes key material, BIP39 normalization/passphrase, BIP32 path and BIP44 history; pruning can make required historical bodies unavailable."
        ]
      }
    },
    {
      "id": "bitcoin-payment-not-showing-in-wallet-fact-discovery",
      "articleSlug": "bitcoin-payment-not-showing-in-wallet",
      "statement": "Discovery: An address gap can hide later used addresses",
      "sourceIds": [
        "source-82375415e215e2f2",
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Path levels; Account discovery; Address gap limit"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked network/output identity, Core29 balance categories, chain progress and rescan behavior. Recovery distinguishes key material, BIP39 normalization/passphrase, BIP32 path and BIP44 history; pruning can make required historical bodies unavailable."
        ]
      }
    },
    {
      "id": "bitcoin-payment-not-showing-in-wallet-fact-authority",
      "articleSlug": "bitcoin-payment-not-showing-in-wallet",
      "statement": "Authority: Seeing an output is different from signing it",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked network/output identity, Core29 balance categories, chain progress and rescan behavior. Recovery distinguishes key material, BIP39 normalization/passphrase, BIP32 path and BIP44 history; pruning can make required historical bodies unavailable."
        ]
      }
    },
    {
      "id": "bitcoin-send-max-quick-answer",
      "articleSlug": "bitcoin-send-max",
      "statement": "Send Max normally asks a wallet to spend selected available funds while leaving enough value for the transaction fee. The recipient therefore receives less than the selected input total. A displayed balance may also include outputs the wallet cannot currently spend or sign for. Read the funded transaction’s recipient amount and fee; the button’s exact selection rules depend on the wallet.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-cd336b4fe95b9402",
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-cd336b4fe95b9402",
          "locator": "Result: mine, watchonly, trusted, untrusted_pending, immature"
        },
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments: inputs, outputs, options; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked max-send as eligible input value less the transaction fee, with spendability and unsafe/watch-only distinctions from Core29.98,500sat result checked; PSBT funding alone does not authorize spending."
        ]
      }
    },
    {
      "id": "bitcoin-send-max-fact-accounting",
      "articleSlug": "bitcoin-send-max",
      "statement": "Accounting: Inputs equal outputs plus fee",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked max-send as eligible input value less the transaction fee, with spendability and unsafe/watch-only distinctions from Core29.98,500sat result checked; PSBT funding alone does not authorize spending."
        ]
      }
    },
    {
      "id": "bitcoin-send-max-fact-visibility",
      "articleSlug": "bitcoin-send-max",
      "statement": "Visibility: A watch-only balance is not signing authority",
      "sourceIds": [
        "source-cd336b4fe95b9402"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cd336b4fe95b9402",
          "locator": "Result: mine, watchonly, trusted, untrusted_pending, immature"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked max-send as eligible input value less the transaction fee, with spendability and unsafe/watch-only distinctions from Core29.98,500sat result checked; PSBT funding alone does not authorize spending."
        ]
      }
    },
    {
      "id": "bitcoin-send-max-fact-selection",
      "articleSlug": "bitcoin-send-max",
      "statement": "Selection: The wallet decides which available outputs to include",
      "sourceIds": [
        "source-a8abe4366f2656ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8abe4366f2656ba",
          "locator": "Arguments: inputs, outputs, options; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked max-send as eligible input value less the transaction fee, with spendability and unsafe/watch-only distinctions from Core29.98,500sat result checked; PSBT funding alone does not authorize spending."
        ]
      }
    },
    {
      "id": "bitcoin-payment-batching-quick-answer",
      "articleSlug": "bitcoin-payment-batching",
      "statement": "Bitcoin payment batching creates several recipient outputs in one transaction. It can reduce duplicated transaction overhead and input use compared with separate payments, but savings depend on the actual construction. Recipients share one transaction identifier and confirmation event, which also makes their outputs visibly related. Each amount, destination and fee-deduction rule still needs review.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-92ae850777eb59b9",
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-92ae850777eb59b9",
          "locator": "Arguments: amounts, subtractfeefrom"
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Transaction ID; Additional definitions; Transaction size calculations"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked multiple outputs in a single Core sendmany transaction and the public relationship among outputs. Recomputed all recipient totals and hypothetical size/fee comparison; stipulated sizes are not presented as universal transaction sizes."
        ]
      }
    },
    {
      "id": "bitcoin-payment-batching-fact-structure",
      "articleSlug": "bitcoin-payment-batching",
      "statement": "Structure: One transaction can create many outputs",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked multiple outputs in a single Core sendmany transaction and the public relationship among outputs. Recomputed all recipient totals and hypothetical size/fee comparison; stipulated sizes are not presented as universal transaction sizes."
        ]
      }
    },
    {
      "id": "bitcoin-payment-batching-fact-identifier",
      "articleSlug": "bitcoin-payment-batching",
      "statement": "Identifier: A sendmany batch returns one transaction ID",
      "sourceIds": [
        "source-92ae850777eb59b9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ae850777eb59b9",
          "locator": "Arguments: amounts, subtractfeefrom"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked multiple outputs in a single Core sendmany transaction and the public relationship among outputs. Recomputed all recipient totals and hypothetical size/fee comparison; stipulated sizes are not presented as universal transaction sizes."
        ]
      }
    },
    {
      "id": "bitcoin-payment-batching-fact-fee",
      "articleSlug": "bitcoin-payment-batching",
      "statement": "Fee: Paid for the whole transaction, not independently per recipient",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked multiple outputs in a single Core sendmany transaction and the public relationship among outputs. Recomputed all recipient totals and hypothetical size/fee comparison; stipulated sizes are not presented as universal transaction sizes."
        ]
      }
    },
    {
      "id": "bitcoin-exchange-withdrawal-fees-quick-answer",
      "articleSlug": "bitcoin-exchange-withdrawal-fees",
      "statement": "A Bitcoin service’s withdrawal fee is an account charge under that service’s terms. The miner fee is the input-minus-output difference of an on-chain transaction. They need not be equal, especially when a service batches several withdrawals. Read the final service quote, supported route and net recipient amount instead of treating a quoted withdrawal fee as a universal network price.",
      "sourceIds": [
        "source-ed6008b9cb62f085",
        "source-b282fdecc069b74d",
        "source-92ae850777eb59b9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed6008b9cb62f085",
          "locator": "Withdrawal fees and minimums"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-92ae850777eb59b9",
          "locator": "Arguments: amounts, subtractfeefrom"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Kraken service-charge disclaimer and final quoted amount, with no current fee asserted. The2,000sat account-versus-receipt difference is kept separate from the5,000sat fee of the whole batch."
        ]
      }
    },
    {
      "id": "bitcoin-exchange-withdrawal-fees-fact-service-quote",
      "articleSlug": "bitcoin-exchange-withdrawal-fees",
      "statement": "Service quote: Can include a minimum and a withdrawal charge",
      "sourceIds": [
        "source-ed6008b9cb62f085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed6008b9cb62f085",
          "locator": "Withdrawal fees and minimums"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Kraken service-charge disclaimer and final quoted amount, with no current fee asserted. The2,000sat account-versus-receipt difference is kept separate from the5,000sat fee of the whole batch."
        ]
      }
    },
    {
      "id": "bitcoin-exchange-withdrawal-fees-fact-miner-fee",
      "articleSlug": "bitcoin-exchange-withdrawal-fees",
      "statement": "Miner fee: One transaction-level amount",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Kraken service-charge disclaimer and final quoted amount, with no current fee asserted. The2,000sat account-versus-receipt difference is kept separate from the5,000sat fee of the whole batch."
        ]
      }
    },
    {
      "id": "bitcoin-exchange-withdrawal-fees-fact-batching",
      "articleSlug": "bitcoin-exchange-withdrawal-fees",
      "statement": "Batching: Several customers can share one transaction",
      "sourceIds": [
        "source-92ae850777eb59b9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ae850777eb59b9",
          "locator": "Arguments: amounts, subtractfeefrom"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Kraken service-charge disclaimer and final quoted amount, with no current fee asserted. The2,000sat account-versus-receipt difference is kept separate from the5,000sat fee of the whole batch."
        ]
      }
    },
    {
      "id": "bitcoin-merchant-invoices-quick-answer",
      "articleSlug": "bitcoin-merchant-invoices",
      "statement": "A merchant invoice is an application record linking a request to detected payments and settlement rules. It can expire, receive too little, be overpaid or receive funds late. These states are different from whether a Bitcoin transaction is valid. In BTCPay’s documented model, Processing waits for settlement conditions, while Settled means those conditions were met; a manual status change does not create a confirmed payment.",
      "sourceIds": [
        "source-c7252b1be610c37c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7252b1be610c37c",
          "locator": "Invoice statuses; Invoice details; Refunding an invoice; Archiving invoices"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked all BTCPay base states and partial/over/late exceptions in the current guide, including manual status overrides and archiving. The2,000sat shortfall and two-payment total are correct; settled is explicitly product/policy-specific."
        ]
      }
    },
    {
      "id": "bitcoin-merchant-invoices-fact-request",
      "articleSlug": "bitcoin-merchant-invoices",
      "statement": "Request: Amount and quote can have an expiry",
      "sourceIds": [
        "source-c7252b1be610c37c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7252b1be610c37c",
          "locator": "Invoice statuses; Invoice details; Refunding an invoice; Archiving invoices"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked all BTCPay base states and partial/over/late exceptions in the current guide, including manual status overrides and archiving. The2,000sat shortfall and two-payment total are correct; settled is explicitly product/policy-specific."
        ]
      }
    },
    {
      "id": "bitcoin-merchant-invoices-fact-processing",
      "articleSlug": "bitcoin-merchant-invoices",
      "statement": "Processing: Full payment detected; settlement conditions pending",
      "sourceIds": [
        "source-c7252b1be610c37c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7252b1be610c37c",
          "locator": "Invoice statuses; Invoice details; Refunding an invoice; Archiving invoices"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked all BTCPay base states and partial/over/late exceptions in the current guide, including manual status overrides and archiving. The2,000sat shortfall and two-payment total are correct; settled is explicitly product/policy-specific."
        ]
      }
    },
    {
      "id": "bitcoin-merchant-invoices-fact-exceptions",
      "articleSlug": "bitcoin-merchant-invoices",
      "statement": "Exceptions: Partial, overpaid and late payments need context",
      "sourceIds": [
        "source-c7252b1be610c37c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7252b1be610c37c",
          "locator": "Invoice statuses; Invoice details; Refunding an invoice; Archiving invoices"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked all BTCPay base states and partial/over/late exceptions in the current guide, including manual status overrides and archiving. The2,000sat shortfall and two-payment total are correct; settled is explicitly product/policy-specific."
        ]
      }
    },
    {
      "id": "bitcoin-address-validation-quick-answer",
      "articleSlug": "bitcoin-address-validation",
      "statement": "A valid Bitcoin address is a correctly encoded destination supported by the relevant network and wallet. Validation can detect format or checksum errors; it cannot tell you who controls the destination or whether it is the address you intended. Check the complete request against a trusted source and use the correct network context before authorizing payment.",
      "sourceIds": [
        "source-da1629d9523069bc",
        "source-7c30c03ff7365c18",
        "source-b33f2e5a3eb0e76d",
        "source-6d1aa1923394141c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da1629d9523069bc",
          "locator": "Result: isvalid, address, scriptPubKey, error"
        },
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Bech32; Segwit address format; Checksum design"
        },
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Specification; Compatibility"
        },
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 validateaddress results, BIP173 encoding and BIP350 witness-version/checksum pairing. Address validity and ownership are separate; typo correction is not promised and full destination comparison is recommended."
        ]
      }
    },
    {
      "id": "bitcoin-address-validation-fact-format-check",
      "articleSlug": "bitcoin-address-validation",
      "statement": "Format check: Valid encoding is not recipient identity",
      "sourceIds": [
        "source-da1629d9523069bc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da1629d9523069bc",
          "locator": "Result: isvalid, address, scriptPubKey, error"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 validateaddress results, BIP173 encoding and BIP350 witness-version/checksum pairing. Address validity and ownership are separate; typo correction is not promised and full destination comparison is recommended."
        ]
      }
    },
    {
      "id": "bitcoin-address-validation-fact-witness-version",
      "articleSlug": "bitcoin-address-validation",
      "statement": "Witness version: Bech32 and Bech32m apply to different versions",
      "sourceIds": [
        "source-b33f2e5a3eb0e76d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Specification; Compatibility"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 validateaddress results, BIP173 encoding and BIP350 witness-version/checksum pairing. Address validity and ownership are separate; typo correction is not promised and full destination comparison is recommended."
        ]
      }
    },
    {
      "id": "bitcoin-address-validation-fact-final-check",
      "articleSlug": "bitcoin-address-validation",
      "statement": "Final check: Compare the full intended destination",
      "sourceIds": [
        "source-6d1aa1923394141c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 validateaddress results, BIP173 encoding and BIP350 witness-version/checksum pairing. Address validity and ownership are separate; typo correction is not promised and full destination comparison is recommended."
        ]
      }
    },
    {
      "id": "hardware-wallets-explained-quick-answer",
      "articleSlug": "hardware-wallets-explained",
      "statement": "A hardware wallet keeps signing keys in a dedicated device and authorizes transactions through its supported interface. A host application can prepare and broadcast payments without holding those keys. The device display helps you check what will be signed, but it cannot determine whether an outside recipient is honest. Backup exposure, unsupported transaction details and the device’s own security remain important.",
      "sourceIds": [
        "source-ccf126c494bfe748",
        "source-6d1aa1923394141c",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        },
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Signer; Transaction Extractor"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked signer/host separation using BIP174 and Trezor device display guidance. The draft avoids repeating the manufacturer’s absolute security language; a correctly displayed wrong recipient remains wrong, and backup/passphrase assumptions are scoped."
        ]
      }
    },
    {
      "id": "hardware-wallets-explained-fact-device-role",
      "articleSlug": "hardware-wallets-explained",
      "statement": "Device role: Protect keys and authorize supported spends",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked signer/host separation using BIP174 and Trezor device display guidance. The draft avoids repeating the manufacturer’s absolute security language; a correctly displayed wrong recipient remains wrong, and backup/passphrase assumptions are scoped."
        ]
      }
    },
    {
      "id": "hardware-wallets-explained-fact-host-role",
      "articleSlug": "hardware-wallets-explained",
      "statement": "Host role: Prepare requests and relay signed transactions",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Signer; Transaction Extractor"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked signer/host separation using BIP174 and Trezor device display guidance. The draft avoids repeating the manufacturer’s absolute security language; a correctly displayed wrong recipient remains wrong, and backup/passphrase assumptions are scoped."
        ]
      }
    },
    {
      "id": "hardware-wallets-explained-fact-display-limit",
      "articleSlug": "hardware-wallets-explained",
      "statement": "Display limit: It confirms transaction data, not a merchant’s honesty",
      "sourceIds": [
        "source-6d1aa1923394141c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6d1aa1923394141c",
          "locator": "Trusted display article: on-device verification steps and limits of what the device verifies"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked signer/host separation using BIP174 and Trezor device display guidance. The draft avoids repeating the manufacturer’s absolute security language; a correctly displayed wrong recipient remains wrong, and backup/passphrase assumptions are scoped."
        ]
      }
    },
    {
      "id": "bitcoin-hot-wallet-vs-cold-wallet-quick-answer",
      "articleSlug": "bitcoin-hot-wallet-vs-cold-wallet",
      "statement": "A hot wallet keeps spending authority available in an online environment. Cold storage keeps the relevant signing secrets offline during ordinary use, while a separate online wallet can still monitor funds. The useful comparison is where keys exist, how transactions are reviewed and how recovery works. Neither a cold label nor a password alone guarantees that the complete arrangement is secure.",
      "sourceIds": [
        "source-ccf126c494bfe748",
        "source-cf3812de54f14280",
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        },
        {
          "sourceId": "source-cf3812de54f14280",
          "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction"
        },
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum offline signer and online watch-only arrangement against the actual documented flow. Key exposure, observation privacy and backup needs are distinguished; the example is explanatory rather than a holding-allocation recommendation."
        ]
      }
    },
    {
      "id": "bitcoin-hot-wallet-vs-cold-wallet-fact-monitoring",
      "articleSlug": "bitcoin-hot-wallet-vs-cold-wallet",
      "statement": "Monitoring: Public wallet data can be online without keys",
      "sourceIds": [
        "source-cf3812de54f14280"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cf3812de54f14280",
          "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum offline signer and online watch-only arrangement against the actual documented flow. Key exposure, observation privacy and backup needs are distinguished; the example is explanatory rather than a holding-allocation recommendation."
        ]
      }
    },
    {
      "id": "bitcoin-hot-wallet-vs-cold-wallet-fact-spending",
      "articleSlug": "bitcoin-hot-wallet-vs-cold-wallet",
      "statement": "Spending: Cold signing adds a separate authorization step",
      "sourceIds": [
        "source-cf3812de54f14280"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cf3812de54f14280",
          "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum offline signer and online watch-only arrangement against the actual documented flow. Key exposure, observation privacy and backup needs are distinguished; the example is explanatory rather than a holding-allocation recommendation."
        ]
      }
    },
    {
      "id": "bitcoin-hot-wallet-vs-cold-wallet-fact-recovery",
      "articleSlug": "bitcoin-hot-wallet-vs-cold-wallet",
      "statement": "Recovery: Backup exposure matters in both arrangements",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum offline signer and online watch-only arrangement against the actual documented flow. Key exposure, observation privacy and backup needs are distinguished; the example is explanatory rather than a holding-allocation recommendation."
        ]
      }
    },
    {
      "id": "bitcoin-offline-signing-quick-answer",
      "articleSlug": "bitcoin-offline-signing",
      "statement": "Offline signing separates transaction preparation and broadcast from private-key authorization. An online wallet prepares an unsigned proposal, an offline signer checks and signs it, and an online node relays the signed result. PSBT is one standardized way to carry the required information. Offline status protects only part of the process: the proposed destination, fee and spending policy still need validation.",
      "sourceIds": [
        "source-cf3812de54f14280",
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cf3812de54f14280",
          "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction"
        },
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Signer; Transaction Extractor"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked PSBT signer checks and extraction plus Electrum signing/broadcast transfer. Recomputed the1,500sat fee; the article correctly distinguishes unsigned/partially signed records from payment authority and does not treat QR or removable media as intrinsically safe."
        ]
      }
    },
    {
      "id": "bitcoin-offline-signing-fact-unsigned-file",
      "articleSlug": "bitcoin-offline-signing",
      "statement": "Unsigned file: Can carry a proposal without spending authority",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Signer; Transaction Extractor"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked PSBT signer checks and extraction plus Electrum signing/broadcast transfer. Recomputed the1,500sat fee; the article correctly distinguishes unsigned/partially signed records from payment authority and does not treat QR or removable media as intrinsically safe."
        ]
      }
    },
    {
      "id": "bitcoin-offline-signing-fact-signing",
      "articleSlug": "bitcoin-offline-signing",
      "statement": "Signing: Requires the relevant keys and policy checks",
      "sourceIds": [
        "source-5790dff0294c8035"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5790dff0294c8035",
          "locator": "Roles; Creator; Signer; Transaction Extractor"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked PSBT signer checks and extraction plus Electrum signing/broadcast transfer. Recomputed the1,500sat fee; the article correctly distinguishes unsigned/partially signed records from payment authority and does not treat QR or removable media as intrinsically safe."
        ]
      }
    },
    {
      "id": "bitcoin-offline-signing-fact-broadcast",
      "articleSlug": "bitcoin-offline-signing",
      "statement": "Broadcast: Needs a network-connected relay after signing",
      "sourceIds": [
        "source-cf3812de54f14280"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cf3812de54f14280",
          "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked PSBT signer checks and extraction plus Electrum signing/broadcast transfer. Recomputed the1,500sat fee; the article correctly distinguishes unsigned/partially signed records from payment authority and does not treat QR or removable media as intrinsically safe."
        ]
      }
    },
    {
      "id": "bitcoin-import-vs-sweep-quick-answer",
      "articleSlug": "bitcoin-import-vs-sweep",
      "statement": "Importing a Bitcoin private key teaches a wallet about existing spending authority without moving the funds. Sweeping constructs a transaction that spends available funds controlled by that key to another wallet’s destination, paying a network fee. The distinction matters for backups: an imported key may not be recoverable from the new wallet’s seed, while a completed sweep can move funds under its normal derived keys.",
      "sourceIds": [
        "source-82375415e215e2f2",
        "source-b282fdecc069b74d",
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum import-versus-sweep semantics and separate backups for imported-key wallets.198,000sat receipt recomputed; importing does not invalidate copies, and a sweep does not redirect future payments to the old key."
        ]
      }
    },
    {
      "id": "bitcoin-import-vs-sweep-fact-import",
      "articleSlug": "bitcoin-import-vs-sweep",
      "statement": "Import: No on-chain move merely from loading a key",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum import-versus-sweep semantics and separate backups for imported-key wallets.198,000sat receipt recomputed; importing does not invalidate copies, and a sweep does not redirect future payments to the old key."
        ]
      }
    },
    {
      "id": "bitcoin-import-vs-sweep-fact-sweep",
      "articleSlug": "bitcoin-import-vs-sweep",
      "statement": "Sweep: A real transaction with a fee",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum import-versus-sweep semantics and separate backups for imported-key wallets.198,000sat receipt recomputed; importing does not invalidate copies, and a sweep does not redirect future payments to the old key."
        ]
      }
    },
    {
      "id": "bitcoin-import-vs-sweep-fact-backup",
      "articleSlug": "bitcoin-import-vs-sweep",
      "statement": "Backup: Imported keys can require separate backup",
      "sourceIds": [
        "source-82375415e215e2f2",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Electrum import-versus-sweep semantics and separate backups for imported-key wallets.198,000sat receipt recomputed; importing does not invalidate copies, and a sweep does not redirect future payments to the old key."
        ]
      }
    },
    {
      "id": "bitcoin-paper-wallets-quick-answer",
      "articleSlug": "bitcoin-paper-wallets",
      "statement": "A traditional Bitcoin paper wallet often records a single private key and its receiving information. It is different from writing down a modern wallet’s recovery phrase. Anyone who copies the needed private key can attempt a spend. Before using one, identify what it contains, how it was generated and how the chosen wallet handles change and backup; a sweep can move funds to a new wallet’s keys.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-82375415e215e2f2",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        },
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked private-key paper records versus mnemonic recovery, change and Electrum sweeping.69,000sat change calculation is correct, and a later change key need not be on the original paper; provenance and backup limitations remain explicit."
        ]
      }
    },
    {
      "id": "bitcoin-paper-wallets-fact-artifact",
      "articleSlug": "bitcoin-paper-wallets",
      "statement": "Artifact: A single key is not the same as a seed backup",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        },
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked private-key paper records versus mnemonic recovery, change and Electrum sweeping.69,000sat change calculation is correct, and a later change key need not be on the original paper; provenance and backup limitations remain explicit."
        ]
      }
    },
    {
      "id": "bitcoin-paper-wallets-fact-copies",
      "articleSlug": "bitcoin-paper-wallets",
      "statement": "Copies: A secret key can exist in more than one place",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked private-key paper records versus mnemonic recovery, change and Electrum sweeping.69,000sat change calculation is correct, and a later change key need not be on the original paper; provenance and backup limitations remain explicit."
        ]
      }
    },
    {
      "id": "bitcoin-paper-wallets-fact-spending",
      "articleSlug": "bitcoin-paper-wallets",
      "statement": "Spending: A sweep moves funds; importing alone does not",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked private-key paper records versus mnemonic recovery, change and Electrum sweeping.69,000sat change calculation is correct, and a later change key need not be on the original paper; provenance and backup limitations remain explicit."
        ]
      }
    },
    {
      "id": "bitcoin-brainwallets-quick-answer",
      "articleSlug": "bitcoin-brainwallets",
      "statement": "A brainwallet commonly derives spending keys from a phrase chosen by a person. A BIP-39 mnemonic instead encodes generated randomness plus a checksum, then derives a seed. A memorable quotation or personally meaningful sentence can be much easier to guess than randomly generated recovery words. Length alone is not entropy, and BIP-39 explicitly says it is not designed to turn user-created sentences into secure wallet seeds.",
      "sourceIds": [
        "source-a7583e32275982ab",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP39 motivation excluding user-created sentences, entropy generation and checksum requirements. A known100-phrase candidate set remains at most100 candidates; an application password change is not rotation of compromised spending keys."
        ]
      }
    },
    {
      "id": "bitcoin-brainwallets-fact-mnemonic-purpose",
      "articleSlug": "bitcoin-brainwallets",
      "statement": "Mnemonic purpose: Human-readable encoding of generated randomness",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP39 motivation excluding user-created sentences, entropy generation and checksum requirements. A known100-phrase candidate set remains at most100 candidates; an application password change is not rotation of compromised spending keys."
        ]
      }
    },
    {
      "id": "bitcoin-brainwallets-fact-brainwallet-risk",
      "articleSlug": "bitcoin-brainwallets",
      "statement": "Brainwallet risk: Human choice can make candidates predictable",
      "sourceIds": [
        "source-a7583e32275982ab",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP39 motivation excluding user-created sentences, entropy generation and checksum requirements. A known100-phrase candidate set remains at most100 candidates; an application password change is not rotation of compromised spending keys."
        ]
      }
    },
    {
      "id": "bitcoin-brainwallets-fact-checksum",
      "articleSlug": "bitcoin-brainwallets",
      "statement": "Checksum: Consistency check, not proof of randomness",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP39 motivation excluding user-created sentences, entropy generation and checksum requirements. A known100-phrase candidate set remains at most100 candidates; an application password change is not rotation of compromised spending keys."
        ]
      }
    },
    {
      "id": "bitcoin-12-vs-24-word-seed-quick-answer",
      "articleSlug": "bitcoin-12-vs-24-word-seed",
      "statement": "In BIP-39, a correctly generated 12-word mnemonic encodes 128 entropy bits plus a 4-bit checksum; 24 words encode 256 entropy bits plus an 8-bit checksum. More words increase that generated entropy, but they do not fix exposed backups or a compromised signer. Word count also does not identify the wallet format: Electrum’s native mnemonic system is different from BIP-39.",
      "sourceIds": [
        "source-a7583e32275982ab",
        "source-7eae899f0b532217",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        },
        {
          "sourceId": "source-7eae899f0b532217",
          "locator": "Electrum Seed Version System; Description; Motivation; Security implications"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BIP39 ENT/CS/MS table,2048-word encoding and NFKD processing, plus Electrum native seed version system.132/264encoded bits are separated from128/256entropy bits; word count alone is not a cross-wallet format guarantee."
        ]
      }
    },
    {
      "id": "bitcoin-12-vs-24-word-seed-fact-12-words",
      "articleSlug": "bitcoin-12-vs-24-word-seed",
      "statement": "12 words: 128 entropy bits + 4 checksum bits",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BIP39 ENT/CS/MS table,2048-word encoding and NFKD processing, plus Electrum native seed version system.132/264encoded bits are separated from128/256entropy bits; word count alone is not a cross-wallet format guarantee."
        ]
      }
    },
    {
      "id": "bitcoin-12-vs-24-word-seed-fact-24-words",
      "articleSlug": "bitcoin-12-vs-24-word-seed",
      "statement": "24 words: 256 entropy bits + 8 checksum bits",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Generating the mnemonic; From mnemonic to seed"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BIP39 ENT/CS/MS table,2048-word encoding and NFKD processing, plus Electrum native seed version system.132/264encoded bits are separated from128/256entropy bits; word count alone is not a cross-wallet format guarantee."
        ]
      }
    },
    {
      "id": "bitcoin-12-vs-24-word-seed-fact-compatibility",
      "articleSlug": "bitcoin-12-vs-24-word-seed",
      "statement": "Compatibility: Check the mnemonic system, not only length",
      "sourceIds": [
        "source-7eae899f0b532217"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7eae899f0b532217",
          "locator": "Electrum Seed Version System; Description; Motivation; Security implications"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BIP39 ENT/CS/MS table,2048-word encoding and NFKD processing, plus Electrum native seed version system.132/264encoded bits are separated from128/256entropy bits; word count alone is not a cross-wallet format guarantee."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-gap-limit-quick-answer",
      "articleSlug": "bitcoin-wallet-gap-limit",
      "statement": "A wallet gap limit tells address discovery when to stop after consecutive unused derived addresses. It prevents an endless search, but a used address beyond a large unused gap can be missed. BIP-44 specifies a 20-address external-chain discovery gap; other wallets and policies can differ. The funds are not deleted when discovery stops—the wallet has not found that part of its address sequence.",
      "sourceIds": [
        "source-43d35242be710673",
        "source-82375415e215e2f2",
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Path levels; Account discovery; Address gap limit"
        },
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP44 account discovery and20-unused-external-address stop condition plus Electrum gap-limit warnings. The index1–20 gap before index21 is consistent; discovery uses transaction history rather than current balance and does not imply absent funds."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-gap-limit-fact-purpose",
      "articleSlug": "bitcoin-wallet-gap-limit",
      "statement": "Purpose: Bound the search through derived addresses",
      "sourceIds": [
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Path levels; Account discovery; Address gap limit"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP44 account discovery and20-unused-external-address stop condition plus Electrum gap-limit warnings. The index1–20 gap before index21 is consistent; discovery uses transaction history rather than current balance and does not imply absent funds."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-gap-limit-fact-bip-44-rule",
      "articleSlug": "bitcoin-wallet-gap-limit",
      "statement": "BIP-44 rule: 20 consecutive unused external addresses",
      "sourceIds": [
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Path levels; Account discovery; Address gap limit"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP44 account discovery and20-unused-external-address stop condition plus Electrum gap-limit warnings. The index1–20 gap before index21 is consistent; discovery uses transaction history rather than current balance and does not imply absent funds."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-gap-limit-fact-limit",
      "articleSlug": "bitcoin-wallet-gap-limit",
      "statement": "Limit: A discovery stop is not a consensus spending rule",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        },
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Path levels; Account discovery; Address gap limit"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP44 account discovery and20-unused-external-address stop condition plus Electrum gap-limit warnings. The index1–20 gap before index21 is consistent; discovery uses transaction history rather than current balance and does not imply absent funds."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-file-backups-quick-answer",
      "articleSlug": "bitcoin-wallet-file-backups",
      "statement": "A wallet-file backup preserves the data included in that wallet database; a mnemonic restores keys through its defined derivation process. These are not always equivalent. Imported keys, wallet policies and local records can need separate preservation. Use the wallet’s supported backup operation and keep the format, encryption credentials and software compatibility needed for restoration.",
      "sourceIds": [
        "source-2a37c2d1db3ea696",
        "source-536a722ef4cd531e",
        "source-225ce32b9f96878c",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2a37c2d1db3ea696",
          "locator": "Description; Arguments"
        },
        {
          "sourceId": "source-536a722ef4cd531e",
          "locator": "Description; Arguments"
        },
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core file layout, supported backupwallet/restorewallet and local-only comments, plus Electrum imported-key and downgrade cautions.90,000derived+10,000imported is100,000sats but is not proof one seed restores both."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-file-backups-fact-core-backup",
      "articleSlug": "bitcoin-wallet-file-backups",
      "statement": "Core backup: backupwallet copies the wallet to a destination",
      "sourceIds": [
        "source-2a37c2d1db3ea696"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2a37c2d1db3ea696",
          "locator": "Description; Arguments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core file layout, supported backupwallet/restorewallet and local-only comments, plus Electrum imported-key and downgrade cautions.90,000derived+10,000imported is100,000sats but is not proof one seed restores both."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-file-backups-fact-seed-scope",
      "articleSlug": "bitcoin-wallet-file-backups",
      "statement": "Seed scope: Derived keys are not every possible imported key",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Motivation; Extended keys; Security"
        },
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core file layout, supported backupwallet/restorewallet and local-only comments, plus Electrum imported-key and downgrade cautions.90,000derived+10,000imported is100,000sats but is not proof one seed restores both."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-file-backups-fact-local-records",
      "articleSlug": "bitcoin-wallet-file-backups",
      "statement": "Local records: Wallet comments need not be on chain",
      "sourceIds": [
        "source-34552f149068cb49"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-34552f149068cb49",
          "locator": "Description; Arguments: amount, comment, comment_to, subtractfeefromamount, fee_rate; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core file layout, supported backupwallet/restorewallet and local-only comments, plus Electrum imported-key and downgrade cautions.90,000derived+10,000imported is100,000sats but is not proof one seed restores both."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-software-authenticity-quick-answer",
      "articleSlug": "bitcoin-wallet-software-authenticity",
      "statement": "Download a Bitcoin wallet from the project’s documented distribution channel and follow its release-verification instructions. A checksum compares bytes; a digital signature can authenticate those bytes to a particular signing key. You must also establish that the key is the expected publisher’s. Neither check proves the program has no bugs or that every action requested inside it is safe.",
      "sourceIds": [
        "source-4530aa79056687e5",
        "source-ea741b767cef08a4",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4530aa79056687e5",
          "locator": "Verify your download"
        },
        {
          "sourceId": "source-ea741b767cef08a4",
          "locator": "Sources and Binaries; How to verify GPG signatures"
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read actual Core checksum/signature instructions and Electrum public-key fingerprint guidance. Hash matching, signature verification and trusted signer identity remain separate; authenticity does not guarantee absence of bugs."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-software-authenticity-fact-checksum",
      "articleSlug": "bitcoin-wallet-software-authenticity",
      "statement": "Checksum: Detects a mismatch against a trusted expected digest",
      "sourceIds": [
        "source-4530aa79056687e5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4530aa79056687e5",
          "locator": "Verify your download"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read actual Core checksum/signature instructions and Electrum public-key fingerprint guidance. Hash matching, signature verification and trusted signer identity remain separate; authenticity does not guarantee absence of bugs."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-software-authenticity-fact-signature",
      "articleSlug": "bitcoin-wallet-software-authenticity",
      "statement": "Signature: Authenticates the release to a signing key",
      "sourceIds": [
        "source-ea741b767cef08a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ea741b767cef08a4",
          "locator": "Sources and Binaries; How to verify GPG signatures"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read actual Core checksum/signature instructions and Electrum public-key fingerprint guidance. Hash matching, signature verification and trusted signer identity remain separate; authenticity does not guarantee absence of bugs."
        ]
      }
    },
    {
      "id": "bitcoin-wallet-software-authenticity-fact-trust-question",
      "articleSlug": "bitcoin-wallet-software-authenticity",
      "statement": "Trust question: Is that the expected publisher key?",
      "sourceIds": [
        "source-ea741b767cef08a4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ea741b767cef08a4",
          "locator": "Sources and Binaries; How to verify GPG signatures"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read actual Core checksum/signature instructions and Electrum public-key fingerprint guidance. Hash matching, signature verification and trusted signer identity remain separate; authenticity does not guarantee absence of bugs."
        ]
      }
    },
    {
      "id": "bitcoin-core-explained-quick-answer",
      "articleSlug": "bitcoin-core-explained",
      "statement": "Bitcoin Core is Bitcoin software that can validate and relay blocks and transactions, maintain a chain view and manage wallets. Its graphical application and background daemon expose different interfaces to related capabilities. Running it is not mining and does not automatically earn bitcoin. Wallet use is optional, and validation, storage and network behavior depend on the actual version and configuration.",
      "sourceIds": [
        "source-cb92ea1a2a21982c",
        "source-84123e4e42fca415",
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening"
        },
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        },
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core node/wallet database and RPC endpoint separation, optional wallet use and mining reward distinction. Configuration-dependent validation and pruning language avoids claiming identical historical work for every full-node setup."
        ]
      }
    },
    {
      "id": "bitcoin-core-explained-fact-node-role",
      "articleSlug": "bitcoin-core-explained",
      "statement": "Node role: Maintain and validate a chain view",
      "sourceIds": [
        "source-cb92ea1a2a21982c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core node/wallet database and RPC endpoint separation, optional wallet use and mining reward distinction. Configuration-dependent validation and pruning language avoids claiming identical historical work for every full-node setup."
        ]
      }
    },
    {
      "id": "bitcoin-core-explained-fact-wallet-role",
      "articleSlug": "bitcoin-core-explained",
      "statement": "Wallet role: Manage relevant keys, scripts and transactions",
      "sourceIds": [
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core node/wallet database and RPC endpoint separation, optional wallet use and mining reward distinction. Configuration-dependent validation and pruning language avoids claiming identical historical work for every full-node setup."
        ]
      }
    },
    {
      "id": "bitcoin-core-explained-fact-rpc-role",
      "articleSlug": "bitcoin-core-explained",
      "statement": "RPC role: Allow authorized programs to control the software",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core node/wallet database and RPC endpoint separation, optional wallet use and mining reward distinction. Configuration-dependent validation and pruning language avoids claiming identical historical work for every full-node setup."
        ]
      }
    },
    {
      "id": "bitcoin-node-initial-sync-quick-answer",
      "articleSlug": "bitcoin-node-initial-sync",
      "statement": "Initial synchronization brings a Bitcoin node’s chain view up to date. It involves obtaining headers and block data, validating according to the node’s rules and configuration, and building local state. Network speed is only one constraint; storage and processing also matter. Header height, processed block height and estimated verification progress answer different questions, so no single percentage promises a fixed completion time.",
      "sourceIds": [
        "source-37b2d756ababbeec",
        "source-cb92ea1a2a21982c",
        "source-961282fbeb6f3ea6",
        "source-75e29245a2925c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37b2d756ababbeec",
          "locator": "Peer Discovery; Connecting To Peers; Initial Block Download; Block Broadcasting; Transaction Broadcasting"
        },
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening"
        },
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        },
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 blocks/headers/progress and source-code assumevalid/prune help.100,000height difference is correct and deliberately not a remaining-time estimate. Added init.cpp to the section discussing skipped historical script checks."
        ]
      }
    },
    {
      "id": "bitcoin-node-initial-sync-fact-headers",
      "articleSlug": "bitcoin-node-initial-sync",
      "statement": "Headers: Can be ahead of processed block data",
      "sourceIds": [
        "source-961282fbeb6f3ea6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 blocks/headers/progress and source-code assumevalid/prune help.100,000height difference is correct and deliberately not a remaining-time estimate. Added init.cpp to the section discussing skipped historical script checks."
        ]
      }
    },
    {
      "id": "bitcoin-node-initial-sync-fact-progress",
      "articleSlug": "bitcoin-node-initial-sync",
      "statement": "Progress: verificationprogress is an estimate",
      "sourceIds": [
        "source-961282fbeb6f3ea6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 blocks/headers/progress and source-code assumevalid/prune help.100,000height difference is correct and deliberately not a remaining-time estimate. Added init.cpp to the section discussing skipped historical script checks."
        ]
      }
    },
    {
      "id": "bitcoin-node-initial-sync-fact-storage",
      "articleSlug": "bitcoin-node-initial-sync",
      "statement": "Storage: Pruning reduces retention, not all initial work",
      "sourceIds": [
        "source-cb92ea1a2a21982c",
        "source-75e29245a2925c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening"
        },
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 blocks/headers/progress and source-code assumevalid/prune help.100,000height difference is correct and deliberately not a remaining-time estimate. Added init.cpp to the section discussing skipped historical script checks."
        ]
      }
    },
    {
      "id": "bitcoin-node-vs-wallet-server-quick-answer",
      "articleSlug": "bitcoin-node-vs-wallet-server",
      "statement": "A Bitcoin wallet needs a source of chain information, but that source is not always a full node running on the same device. Some wallets query a server for address history and proofs. A personal node, sometimes paired with a wallet-server index, changes who supplies those answers. It can reduce third-party exposure, but only if the wallet actually connects to the intended system and uses its results correctly.",
      "sourceIds": [
        "source-82375415e215e2f2",
        "source-cb92ea1a2a21982c",
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening"
        },
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Electrum FAQ main-server history, SPV, unconfirmed-data trust, omission and address/IP exposure. A personal node alone does not configure an Electrum connection; watch-only key protection does not remove server observation."
        ]
      }
    },
    {
      "id": "bitcoin-node-vs-wallet-server-fact-wallet-server",
      "articleSlug": "bitcoin-node-vs-wallet-server",
      "statement": "Wallet server: Can learn the set of addresses queried",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Electrum FAQ main-server history, SPV, unconfirmed-data trust, omission and address/IP exposure. A personal node alone does not configure an Electrum connection; watch-only key protection does not remove server observation."
        ]
      }
    },
    {
      "id": "bitcoin-node-vs-wallet-server-fact-spv-check",
      "articleSlug": "bitcoin-node-vs-wallet-server",
      "statement": "SPV check: Does not prevent every omission by a server",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Electrum FAQ main-server history, SPV, unconfirmed-data trust, omission and address/IP exposure. A personal node alone does not configure an Electrum connection; watch-only key protection does not remove server observation."
        ]
      }
    },
    {
      "id": "bitcoin-node-vs-wallet-server-fact-personal-setup",
      "articleSlug": "bitcoin-node-vs-wallet-server",
      "statement": "Personal setup: May need a server layer as well as a node",
      "sourceIds": [
        "source-82375415e215e2f2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Electrum FAQ main-server history, SPV, unconfirmed-data trust, omission and address/IP exposure. A personal node alone does not configure an Electrum connection; watch-only key protection does not remove server observation."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-quick-answer",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "A wallet rescan searches available blockchain data for transactions relevant to known wallet keys or scripts. Reindexing rebuilds node databases from block files; reindex-chainstate has a narrower state-rebuild purpose in Core. These operations solve different problems and do not recreate a lost private key. Choose the documented operation for the actual error and installed version before initiating a lengthy rebuild.",
      "sourceIds": [
        "source-b5cd05a883329592",
        "source-75e29245a2925c41",
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b5cd05a883329592",
          "locator": "Description; Arguments; Result"
        },
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        },
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-rescan-target",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Rescan target: Wallet-related transaction discovery",
      "sourceIds": [
        "source-b5cd05a883329592"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b5cd05a883329592",
          "locator": "Description; Arguments; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-reindex-target",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Reindex target: Node state and block/index databases",
      "sourceIds": [
        "source-75e29245a2925c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-75e29245a2925c41",
          "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-rescan-vs-reindex-fact-not-recovered",
      "articleSlug": "bitcoin-rescan-vs-reindex",
      "statement": "Not recovered: Missing signing secrets",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 rescanblockchain range/result, init.cpp reindex versus reindex-chainstate and explicit pruning incompatibility.50,001inclusive heights checked. Added exact reindex option reference; no operation is claimed to recreate missing keys."
        ]
      }
    },
    {
      "id": "bitcoin-test-networks-quick-answer",
      "articleSlug": "bitcoin-test-networks",
      "statement": "Bitcoin mainnet carries the normal BTC ledger. Testnet and signet are separate testing networks; regtest is intended for controlled local development. Their coins, chain histories and some consensus or block-production rules differ. Test-network familiarity helps rehearse a workflow, but it does not prove identical mainnet fees, timing or safety. Always verify the selected chain and use dedicated test credentials.",
      "sourceIds": [
        "source-bd1e86dc8b8241c7",
        "source-e8eb520182728e81",
        "source-961282fbeb6f3ea6",
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bd1e86dc8b8241c7",
          "locator": "Motivation; Specification"
        },
        {
          "sourceId": "source-e8eb520182728e81",
          "locator": "Motivation; Specification"
        },
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        },
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP94 Testnet4 exceptions, BIP325 signet challenge and regtest motivation, and Core chain-specific files/state. The draft does not present test coins as mainnet BTC or assume identical fees/timing/security."
        ]
      }
    },
    {
      "id": "bitcoin-test-networks-fact-separation",
      "articleSlug": "bitcoin-test-networks",
      "statement": "Separation: Each chain has its own state and history",
      "sourceIds": [
        "source-49ac1d73e9642790"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-49ac1d73e9642790",
          "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP94 Testnet4 exceptions, BIP325 signet challenge and regtest motivation, and Core chain-specific files/state. The draft does not present test coins as mainnet BTC or assume identical fees/timing/security."
        ]
      }
    },
    {
      "id": "bitcoin-test-networks-fact-signet",
      "articleSlug": "bitcoin-test-networks",
      "statement": "Signet: Adds a block challenge to proof of work",
      "sourceIds": [
        "source-e8eb520182728e81"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e8eb520182728e81",
          "locator": "Motivation; Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP94 Testnet4 exceptions, BIP325 signet challenge and regtest motivation, and Core chain-specific files/state. The draft does not present test coins as mainnet BTC or assume identical fees/timing/security."
        ]
      }
    },
    {
      "id": "bitcoin-test-networks-fact-regtest",
      "articleSlug": "bitcoin-test-networks",
      "statement": "Regtest: Designed for controlled block creation",
      "sourceIds": [
        "source-e8eb520182728e81"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e8eb520182728e81",
          "locator": "Motivation; Specification"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP94 Testnet4 exceptions, BIP325 signet challenge and regtest motivation, and Core chain-specific files/state. The draft does not present test coins as mainnet BTC or assume identical fees/timing/security."
        ]
      }
    },
    {
      "id": "bitcoin-node-connection-problems-quick-answer",
      "articleSlug": "bitcoin-node-connection-problems",
      "statement": "A Bitcoin node can fail to communicate with peers, fall behind in block processing or be unreachable only from a local wallet application. Those are different problems. Inspect network activity, peer information and chain progress separately. Having zero inbound peers does not necessarily prevent synchronization through outbound connections, and opening a privileged RPC interface to the internet is not an appropriate connectivity fix.",
      "sourceIds": [
        "source-ac189ce0cbbe1a69",
        "source-648a22245d31e0de",
        "source-961282fbeb6f3ea6",
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac189ce0cbbe1a69",
          "locator": "Result: connections, connections_in, connections_out, networkactive, networks, localaddresses, warnings"
        },
        {
          "sourceId": "source-648a22245d31e0de",
          "locator": "Result: inbound, connection_type, synced_headers, synced_blocks"
        },
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        },
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 networkactive, inbound/outbound counts, peer sync fields and chain progress. Zero inbound peers does not imply zero connectivity; added direct RPC source for endpoint/credential failures rather than presenting exposed RPC as a connectivity fix."
        ]
      }
    },
    {
      "id": "bitcoin-node-connection-problems-fact-p2p-status",
      "articleSlug": "bitcoin-node-connection-problems",
      "statement": "P2P status: Connections and networkactive describe peer networking",
      "sourceIds": [
        "source-ac189ce0cbbe1a69"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac189ce0cbbe1a69",
          "locator": "Result: connections, connections_in, connections_out, networkactive, networks, localaddresses, warnings"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 networkactive, inbound/outbound counts, peer sync fields and chain progress. Zero inbound peers does not imply zero connectivity; added direct RPC source for endpoint/credential failures rather than presenting exposed RPC as a connectivity fix."
        ]
      }
    },
    {
      "id": "bitcoin-node-connection-problems-fact-chain-status",
      "articleSlug": "bitcoin-node-connection-problems",
      "statement": "Chain status: Blocks and headers describe processing progress",
      "sourceIds": [
        "source-961282fbeb6f3ea6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-961282fbeb6f3ea6",
          "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 networkactive, inbound/outbound counts, peer sync fields and chain progress. Zero inbound peers does not imply zero connectivity; added direct RPC source for endpoint/credential failures rather than presenting exposed RPC as a connectivity fix."
        ]
      }
    },
    {
      "id": "bitcoin-node-connection-problems-fact-api-status",
      "articleSlug": "bitcoin-node-connection-problems",
      "statement": "API status: Wallet access can fail while peer networking works",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Core29 networkactive, inbound/outbound counts, peer sync fields and chain progress. Zero inbound peers does not imply zero connectivity; added direct RPC source for endpoint/credential failures rather than presenting exposed RPC as a connectivity fix."
        ]
      }
    },
    {
      "id": "bitcoin-node-rpc-security-quick-answer",
      "articleSlug": "bitcoin-node-rpc-security",
      "statement": "Bitcoin Core’s RPC interface lets authorized software inspect and control the node and, where available, wallet operations. That can include spending funds, reading private data or changing important behavior. Core’s documentation says not to expose RPC directly to the public internet: authentication is not encrypted transport, and the interface is not hardened for arbitrary internet traffic. Restrict access to trusted software and protected connections.",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core v29 RPC security section and endpoint design. Cookie/rpcauth, unencrypted authenticated transport, container port exposure and host compromise limits are supported. No broad public RPC exposure is advised."
        ]
      }
    },
    {
      "id": "bitcoin-node-rpc-security-fact-authority",
      "articleSlug": "bitcoin-node-rpc-security",
      "statement": "Authority: RPC is a control interface, not just public data",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core v29 RPC security section and endpoint design. Cookie/rpcauth, unencrypted authenticated transport, container port exposure and host compromise limits are supported. No broad public RPC exposure is advised."
        ]
      }
    },
    {
      "id": "bitcoin-node-rpc-security-fact-default-scope",
      "articleSlug": "bitcoin-node-rpc-security",
      "statement": "Default scope: Local authenticated access",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core v29 RPC security section and endpoint design. Cookie/rpcauth, unencrypted authenticated transport, container port exposure and host compromise limits are supported. No broad public RPC exposure is advised."
        ]
      }
    },
    {
      "id": "bitcoin-node-rpc-security-fact-transport",
      "articleSlug": "bitcoin-node-rpc-security",
      "statement": "Transport: Authentication alone does not encrypt RPC traffic",
      "sourceIds": [
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core v29 RPC security section and endpoint design. Cookie/rpcauth, unencrypted authenticated transport, container port exposure and host compromise limits are supported. No broad public RPC exposure is advised."
        ]
      }
    },
    {
      "id": "bitcoin-software-upgrades-quick-answer",
      "articleSlug": "bitcoin-software-upgrades",
      "statement": "Updating Bitcoin software replaces a local implementation. It can bring security fixes and compatibility changes, but installing a release is not itself a vote that forces everyone else to change consensus rules. Obtain the authentic release, read its migration notes, preserve the wallet’s required backups and confirm the node and wallet state afterward. Downgrading can be unsafe when a new release changes stored formats.",
      "sourceIds": [
        "source-ccf126c494bfe748",
        "source-4530aa79056687e5",
        "source-82375415e215e2f2",
        "source-84123e4e42fca415",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        },
        {
          "sourceId": "source-4530aa79056687e5",
          "locator": "Verify your download"
        },
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authentic-package process, Core major-version RPC/deprecation rules and Electrum wallet-format downgrade warning. Added direct source support for local software replacement versus network consensus and for integration compatibility checks."
        ]
      }
    },
    {
      "id": "bitcoin-software-upgrades-fact-release-check",
      "articleSlug": "bitcoin-software-upgrades",
      "statement": "Release check: Verify the exact downloaded package",
      "sourceIds": [
        "source-4530aa79056687e5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4530aa79056687e5",
          "locator": "Verify your download"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authentic-package process, Core major-version RPC/deprecation rules and Electrum wallet-format downgrade warning. Added direct source support for local software replacement versus network consensus and for integration compatibility checks."
        ]
      }
    },
    {
      "id": "bitcoin-software-upgrades-fact-backup-scope",
      "articleSlug": "bitcoin-software-upgrades",
      "statement": "Backup scope: Preserve all required wallet recovery data",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Be careful with online services; Backup your wallet; Encrypt your wallet; Offline wallet for savings; Hardware wallets; Keep your software up to date"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authentic-package process, Core major-version RPC/deprecation rules and Electrum wallet-format downgrade warning. Added direct source support for local software replacement versus network consensus and for integration compatibility checks."
        ]
      }
    },
    {
      "id": "bitcoin-software-upgrades-fact-compatibility",
      "articleSlug": "bitcoin-software-upgrades",
      "statement": "Compatibility: Wallet and RPC formats can change",
      "sourceIds": [
        "source-82375415e215e2f2",
        "source-84123e4e42fca415"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82375415e215e2f2",
          "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?"
        },
        {
          "sourceId": "source-84123e4e42fca415",
          "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked authentic-package process, Core major-version RPC/deprecation rules and Electrum wallet-format downgrade warning. Added direct source support for local software replacement versus network consensus and for integration compatibility checks."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-quick-answer",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Broadcasting submits a signed Bitcoin transaction to a network-connected node for validation and relay. A local acceptance result does not guarantee every peer accepts it or that a miner includes it. Core separates testmempoolaccept, which tests local rules, from sendrawtransaction, which submits the transaction. Repeated manual rebroadcast can also reveal information about the transaction’s origin.",
      "sourceIds": [
        "source-916dfd4428737738",
        "source-4d4d250c55f548e4",
        "source-37b2d756ababbeec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-916dfd4428737738",
          "locator": "Description; Result: allowed, reject-reason"
        },
        {
          "sourceId": "source-4d4d250c55f548e4",
          "locator": "Description; Arguments; Result"
        },
        {
          "sourceId": "source-37b2d756ababbeec",
          "locator": "Peer Discovery; Connecting To Peers; Initial Block Download; Block Broadcasting; Transaction Broadcasting"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-test",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Test: Local acceptance check without submission",
      "sourceIds": [
        "source-916dfd4428737738"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-916dfd4428737738",
          "locator": "Description; Result: allowed, reject-reason"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-broadcast",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Broadcast: Submit the serialized transaction to a node",
      "sourceIds": [
        "source-4d4d250c55f548e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4d4d250c55f548e4",
          "locator": "Description; Arguments; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-settlement",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Settlement: Inclusion requires a later chain event",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-message-signatures-quick-answer",
      "articleSlug": "bitcoin-message-signatures",
      "statement": "A Bitcoin message signature lets a verifier check a response tied to a stated message and spending condition under a supported format. It is evidence with limits, not automatic proof of personal identity, legal ownership or permanent control of funds. BIP-322 broadens message verification beyond legacy address types, while explicitly warning that someone can sign on another person’s behalf and that circumstances can change immediately afterward.",
      "sourceIds": [
        "source-057748a013b6ec8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-057748a013b6ec8e",
          "locator": "Motivation; Types of Signatures; Detailed Specification; Verification Process"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP322 v2.0.0 Complete, including legacy restriction, simple/full variants, inconclusive verification and virtual invalid input. The draft preserves the specification’s limits on permanent/exclusive control and cannot prove the signer made a historical payment."
        ]
      }
    },
    {
      "id": "bitcoin-message-signatures-fact-message-matters",
      "articleSlug": "bitcoin-message-signatures",
      "statement": "Message matters: The exact agreed text is part of verification",
      "sourceIds": [
        "source-057748a013b6ec8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-057748a013b6ec8e",
          "locator": "Motivation; Types of Signatures; Detailed Specification; Verification Process"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP322 v2.0.0 Complete, including legacy restriction, simple/full variants, inconclusive verification and virtual invalid input. The draft preserves the specification’s limits on permanent/exclusive control and cannot prove the signer made a historical payment."
        ]
      }
    },
    {
      "id": "bitcoin-message-signatures-fact-format-matters",
      "articleSlug": "bitcoin-message-signatures",
      "statement": "Format matters: Legacy, simple and full formats differ",
      "sourceIds": [
        "source-057748a013b6ec8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-057748a013b6ec8e",
          "locator": "Motivation; Types of Signatures; Detailed Specification; Verification Process"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP322 v2.0.0 Complete, including legacy restriction, simple/full variants, inconclusive verification and virtual invalid input. The draft preserves the specification’s limits on permanent/exclusive control and cannot prove the signer made a historical payment."
        ]
      }
    },
    {
      "id": "bitcoin-message-signatures-fact-limits",
      "articleSlug": "bitcoin-message-signatures",
      "statement": "Limits: No permanent or exclusive control guarantee",
      "sourceIds": [
        "source-057748a013b6ec8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-057748a013b6ec8e",
          "locator": "Motivation; Types of Signatures; Detailed Specification; Verification Process"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP322 v2.0.0 Complete, including legacy restriction, simple/full variants, inconclusive verification and virtual invalid input. The draft preserves the specification’s limits on permanent/exclusive control and cannot prove the signer made a historical payment."
        ]
      }
    },
    {
      "id": "bitcoin-onchain-vs-lightning-quick-answer",
      "articleSlug": "bitcoin-onchain-vs-lightning",
      "statement": "An on-chain Bitcoin payment creates a transaction for inclusion in the public blockchain. A Lightning payment changes channel balances through a separate payment protocol, usually without recording each payment on-chain. Both can transfer bitcoin, but they use different payment requests, fee models and recovery procedures. Choose the method the recipient actually supports and inspect the wallet’s final amount and fees.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-a021bc3231273474",
        "source-d0625e6983c0ac55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-a021bc3231273474",
          "locator": "Introduction: sender and receiver interaction; Create invoice; Make the payment; Check the payment; Other payment types"
        },
        {
          "sourceId": "source-d0625e6983c0ac55",
          "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked on-chain output flow versus channel updates, recipient availability and LND recovery.20,800/20,015sat hypothetical totals checked. Added direct channel setup/swap cost and availability sources to the relevant sections."
        ]
      }
    },
    {
      "id": "bitcoin-onchain-vs-lightning-fact-on-chain-record",
      "articleSlug": "bitcoin-onchain-vs-lightning",
      "statement": "On-chain record: A transaction enters the shared blockchain",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked on-chain output flow versus channel updates, recipient availability and LND recovery.20,800/20,015sat hypothetical totals checked. Added direct channel setup/swap cost and availability sources to the relevant sections."
        ]
      }
    },
    {
      "id": "bitcoin-onchain-vs-lightning-fact-lightning-record",
      "articleSlug": "bitcoin-onchain-vs-lightning",
      "statement": "Lightning record: Individual payments usually update channels",
      "sourceIds": [
        "source-d0625e6983c0ac55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d0625e6983c0ac55",
          "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked on-chain output flow versus channel updates, recipient availability and LND recovery.20,800/20,015sat hypothetical totals checked. Added direct channel setup/swap cost and availability sources to the relevant sections."
        ]
      }
    },
    {
      "id": "bitcoin-onchain-vs-lightning-fact-availability",
      "articleSlug": "bitcoin-onchain-vs-lightning",
      "statement": "Availability: A normal Lightning payment needs responsive nodes",
      "sourceIds": [
        "source-a021bc3231273474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a021bc3231273474",
          "locator": "Introduction: sender and receiver interaction; Create invoice; Make the payment; Check the payment; Other payment types"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked on-chain output flow versus channel updates, recipient availability and LND recovery.20,800/20,015sat hypothetical totals checked. Added direct channel setup/swap cost and availability sources to the relevant sections."
        ]
      }
    },
    {
      "id": "lightning-invoices-quick-answer",
      "articleSlug": "lightning-invoices",
      "statement": "A Lightning invoice is a payment request that a compatible wallet can decode and pay. The BOLT 11 format includes a network, payment hash, creation time, signature and other fields; the amount can be unspecified. Expiry limits when a new attempt should begin. An invoice is not proof that money arrived, and its signature does not by itself establish a merchant’s real-world identity.",
      "sourceIds": [
        "source-e70fcc81fb7aecfd",
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e70fcc81fb7aecfd",
          "locator": "Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements"
        },
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT11 currency/amount, timestamp, signature, expiry and payer/payee guidance plus BOLT12 reuse limitations.900s=15min and absent-field3600s checked. Already-dispatched payment status is separated from invoice expiry; preimage evidence is not human payer identity."
        ]
      }
    },
    {
      "id": "lightning-invoices-fact-amount",
      "articleSlug": "lightning-invoices",
      "statement": "Amount: May be fixed or unspecified",
      "sourceIds": [
        "source-e70fcc81fb7aecfd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e70fcc81fb7aecfd",
          "locator": "Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT11 currency/amount, timestamp, signature, expiry and payer/payee guidance plus BOLT12 reuse limitations.900s=15min and absent-field3600s checked. Already-dispatched payment status is separated from invoice expiry; preimage evidence is not human payer identity."
        ]
      }
    },
    {
      "id": "lightning-invoices-fact-expiry",
      "articleSlug": "lightning-invoices",
      "statement": "Expiry: Measured from the invoice creation time",
      "sourceIds": [
        "source-e70fcc81fb7aecfd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e70fcc81fb7aecfd",
          "locator": "Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT11 currency/amount, timestamp, signature, expiry and payer/payee guidance plus BOLT12 reuse limitations.900s=15min and absent-field3600s checked. Already-dispatched payment status is separated from invoice expiry; preimage evidence is not human payer identity."
        ]
      }
    },
    {
      "id": "lightning-invoices-fact-payment-evidence",
      "articleSlug": "lightning-invoices",
      "statement": "Payment evidence: Requires more than displaying the request",
      "sourceIds": [
        "source-e70fcc81fb7aecfd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e70fcc81fb7aecfd",
          "locator": "Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT11 currency/amount, timestamp, signature, expiry and payer/payee guidance plus BOLT12 reuse limitations.900s=15min and absent-field3600s checked. Already-dispatched payment status is separated from invoice expiry; preimage evidence is not human payer identity."
        ]
      }
    },
    {
      "id": "lightning-addresses-quick-answer",
      "articleSlug": "lightning-addresses",
      "statement": "A Lightning Address is a human-readable name, such as alice@example.com, that a compatible wallet resolves through a service to obtain a Lightning invoice. It is not an ordinary on-chain Bitcoin address, and it need not be an email mailbox. The domain and service are part of the payment path, so check the resolved request and the recipient before paying.",
      "sourceIds": [
        "source-feee64f340f934a6",
        "source-3dc33608911e84ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-feee64f340f934a6",
          "locator": "Paying to internet identifiers: username/domain resolution to LNURL-pay; metadata text/identifier versus text/email"
        },
        {
          "sourceId": "source-3dc33608911e84ce",
          "locator": "LNURL-pay: metadata and amount response, invoice callback and wallet verification steps"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LUD16 resolution and LUD06 metadata/min/max/callback/invoice amount checks.5,000sats=5,000,000msats checked; email-like syntax need not identify an email mailbox or establish recipient custody."
        ]
      }
    },
    {
      "id": "lightning-addresses-fact-format",
      "articleSlug": "lightning-addresses",
      "statement": "Format: A username and domain",
      "sourceIds": [
        "source-feee64f340f934a6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-feee64f340f934a6",
          "locator": "Paying to internet identifiers: username/domain resolution to LNURL-pay; metadata text/identifier versus text/email"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LUD16 resolution and LUD06 metadata/min/max/callback/invoice amount checks.5,000sats=5,000,000msats checked; email-like syntax need not identify an email mailbox or establish recipient custody."
        ]
      }
    },
    {
      "id": "lightning-addresses-fact-resolution",
      "articleSlug": "lightning-addresses",
      "statement": "Resolution: The wallet asks a service for payment details",
      "sourceIds": [
        "source-feee64f340f934a6",
        "source-3dc33608911e84ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-feee64f340f934a6",
          "locator": "Paying to internet identifiers: username/domain resolution to LNURL-pay; metadata text/identifier versus text/email"
        },
        {
          "sourceId": "source-3dc33608911e84ce",
          "locator": "LNURL-pay: metadata and amount response, invoice callback and wallet verification steps"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LUD16 resolution and LUD06 metadata/min/max/callback/invoice amount checks.5,000sats=5,000,000msats checked; email-like syntax need not identify an email mailbox or establish recipient custody."
        ]
      }
    },
    {
      "id": "lightning-addresses-fact-payment",
      "articleSlug": "lightning-addresses",
      "statement": "Payment: The service returns a Lightning invoice",
      "sourceIds": [
        "source-3dc33608911e84ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3dc33608911e84ce",
          "locator": "LNURL-pay: metadata and amount response, invoice callback and wallet verification steps"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LUD16 resolution and LUD06 metadata/min/max/callback/invoice amount checks.5,000sats=5,000,000msats checked; email-like syntax need not identify an email mailbox or establish recipient custody."
        ]
      }
    },
    {
      "id": "lightning-wallet-custody-quick-answer",
      "articleSlug": "lightning-wallet-custody",
      "statement": "The key custody question is who can authorize movement of the bitcoin behind the displayed balance. A custodial Lightning service manages that authority and credits an account; a self-custodial arrangement gives the user control of the relevant keys and recovery process. Interfaces can look similar while their failure and recovery paths differ. Also examine the software’s service dependencies and channel design, not only its custody label.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-b441602c23e09691",
        "source-d0625e6983c0ac55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        },
        {
          "sourceId": "source-b441602c23e09691",
          "locator": "aezeed; Static channel backups (SCB); Channel Database"
        },
        {
          "sourceId": "source-d0625e6983c0ac55",
          "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked wallet key authority, LND aezeed/SCB recovery and routing dependencies. The50,000sat balance comparison does not imply equal recovery properties; self-custody and outside service reliance are accurately separated."
        ]
      }
    },
    {
      "id": "lightning-wallet-custody-fact-custody-question",
      "articleSlug": "lightning-wallet-custody",
      "statement": "Custody question: Who can authorize the underlying spending?",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Full-Service Wallets; Signing-Only Wallets; Wallet Files; Hierarchical Deterministic Key Creation; Loose-Key Wallets"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked wallet key authority, LND aezeed/SCB recovery and routing dependencies. The50,000sat balance comparison does not imply equal recovery properties; self-custody and outside service reliance are accurately separated."
        ]
      }
    },
    {
      "id": "lightning-wallet-custody-fact-channel-recovery",
      "articleSlug": "lightning-wallet-custody",
      "statement": "Channel recovery: Can require seed and additional backup data",
      "sourceIds": [
        "source-b441602c23e09691"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b441602c23e09691",
          "locator": "aezeed; Static channel backups (SCB); Channel Database"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked wallet key authority, LND aezeed/SCB recovery and routing dependencies. The50,000sat balance comparison does not imply equal recovery properties; self-custody and outside service reliance are accurately separated."
        ]
      }
    },
    {
      "id": "lightning-wallet-custody-fact-availability",
      "articleSlug": "lightning-wallet-custody",
      "statement": "Availability: Services and peers can still affect usability",
      "sourceIds": [
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked wallet key authority, LND aezeed/SCB recovery and routing dependencies. The50,000sat balance comparison does not imply equal recovery properties; self-custody and outside service reliance are accurately separated."
        ]
      }
    },
    {
      "id": "lightning-channel-backups-quick-answer",
      "articleSlug": "lightning-channel-backups",
      "statement": "A Lightning wallet backup must match the wallet’s channel design and recovery procedure. In LND, the seed restores key material, while a static channel backup helps reconnect to channel peers and ask them to close channels after data loss. It does not restore the latest live channel state so normal operation can resume unchanged. Preserve all required recovery material and follow the implementation’s documented procedure.",
      "sourceIds": [
        "source-b441602c23e09691",
        "source-df81d0f88f3e71df"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b441602c23e09691",
          "locator": "aezeed; Static channel backups (SCB); Channel Database"
        },
        {
          "sourceId": "source-df81d0f88f3e71df",
          "locator": "1. Recover as much data as you can; 2. Set up a new node; 3. Begin the recovery process; B) Static channel backup; C) Force-closing all other channels"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read full LND recovery and disaster guides. Seed versus SCB versus live database, channel-set updates, peer-assisted closure and old-node shutdown are correctly separated. A/B backup before C does not cover C; an old live database can expose revoked state."
        ]
      }
    },
    {
      "id": "lightning-channel-backups-fact-lnd-seed",
      "articleSlug": "lightning-channel-backups",
      "statement": "LND seed: Restores key material in its aezeed format",
      "sourceIds": [
        "source-b441602c23e09691"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b441602c23e09691",
          "locator": "aezeed; Static channel backups (SCB); Channel Database"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read full LND recovery and disaster guides. Seed versus SCB versus live database, channel-set updates, peer-assisted closure and old-node shutdown are correctly separated. A/B backup before C does not cover C; an old live database can expose revoked state."
        ]
      }
    },
    {
      "id": "lightning-channel-backups-fact-static-backup",
      "articleSlug": "lightning-channel-backups",
      "statement": "Static backup: Helps recover through peer-assisted channel closure",
      "sourceIds": [
        "source-df81d0f88f3e71df"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df81d0f88f3e71df",
          "locator": "1. Recover as much data as you can; 2. Set up a new node; 3. Begin the recovery process; B) Static channel backup; C) Force-closing all other channels"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read full LND recovery and disaster guides. Seed versus SCB versus live database, channel-set updates, peer-assisted closure and old-node shutdown are correctly separated. A/B backup before C does not cover C; an old live database can expose revoked state."
        ]
      }
    },
    {
      "id": "lightning-channel-backups-fact-old-live-database",
      "articleSlug": "lightning-channel-backups",
      "statement": "Old live database: Can be dangerous if it contains revoked state",
      "sourceIds": [
        "source-df81d0f88f3e71df"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df81d0f88f3e71df",
          "locator": "1. Recover as much data as you can; 2. Set up a new node; 3. Begin the recovery process; B) Static channel backup; C) Force-closing all other channels"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read full LND recovery and disaster guides. Seed versus SCB versus live database, channel-set updates, peer-assisted closure and old-node shutdown are correctly separated. A/B backup before C does not cover C; an old live database can expose revoked state."
        ]
      }
    },
    {
      "id": "lightning-watchtowers-quick-answer",
      "articleSlug": "lightning-watchtowers",
      "statement": "A Lightning watchtower monitors the blockchain for a specific kind of channel breach: a counterparty publishing an old, revoked commitment. With the necessary information, it can submit the protective transaction while the user’s node is offline. It does not recover every lost wallet, provide missing routing liquidity or ensure that every payment succeeds. Its protection depends on the tower setup, channel design and timely on-chain action.",
      "sourceIds": [
        "source-c990c3514ba7948d",
        "source-b886d1d57cf59732"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c990c3514ba7948d",
          "locator": "Channel breaches; Watchtowers; Timelocks"
        },
        {
          "sourceId": "source-b886d1d57cf59732",
          "locator": "Commitment Transaction; HTLC Outputs; Closing Transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Lightning Labs watchtower mechanism and BOLT3 delayed/revocation paths.144blocks=24hours only under the stated average; preparation, coverage and timely confirmation remain conditions. Watchtowers are not seed recovery or payment routing."
        ]
      }
    },
    {
      "id": "lightning-watchtowers-fact-threat-watched",
      "articleSlug": "lightning-watchtowers",
      "statement": "Threat watched: Publication of a revoked channel state",
      "sourceIds": [
        "source-c990c3514ba7948d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c990c3514ba7948d",
          "locator": "Channel breaches; Watchtowers; Timelocks"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Lightning Labs watchtower mechanism and BOLT3 delayed/revocation paths.144blocks=24hours only under the stated average; preparation, coverage and timely confirmation remain conditions. Watchtowers are not seed recovery or payment routing."
        ]
      }
    },
    {
      "id": "lightning-watchtowers-fact-protection-path",
      "articleSlug": "lightning-watchtowers",
      "statement": "Protection path: An on-chain response within applicable constraints",
      "sourceIds": [
        "source-c990c3514ba7948d",
        "source-b886d1d57cf59732"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c990c3514ba7948d",
          "locator": "Channel breaches; Watchtowers; Timelocks"
        },
        {
          "sourceId": "source-b886d1d57cf59732",
          "locator": "Commitment Transaction; HTLC Outputs; Closing Transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Lightning Labs watchtower mechanism and BOLT3 delayed/revocation paths.144blocks=24hours only under the stated average; preparation, coverage and timely confirmation remain conditions. Watchtowers are not seed recovery or payment routing."
        ]
      }
    },
    {
      "id": "lightning-watchtowers-fact-separate-need",
      "articleSlug": "lightning-watchtowers",
      "statement": "Separate need: Wallet and channel recovery backups",
      "sourceIds": [
        "source-b441602c23e09691"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b441602c23e09691",
          "locator": "aezeed; Static channel backups (SCB); Channel Database"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked Lightning Labs watchtower mechanism and BOLT3 delayed/revocation paths.144blocks=24hours only under the stated average; preparation, coverage and timely confirmation remain conditions. Watchtowers are not seed recovery or payment routing."
        ]
      }
    },
    {
      "id": "lightning-force-close-quick-answer",
      "articleSlug": "lightning-force-close",
      "statement": "A force close publishes a channel commitment transaction so a party can exit without obtaining a new closing agreement from its peer. It can involve delayed outputs and additional transactions before all funds are spendable. A cooperative close is jointly arranged and usually simpler. The exact delay, fees and recovery stages depend on channel type and outstanding payments, so a closed-channel label does not mean every satoshi is already available.",
      "sourceIds": [
        "source-d0625e6983c0ac55",
        "source-9ed194ab4aaa2ccc",
        "source-b886d1d57cf59732"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d0625e6983c0ac55",
          "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively"
        },
        {
          "sourceId": "source-9ed194ab4aaa2ccc",
          "locator": "Types of funds that need to be swept; Local force closure; Remote force closure; Incoming HTLCs; Outgoing HTLCs; Batch sweeping; LNCLI and uneconomical sweeps"
        },
        {
          "sourceId": "source-b886d1d57cf59732",
          "locator": "Commitment Transaction; HTLC Outputs; Closing Transaction"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked local/remote and HTLC paths in BOLT3 plus LND sweeping. Output delay, eligibility and sweep confirmation are separate. Added disaster source for old database caution and timing source for144block arithmetic; no uniform output delay is asserted."
        ]
      }
    },
    {
      "id": "lightning-force-close-fact-unilateral-exit",
      "articleSlug": "lightning-force-close",
      "statement": "Unilateral exit: Can use an existing commitment",
      "sourceIds": [
        "source-d0625e6983c0ac55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d0625e6983c0ac55",
          "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked local/remote and HTLC paths in BOLT3 plus LND sweeping. Output delay, eligibility and sweep confirmation are separate. Added disaster source for old database caution and timing source for144block arithmetic; no uniform output delay is asserted."
        ]
      }
    },
    {
      "id": "lightning-force-close-fact-delayed-funds",
      "articleSlug": "lightning-force-close",
      "statement": "Delayed funds: Some outputs wait before they can be spent",
      "sourceIds": [
        "source-9ed194ab4aaa2ccc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9ed194ab4aaa2ccc",
          "locator": "Types of funds that need to be swept; Local force closure; Remote force closure; Incoming HTLCs; Outgoing HTLCs; Batch sweeping; LNCLI and uneconomical sweeps"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked local/remote and HTLC paths in BOLT3 plus LND sweeping. Output delay, eligibility and sweep confirmation are separate. Added disaster source for old database caution and timing source for144block arithmetic; no uniform output delay is asserted."
        ]
      }
    },
    {
      "id": "lightning-force-close-fact-sweep",
      "articleSlug": "lightning-force-close",
      "statement": "Sweep: A later transaction can collect eligible outputs",
      "sourceIds": [
        "source-9ed194ab4aaa2ccc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9ed194ab4aaa2ccc",
          "locator": "Types of funds that need to be swept; Local force closure; Remote force closure; Incoming HTLCs; Outgoing HTLCs; Batch sweeping; LNCLI and uneconomical sweeps"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked local/remote and HTLC paths in BOLT3 plus LND sweeping. Output delay, eligibility and sweep confirmation are separate. Added disaster source for old database caution and timing source for144block arithmetic; no uniform output delay is asserted."
        ]
      }
    },
    {
      "id": "lightning-payment-status-quick-answer",
      "articleSlug": "lightning-payment-status",
      "statement": "A Lightning payment can be in progress, successful or finally failed. Several route attempts may belong to one payment, and an interface timeout does not always resolve funds already committed along a route. In LND, the dispatch timeout limits time spent trying to send; it is not a guarantee that the complete payment settles within that time. Check the recorded final status before sending a separate replacement payment.",
      "sourceIds": [
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LND pathfinding, dispatch timeout and Monitoring Payments in full. InFlight/Succeeded/Failed and route attempts versus whole payment are accurately represented; a30-second dispatch budget is not a settlement guarantee."
        ]
      }
    },
    {
      "id": "lightning-payment-status-fact-in-flight",
      "articleSlug": "lightning-payment-status",
      "statement": "In flight: The payment remains unresolved",
      "sourceIds": [
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LND pathfinding, dispatch timeout and Monitoring Payments in full. InFlight/Succeeded/Failed and route attempts versus whole payment are accurately represented; a30-second dispatch budget is not a settlement guarantee."
        ]
      }
    },
    {
      "id": "lightning-payment-status-fact-succeeded",
      "articleSlug": "lightning-payment-status",
      "statement": "Succeeded: The payment reached a successful final state",
      "sourceIds": [
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LND pathfinding, dispatch timeout and Monitoring Payments in full. InFlight/Succeeded/Failed and route attempts versus whole payment are accurately represented; a30-second dispatch budget is not a settlement guarantee."
        ]
      }
    },
    {
      "id": "lightning-payment-status-fact-failed",
      "articleSlug": "lightning-payment-status",
      "statement": "Failed: The documented payment has a final failure state",
      "sourceIds": [
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read LND pathfinding, dispatch timeout and Monitoring Payments in full. InFlight/Succeeded/Failed and route attempts versus whole payment are accurately represented; a30-second dispatch budget is not a settlement guarantee."
        ]
      }
    },
    {
      "id": "lightning-submarine-swaps-quick-answer",
      "articleSlug": "lightning-submarine-swaps",
      "statement": "A submarine swap exchanges an on-chain Bitcoin payment for a Lightning payment, or the reverse, using linked conditions. The same secret connects the two sides, while a timeout provides a recovery path if the swap fails. This can move liquidity without closing a channel. The design reduces a particular risk of one side taking both payments, but it does not remove fees, time-sensitive actions, software assumptions or the possibility of delayed recovery.",
      "sourceIds": [
        "source-948a23bc4bb5421b",
        "source-70a948d7dc6576e3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-948a23bc4bb5421b",
          "locator": "Three steps of a Submarine swap; 1. Generate a bitcoin smart contract; 2. Generate and pay a Lightning invoice; 3. Claim bitcoin from the smart contract"
        },
        {
          "sourceId": "source-70a948d7dc6576e3",
          "locator": "Loop Out: Estimated fees, Actual fees; Loop In: Estimated fees, Actual fees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read submarine swap contract flow and Loop success/failure fee categories.1,400sat fees and101,400sat total are correct under explicitly separate charges. Timeout recovery is a spend path requiring monitoring and possible further fees, not an automatic exact-time refund."
        ]
      }
    },
    {
      "id": "lightning-submarine-swaps-fact-connection",
      "articleSlug": "lightning-submarine-swaps",
      "statement": "Connection: Linked hash and time conditions",
      "sourceIds": [
        "source-948a23bc4bb5421b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-948a23bc4bb5421b",
          "locator": "Three steps of a Submarine swap; 1. Generate a bitcoin smart contract; 2. Generate and pay a Lightning invoice; 3. Claim bitcoin from the smart contract"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read submarine swap contract flow and Loop success/failure fee categories.1,400sat fees and101,400sat total are correct under explicitly separate charges. Timeout recovery is a spend path requiring monitoring and possible further fees, not an automatic exact-time refund."
        ]
      }
    },
    {
      "id": "lightning-submarine-swaps-fact-uses",
      "articleSlug": "lightning-submarine-swaps",
      "statement": "Uses: Rebalance between on-chain and Lightning funds",
      "sourceIds": [
        "source-948a23bc4bb5421b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-948a23bc4bb5421b",
          "locator": "Three steps of a Submarine swap; 1. Generate a bitcoin smart contract; 2. Generate and pay a Lightning invoice; 3. Claim bitcoin from the smart contract"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read submarine swap contract flow and Loop success/failure fee categories.1,400sat fees and101,400sat total are correct under explicitly separate charges. Timeout recovery is a spend path requiring monitoring and possible further fees, not an automatic exact-time refund."
        ]
      }
    },
    {
      "id": "lightning-submarine-swaps-fact-costs",
      "articleSlug": "lightning-submarine-swaps",
      "statement": "Costs: Can include service, routing and miner fees",
      "sourceIds": [
        "source-70a948d7dc6576e3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-70a948d7dc6576e3",
          "locator": "Loop Out: Estimated fees, Actual fees; Loop In: Estimated fees, Actual fees"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read submarine swap contract flow and Loop success/failure fee categories.1,400sat fees and101,400sat total are correct under explicitly separate charges. Timeout recovery is a spend path requiring monitoring and possible further fees, not an automatic exact-time refund."
        ]
      }
    },
    {
      "id": "lightning-bolt12-offers-quick-answer",
      "articleSlug": "lightning-bolt12-offers",
      "statement": "A BOLT 12 offer is a reusable invitation to request a Lightning invoice. In the normal flow, a wallet reads the offer, sends an invoice request over Lightning messaging, receives a specific invoice and pays it. The offer and the invoice are different objects. Both sides need compatible support, and publishing an offer does not guarantee that its service is online or a payment route is available.",
      "sourceIds": [
        "source-cc1932d4fd39f8dd",
        "source-1906b56694566cb0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc1932d4fd39f8dd",
          "locator": "Limitations of BOLT 11; Payment Flow Scenarios; Offers; Invoice Requests; Invoices; Payer Proofs"
        },
        {
          "sourceId": "source-1906b56694566cb0",
          "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT12 offer/invoice_request/invoice flow, offer constraints and payer proofs. Reusability does not imply permanent availability, universal support or recurring debit authority; LNURL address and BOLT12 are not conflated."
        ]
      }
    },
    {
      "id": "lightning-bolt12-offers-fact-offer",
      "articleSlug": "lightning-bolt12-offers",
      "statement": "Offer: Longer-lived information for requesting invoices",
      "sourceIds": [
        "source-cc1932d4fd39f8dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc1932d4fd39f8dd",
          "locator": "Limitations of BOLT 11; Payment Flow Scenarios; Offers; Invoice Requests; Invoices; Payer Proofs"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT12 offer/invoice_request/invoice flow, offer constraints and payer proofs. Reusability does not imply permanent availability, universal support or recurring debit authority; LNURL address and BOLT12 are not conflated."
        ]
      }
    },
    {
      "id": "lightning-bolt12-offers-fact-invoice-request",
      "articleSlug": "lightning-bolt12-offers",
      "statement": "Invoice request: Asks for the particular payment terms",
      "sourceIds": [
        "source-cc1932d4fd39f8dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc1932d4fd39f8dd",
          "locator": "Limitations of BOLT 11; Payment Flow Scenarios; Offers; Invoice Requests; Invoices; Payer Proofs"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT12 offer/invoice_request/invoice flow, offer constraints and payer proofs. Reusability does not imply permanent availability, universal support or recurring debit authority; LNURL address and BOLT12 are not conflated."
        ]
      }
    },
    {
      "id": "lightning-bolt12-offers-fact-invoice",
      "articleSlug": "lightning-bolt12-offers",
      "statement": "Invoice: Supplies the specific payment request",
      "sourceIds": [
        "source-cc1932d4fd39f8dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc1932d4fd39f8dd",
          "locator": "Limitations of BOLT 11; Payment Flow Scenarios; Offers; Invoice Requests; Invoices; Payer Proofs"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BOLT12 offer/invoice_request/invoice flow, offer constraints and payer proofs. Reusability does not imply permanent availability, universal support or recurring debit authority; LNURL address and BOLT12 are not conflated."
        ]
      }
    },
    {
      "id": "bitcoin-mining-hardware-quick-answer",
      "articleSlug": "bitcoin-mining-hardware",
      "statement": "Bitcoin mining hardware repeatedly hashes candidate block headers. Purpose-built machines, called ASICs, are designed for that work. Compare hash rate, power measured at the wall, efficiency and operating requirements together. A higher hash rate does not by itself establish lower electricity cost per unit of work, and no specification guarantees mining revenue or profit.",
      "sourceIds": [
        "source-d5271fde58f8f665",
        "source-030ca0d60e0a17f4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-030ca0d60e0a17f4",
          "locator": "Section 1.2 Server Specification, printed pages 4–5: Table 1-1 Product Glance, Table 1-2 Detailed Characteristics of Product and notes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BITMAIN S21 March2025 guide printedpp4–5 table/notes:200TH/s,3500W,17.5J/TH at25°C,±3%hashrate and±5%power/efficiency.84kWh/day and8.40illustrative energy cost checked with exclusions. No buying or profit guarantee is stated."
        ]
      }
    },
    {
      "id": "bitcoin-mining-hardware-fact-hash-rate",
      "articleSlug": "bitcoin-mining-hardware",
      "statement": "Hash rate: The rate of candidate hash calculations",
      "sourceIds": [
        "source-d5271fde58f8f665"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BITMAIN S21 March2025 guide printedpp4–5 table/notes:200TH/s,3500W,17.5J/TH at25°C,±3%hashrate and±5%power/efficiency.84kWh/day and8.40illustrative energy cost checked with exclusions. No buying or profit guarantee is stated."
        ]
      }
    },
    {
      "id": "bitcoin-mining-hardware-fact-wall-power",
      "articleSlug": "bitcoin-mining-hardware",
      "statement": "Wall power: Electrical demand under stated conditions",
      "sourceIds": [
        "source-030ca0d60e0a17f4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-030ca0d60e0a17f4",
          "locator": "Section 1.2 Server Specification, printed pages 4–5: Table 1-1 Product Glance, Table 1-2 Detailed Characteristics of Product and notes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BITMAIN S21 March2025 guide printedpp4–5 table/notes:200TH/s,3500W,17.5J/TH at25°C,±3%hashrate and±5%power/efficiency.84kWh/day and8.40illustrative energy cost checked with exclusions. No buying or profit guarantee is stated."
        ]
      }
    },
    {
      "id": "bitcoin-mining-hardware-fact-efficiency",
      "articleSlug": "bitcoin-mining-hardware",
      "statement": "Efficiency: Joules per terahash; lower uses less energy per work",
      "sourceIds": [
        "source-030ca0d60e0a17f4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-030ca0d60e0a17f4",
          "locator": "Section 1.2 Server Specification, printed pages 4–5: Table 1-1 Product Glance, Table 1-2 Detailed Characteristics of Product and notes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked BITMAIN S21 March2025 guide printedpp4–5 table/notes:200TH/s,3500W,17.5J/TH at25°C,±3%hashrate and±5%power/efficiency.84kWh/day and8.40illustrative energy cost checked with exclusions. No buying or profit guarantee is stated."
        ]
      }
    },
    {
      "id": "bitcoin-pool-payout-methods-quick-answer",
      "articleSlug": "bitcoin-pool-payout-methods",
      "statement": "A mining pool’s payout method determines how accepted work translates into a miner’s account credit. PPS values accepted shares without making each miner wait for a particular pool block. PPLNS distributes actual rewards using a recent share window. FPPS adds an estimated transaction-fee component to PPS, while PPS+ combines PPS subsidy payments with a reward-based fee component. Exact definitions, fees and payout conditions belong to the pool’s current terms.",
      "sourceIds": [
        "source-3ad0f31ed0474c29",
        "source-1277587efaa94027"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ad0f31ed0474c29",
          "locator": "Mining pool selection: PPS, PPLNS, FPPS and PPS+ definitions; mining economics and cost qualifications"
        },
        {
          "sourceId": "source-1277587efaa94027",
          "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read historical f2pool PPS/PPLNS/FPPS/PPS+ explanations, taking mechanics only.2%of10,000=200 and net9800checked. Block-finding variance and operator payment risk are separated; share difficulty and current pool terms remain relevant."
        ]
      }
    },
    {
      "id": "bitcoin-pool-payout-methods-fact-pps",
      "articleSlug": "bitcoin-pool-payout-methods",
      "statement": "PPS: Accepted shares receive an expected-work value",
      "sourceIds": [
        "source-3ad0f31ed0474c29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ad0f31ed0474c29",
          "locator": "Mining pool selection: PPS, PPLNS, FPPS and PPS+ definitions; mining economics and cost qualifications"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read historical f2pool PPS/PPLNS/FPPS/PPS+ explanations, taking mechanics only.2%of10,000=200 and net9800checked. Block-finding variance and operator payment risk are separated; share difficulty and current pool terms remain relevant."
        ]
      }
    },
    {
      "id": "bitcoin-pool-payout-methods-fact-pplns",
      "articleSlug": "bitcoin-pool-payout-methods",
      "statement": "PPLNS: Actual rewards are allocated through a share window",
      "sourceIds": [
        "source-3ad0f31ed0474c29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ad0f31ed0474c29",
          "locator": "Mining pool selection: PPS, PPLNS, FPPS and PPS+ definitions; mining economics and cost qualifications"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read historical f2pool PPS/PPLNS/FPPS/PPS+ explanations, taking mechanics only.2%of10,000=200 and net9800checked. Block-finding variance and operator payment risk are separated; share difficulty and current pool terms remain relevant."
        ]
      }
    },
    {
      "id": "bitcoin-pool-payout-methods-fact-fpps-versus-pps",
      "articleSlug": "bitcoin-pool-payout-methods",
      "statement": "FPPS versus PPS+: Transaction-fee allocation differs",
      "sourceIds": [
        "source-3ad0f31ed0474c29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ad0f31ed0474c29",
          "locator": "Mining pool selection: PPS, PPLNS, FPPS and PPS+ definitions; mining economics and cost qualifications"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read historical f2pool PPS/PPLNS/FPPS/PPS+ explanations, taking mechanics only.2%of10,000=200 and net9800checked. Block-finding variance and operator payment risk are separated; share difficulty and current pool terms remain relevant."
        ]
      }
    },
    {
      "id": "bitcoin-solo-mining-odds-quick-answer",
      "articleSlug": "bitcoin-solo-mining-odds",
      "statement": "A solo miner’s chance of finding a block is approximately its share of effective network hash rate under comparable operating conditions. Expected block counts describe an average across repeated possibilities; they do not schedule a win. A miner can find a block quickly or operate much longer than the expected wait without one. Network conditions, downtime and valid-block propagation also affect practical results.",
      "sourceIds": [
        "source-d5271fde58f8f665",
        "source-1277587efaa94027",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-1277587efaa94027",
          "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4, 6, 7, 10 and 11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputed100TH/s versus1000EH/s, share10^-7,lambda0.0000144/day,69,444days,190.3years and0.00144%daily probability. These derive from an explicitly fixed-rate Poisson approximation, not a hardware or network forecast; elapsed failure is not accrued entitlement."
        ]
      }
    },
    {
      "id": "bitcoin-solo-mining-odds-fact-share-estimate",
      "articleSlug": "bitcoin-solo-mining-odds",
      "statement": "Share estimate: Miner hash rate divided by network hash rate",
      "sourceIds": [
        "source-1277587efaa94027"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1277587efaa94027",
          "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputed100TH/s versus1000EH/s, share10^-7,lambda0.0000144/day,69,444days,190.3years and0.00144%daily probability. These derive from an explicitly fixed-rate Poisson approximation, not a hardware or network forecast; elapsed failure is not accrued entitlement."
        ]
      }
    },
    {
      "id": "bitcoin-solo-mining-odds-fact-expected-count",
      "articleSlug": "bitcoin-solo-mining-odds",
      "statement": "Expected count: Hash share times assumed network block count",
      "sourceIds": [
        "source-1277587efaa94027"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1277587efaa94027",
          "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputed100TH/s versus1000EH/s, share10^-7,lambda0.0000144/day,69,444days,190.3years and0.00144%daily probability. These derive from an explicitly fixed-rate Poisson approximation, not a hardware or network forecast; elapsed failure is not accrued entitlement."
        ]
      }
    },
    {
      "id": "bitcoin-solo-mining-odds-fact-no-deadline",
      "articleSlug": "bitcoin-solo-mining-odds",
      "statement": "No deadline: An average wait does not guarantee success",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-1277587efaa94027"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4, 6, 7, 10 and 11"
        },
        {
          "sourceId": "source-1277587efaa94027",
          "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputed100TH/s versus1000EH/s, share10^-7,lambda0.0000144/day,69,444days,190.3years and0.00144%daily probability. These derive from an explicitly fixed-rate Poisson approximation, not a hardware or network forecast; elapsed failure is not accrued entitlement."
        ]
      }
    },
    {
      "id": "bitcoin-rejected-mining-shares-quick-answer",
      "articleSlug": "bitcoin-rejected-mining-shares",
      "statement": "A mining share is evidence of work submitted to a pool under its target and job rules. An accepted share is credited according to the pool’s method; a rejected share did not pass the relevant checks. A stale share relates to work that is no longer current, often after a new block or delayed job update. Examine the reported reason and time window before concluding that a device is defective.",
      "sourceIds": [
        "source-d5271fde58f8f665",
        "source-45e6674e99f8e04e",
        "source-0f8037f378f867ae"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-45e6674e99f8e04e",
          "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget"
        },
        {
          "sourceId": "source-0f8037f378f867ae",
          "locator": "Invalid hashrate; Flat downstream hashrate vs volatile upstream hashrate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked StratumV2 successful share count/work sum, stale-job invalidation and target rejection, plus Braiins proxy FAQ.150/10,000=1.5%requires equal difficulty. Product-specific thresholds are not promoted to network rules and sampling periods remain distinct."
        ]
      }
    },
    {
      "id": "bitcoin-rejected-mining-shares-fact-share",
      "articleSlug": "bitcoin-rejected-mining-shares",
      "statement": "Share: Work meeting a pool’s submission target",
      "sourceIds": [
        "source-d5271fde58f8f665"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked StratumV2 successful share count/work sum, stale-job invalidation and target rejection, plus Braiins proxy FAQ.150/10,000=1.5%requires equal difficulty. Product-specific thresholds are not promoted to network rules and sampling periods remain distinct."
        ]
      }
    },
    {
      "id": "bitcoin-rejected-mining-shares-fact-stale-work",
      "articleSlug": "bitcoin-rejected-mining-shares",
      "statement": "Stale work: The submitted job is no longer current",
      "sourceIds": [
        "source-45e6674e99f8e04e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-45e6674e99f8e04e",
          "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked StratumV2 successful share count/work sum, stale-job invalidation and target rejection, plus Braiins proxy FAQ.150/10,000=1.5%requires equal difficulty. Product-specific thresholds are not promoted to network rules and sampling periods remain distinct."
        ]
      }
    },
    {
      "id": "bitcoin-rejected-mining-shares-fact-display-variance",
      "articleSlug": "bitcoin-rejected-mining-shares",
      "statement": "Display variance: Short sampling windows can differ substantially",
      "sourceIds": [
        "source-0f8037f378f867ae"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f8037f378f867ae",
          "locator": "Invalid hashrate; Flat downstream hashrate vs volatile upstream hashrate"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked StratumV2 successful share count/work sum, stale-job invalidation and target rejection, plus Braiins proxy FAQ.150/10,000=1.5%requires equal difficulty. Product-specific thresholds are not promoted to network rules and sampling periods remain distinct."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-quick-answer",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Stratum is a family of protocols used to send mining jobs to devices and submit their results upstream. It is different from Bitcoin’s peer-to-peer block and transaction network. Stratum V2 separates mining communication, job declaration and template distribution into related protocols. Basic V2 mining support does not by itself prove that a miner selects the transactions in its candidate blocks.",
      "sourceIds": [
        "source-d5271fde58f8f665",
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-mining-protocol",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Mining protocol: Distributes jobs and accepts shares",
      "sourceIds": [
        "source-45e6674e99f8e04e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-45e6674e99f8e04e",
          "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-job-declaration",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Job declaration: Supports declaring custom block templates",
      "sourceIds": [
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-template-distribution",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Template distribution: Supplies candidate block information",
      "sourceIds": [
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "can-bitcoin-be-frozen-quick-answer",
      "articleSlug": "can-bitcoin-be-frozen",
      "statement": "Bitcoin has no general issuer-operated button that freezes any chosen address. Spending ordinary self-custodied bitcoin follows the conditions of its outputs and the network’s validation rules. A custodian can restrict an account or refuse a withdrawal, and miners can decline to include a transaction. Those actions can obstruct use without being the same as a universal change to the owner’s Bitcoin spending conditions.",
      "sourceIds": [
        "source-ba4dc8db91e16d53",
        "source-b282fdecc069b74d",
        "source-d5271fde58f8f665",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4, 6, 7, 10 and 11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked custody withdrawal controls, output authorization, miner selection and whitepaper attack limits. Added BOLT3 for explicit output time restrictions. The answer distinguishes account freezes, delayed inclusion and signing authority without making a legal claim."
        ]
      }
    },
    {
      "id": "can-bitcoin-be-frozen-fact-custodial-balance",
      "articleSlug": "can-bitcoin-be-frozen",
      "statement": "Custodial balance: Depends on the service honoring withdrawal",
      "sourceIds": [
        "source-ba4dc8db91e16d53"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked custody withdrawal controls, output authorization, miner selection and whitepaper attack limits. Added BOLT3 for explicit output time restrictions. The answer distinguishes account freezes, delayed inclusion and signing authority without making a legal claim."
        ]
      }
    },
    {
      "id": "can-bitcoin-be-frozen-fact-output-conditions",
      "articleSlug": "can-bitcoin-be-frozen",
      "statement": "Output conditions: Determine what authorizes a valid spend",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked custody withdrawal controls, output authorization, miner selection and whitepaper attack limits. Added BOLT3 for explicit output time restrictions. The answer distinguishes account freezes, delayed inclusion and signing authority without making a legal claim."
        ]
      }
    },
    {
      "id": "can-bitcoin-be-frozen-fact-inclusion",
      "articleSlug": "can-bitcoin-be-frozen",
      "statement": "Inclusion: A valid transaction still needs block inclusion",
      "sourceIds": [
        "source-d5271fde58f8f665"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked custody withdrawal controls, output authorization, miner selection and whitepaper attack limits. Added BOLT3 for explicit output time restrictions. The answer distinguishes account freezes, delayed inclusion and signing authority without making a legal claim."
        ]
      }
    },
    {
      "id": "bitcoin-block-time-variance-quick-answer",
      "articleSlug": "bitcoin-block-time-variance",
      "statement": "Bitcoin’s ten-minute target is an average, not a schedule for individual blocks. Miners repeatedly test candidate hashes, and successful attempts arrive irregularly. Under a stable-rate model, the waiting time is approximately exponential: a long gap is possible, and an unsuccessful wait does not make the next block due. Actual conditions can change when hash rate changes or difficulty adjusts.",
      "sourceIds": [
        "source-ba4dc8db91e16d53",
        "source-190b9fe0eec933dc",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4, 6, 7, 10 and 11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputedexp(-3)=4.98%andexp(-6)=0.248%under specified stable-rate windows and checked memoryless conditional waiting. The explanation does not confuse a fixed interval with a day’s maximum gap, or block arrival with transaction inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-block-time-variance-fact-target",
      "articleSlug": "bitcoin-block-time-variance",
      "statement": "Target: About ten minutes per block on average",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputedexp(-3)=4.98%andexp(-6)=0.248%under specified stable-rate windows and checked memoryless conditional waiting. The explanation does not confuse a fixed interval with a day’s maximum gap, or block arrival with transaction inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-block-time-variance-fact-individual-gap",
      "articleSlug": "bitcoin-block-time-variance",
      "statement": "Individual gap: Can be much shorter or longer",
      "sourceIds": [
        "source-ba4dc8db91e16d53"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputedexp(-3)=4.98%andexp(-6)=0.248%under specified stable-rate windows and checked memoryless conditional waiting. The explanation does not confuse a fixed interval with a day’s maximum gap, or block arrival with transaction inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-block-time-variance-fact-model-condition",
      "articleSlug": "bitcoin-block-time-variance",
      "statement": "Model condition: A fixed effective block-finding rate",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 4, 6, 7, 10 and 11"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Recomputedexp(-3)=4.98%andexp(-6)=0.248%under specified stable-rate windows and checked memoryless conditional waiting. The explanation does not confuse a fixed interval with a day’s maximum gap, or block arrival with transaction inclusion."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-id-vs-address-quick-answer",
      "articleSlug": "bitcoin-transaction-id-vs-address",
      "statement": "A Bitcoin address describes a destination for an output under a supported encoding. A transaction ID identifies a serialized transaction, and an output index selects one output within it. They answer different questions: where to pay, which transaction to inspect and which output is being spent. A transaction ID does not prove confirmation or provide the authority to spend its outputs.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-896e868816ad19d1",
        "source-4d4d250c55f548e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Transaction ID; Additional definitions; Transaction size calculations"
        },
        {
          "sourceId": "source-4d4d250c55f548e4",
          "locator": "Description; Arguments; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked transaction output indices and BIP141 traditionaltxid versus witness-inclusivewtxid serialization. Index1 selects the second output; an identifier is neither spending authority nor a confirmation receipt."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-id-vs-address-fact-address",
      "articleSlug": "bitcoin-transaction-id-vs-address",
      "statement": "Address: An encoded payment destination",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked transaction output indices and BIP141 traditionaltxid versus witness-inclusivewtxid serialization. Index1 selects the second output; an identifier is neither spending authority nor a confirmation receipt."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-id-vs-address-fact-transaction-id",
      "articleSlug": "bitcoin-transaction-id-vs-address",
      "statement": "Transaction ID: Identifies transaction data",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Transaction ID; Additional definitions; Transaction size calculations"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked transaction output indices and BIP141 traditionaltxid versus witness-inclusivewtxid serialization. Index1 selects the second output; an identifier is neither spending authority nor a confirmation receipt."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-id-vs-address-fact-outpoint",
      "articleSlug": "bitcoin-transaction-id-vs-address",
      "statement": "Outpoint: Transaction ID plus output index",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Checked transaction output indices and BIP141 traditionaltxid versus witness-inclusivewtxid serialization. Index1 selects the second output; an identifier is neither spending authority nor a confirmation receipt."
        ]
      }
    },
    {
      "id": "bitcoin-payjoin-quick-answer",
      "articleSlug": "bitcoin-payjoin",
      "statement": "Payjoin lets a sender and receiver collaborate on one Bitcoin payment transaction, typically by adding receiver-controlled inputs alongside the sender’s inputs. That makes the usual assumption that every input belongs to one owner unreliable. In BIP-78, the parties exchange transaction proposals and the sender validates the result before signing and broadcasting. It improves a particular privacy property; it does not make the payment invisible or guarantee anonymity.",
      "sourceIds": [
        "source-bdc6c661a933e71b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdc6c661a933e71b",
          "locator": "Motivation; Protocol; Receiver's original PSBT checklist; Sender's payjoin proposal checklist"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP78 protocol and sender/receiver checklists plus BIP174.130,000sat input balance,49,000change,80,000receiver and1,000fee are consistent; net receiver gain50,000. The example is not claimed as a complete protocol vector and no private-key sharing is required."
        ]
      }
    },
    {
      "id": "bitcoin-payjoin-fact-collaboration",
      "articleSlug": "bitcoin-payjoin",
      "statement": "Collaboration: Both parties can contribute inputs",
      "sourceIds": [
        "source-bdc6c661a933e71b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdc6c661a933e71b",
          "locator": "Motivation; Protocol; Receiver's original PSBT checklist; Sender's payjoin proposal checklist"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP78 protocol and sender/receiver checklists plus BIP174.130,000sat input balance,49,000change,80,000receiver and1,000fee are consistent; net receiver gain50,000. The example is not claimed as a complete protocol vector and no private-key sharing is required."
        ]
      }
    },
    {
      "id": "bitcoin-payjoin-fact-privacy-goal",
      "articleSlug": "bitcoin-payjoin",
      "statement": "Privacy goal: Weaken common-input ownership inference",
      "sourceIds": [
        "source-bdc6c661a933e71b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdc6c661a933e71b",
          "locator": "Motivation; Protocol; Receiver's original PSBT checklist; Sender's payjoin proposal checklist"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP78 protocol and sender/receiver checklists plus BIP174.130,000sat input balance,49,000change,80,000receiver and1,000fee are consistent; net receiver gain50,000. The example is not claimed as a complete protocol vector and no private-key sharing is required."
        ]
      }
    },
    {
      "id": "bitcoin-payjoin-fact-validation",
      "articleSlug": "bitcoin-payjoin",
      "statement": "Validation: Check the proposal before final signing",
      "sourceIds": [
        "source-bdc6c661a933e71b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bdc6c661a933e71b",
          "locator": "Motivation; Protocol; Receiver's original PSBT checklist; Sender's payjoin proposal checklist"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read BIP78 protocol and sender/receiver checklists plus BIP174.130,000sat input balance,49,000change,80,000receiver and1,000fee are consistent; net receiver gain50,000. The example is not claimed as a complete protocol vector and no private-key sharing is required."
        ]
      }
    },
    {
      "id": "bitcoin-coinjoin-quick-answer",
      "articleSlug": "bitcoin-coinjoin",
      "statement": "CoinJoin is a way for multiple participants to construct one Bitcoin transaction using inputs they control. Each participant checks the intended result and signs its own inputs. This can make input-to-output ownership harder for an outside observer to infer. It does not hide the transaction from the blockchain, guarantee equal privacy against every observer or require users to give a coordinator their private keys.",
      "sourceIds": [
        "source-24799b57e0005e64",
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-24799b57e0005e64",
          "locator": "Original proposal post: independent input signatures; equal outputs; coordination"
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Maxwell’s original2013post and its coordination/DoS/privacy FAQ.303,000sat inputs balance300,000outputs+3000fee. Equal outputs do not guarantee one-in-three anonymity or distinct human owners; coordinator knowledge and later observation are qualified."
        ]
      }
    },
    {
      "id": "bitcoin-coinjoin-fact-transaction",
      "articleSlug": "bitcoin-coinjoin",
      "statement": "Transaction: Multiple participants contribute inputs",
      "sourceIds": [
        "source-24799b57e0005e64"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-24799b57e0005e64",
          "locator": "Original proposal post: independent input signatures; equal outputs; coordination"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Maxwell’s original2013post and its coordination/DoS/privacy FAQ.303,000sat inputs balance300,000outputs+3000fee. Equal outputs do not guarantee one-in-three anonymity or distinct human owners; coordinator knowledge and later observation are qualified."
        ]
      }
    },
    {
      "id": "bitcoin-coinjoin-fact-signing",
      "articleSlug": "bitcoin-coinjoin",
      "statement": "Signing: Participants authorize their own inputs",
      "sourceIds": [
        "source-24799b57e0005e64"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-24799b57e0005e64",
          "locator": "Original proposal post: independent input signatures; equal outputs; coordination"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Maxwell’s original2013post and its coordination/DoS/privacy FAQ.303,000sat inputs balance300,000outputs+3000fee. Equal outputs do not guarantee one-in-three anonymity or distinct human owners; coordinator knowledge and later observation are qualified."
        ]
      }
    },
    {
      "id": "bitcoin-coinjoin-fact-privacy",
      "articleSlug": "bitcoin-coinjoin",
      "statement": "Privacy: Depends on construction and other available information",
      "sourceIds": [
        "source-24799b57e0005e64",
        "source-ba4dc8db91e16d53"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-24799b57e0005e64",
          "locator": "Original proposal post: independent input signatures; equal outputs; coordination"
        },
        {
          "sourceId": "source-ba4dc8db91e16d53",
          "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Maxwell’s original2013post and its coordination/DoS/privacy FAQ.303,000sat inputs balance300,000outputs+3000fee. Equal outputs do not guarantee one-in-three anonymity or distinct human owners; coordinator knowledge and later observation are qualified."
        ]
      }
    },
    {
      "id": "metamask-password-and-recovery-phrase-quick-answer",
      "articleSlug": "metamask-password-and-recovery-phrase",
      "statement": "For a MetaMask wallet created with a Secret Recovery Phrase, the password unlocks that installation; the phrase restores its derived accounts. Knowing only the password does not recreate the wallet on a new device. MetaMask’s Google, Apple and Telegram onboarding has a different recovery model, where the password and social account matter together. Identify your setup before resetting anything.",
      "sourceIds": [
        "source-3bd1032dd7f4b2ef",
        "source-bc836c2e8d5b3936"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bd1032dd7f4b2ef",
          "locator": "SRP access; social account access"
        },
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask password page confirms phrase-based installation access versus Google/Apple/Telegram password-plus-social recovery. Recovery FAQ confirms separate private-key/hardware imports. Password-change conclusion follows unchanged keys; no unsupported promise of recovering a social wallet from a forgotten password."
        ]
      }
    },
    {
      "id": "metamask-password-and-recovery-phrase-fact-local-access",
      "articleSlug": "metamask-password-and-recovery-phrase",
      "statement": "Local access: An SRP-based wallet password unlocks the installed wallet.",
      "sourceIds": [
        "source-3bd1032dd7f4b2ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bd1032dd7f4b2ef",
          "locator": "SRP access; social account access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask password page confirms phrase-based installation access versus Google/Apple/Telegram password-plus-social recovery. Recovery FAQ confirms separate private-key/hardware imports. Password-change conclusion follows unchanged keys; no unsupported promise of recovering a social wallet from a forgotten password."
        ]
      }
    },
    {
      "id": "metamask-password-and-recovery-phrase-fact-restoration",
      "articleSlug": "metamask-password-and-recovery-phrase",
      "statement": "Restoration: The recovery phrase restores accounts derived from that phrase.",
      "sourceIds": [
        "source-bc836c2e8d5b3936"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask password page confirms phrase-based installation access versus Google/Apple/Telegram password-plus-social recovery. Recovery FAQ confirms separate private-key/hardware imports. Password-change conclusion follows unchanged keys; no unsupported promise of recovering a social wallet from a forgotten password."
        ]
      }
    },
    {
      "id": "metamask-password-and-recovery-phrase-fact-separate-imports",
      "articleSlug": "metamask-password-and-recovery-phrase",
      "statement": "Separate imports: Imported accounts can need their own recovery material.",
      "sourceIds": [
        "source-bc836c2e8d5b3936"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask password page confirms phrase-based installation access versus Google/Apple/Telegram password-plus-social recovery. Recovery FAQ confirms separate private-key/hardware imports. Password-change conclusion follows unchanged keys; no unsupported promise of recovering a social wallet from a forgotten password."
        ]
      }
    },
    {
      "id": "metamask-missing-restored-accounts-quick-answer",
      "articleSlug": "metamask-missing-restored-accounts",
      "statement": "Restoring a MetaMask phrase restores access to accounts derived from it, but the interface may not immediately display all of them. Add derived accounts in the original sequence and compare full addresses. Accounts imported from separate private keys or connected hardware wallets are different: the restored phrase does not recreate their keys.",
      "sourceIds": [
        "source-bc836c2e8d5b3936",
        "source-302a9de796759a11"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        },
        {
          "sourceId": "source-302a9de796759a11",
          "locator": "Derivation path"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh restore guide explicitly gives Account4/token-without-mainnet-ETH example and distinction between automatic backup/sync discovery and manual derived-account order. Hardware/private-key imports remain separate; public address versus label comparison valid."
        ]
      }
    },
    {
      "id": "metamask-missing-restored-accounts-fact-same-phrase",
      "articleSlug": "metamask-missing-restored-accounts",
      "statement": "Same phrase: The same supported derivation sequence produces the same addresses.",
      "sourceIds": [
        "source-bc836c2e8d5b3936",
        "source-302a9de796759a11"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        },
        {
          "sourceId": "source-302a9de796759a11",
          "locator": "Derivation path"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh restore guide explicitly gives Account4/token-without-mainnet-ETH example and distinction between automatic backup/sync discovery and manual derived-account order. Hardware/private-key imports remain separate; public address versus label comparison valid."
        ]
      }
    },
    {
      "id": "metamask-missing-restored-accounts-fact-display-order",
      "articleSlug": "metamask-missing-restored-accounts",
      "statement": "Display order: Some derived accounts may need to be added again.",
      "sourceIds": [
        "source-bc836c2e8d5b3936"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh restore guide explicitly gives Account4/token-without-mainnet-ETH example and distinction between automatic backup/sync discovery and manual derived-account order. Hardware/private-key imports remain separate; public address versus label comparison valid."
        ]
      }
    },
    {
      "id": "metamask-missing-restored-accounts-fact-imported-keys",
      "articleSlug": "metamask-missing-restored-accounts",
      "statement": "Imported keys: A separately imported account is not generated by the current phrase.",
      "sourceIds": [
        "source-bc836c2e8d5b3936"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bc836c2e8d5b3936",
          "locator": "Restored accounts; imported accounts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh restore guide explicitly gives Account4/token-without-mainnet-ETH example and distinction between automatic backup/sync discovery and manual derived-account order. Hardware/private-key imports remain separate; public address versus label comparison valid."
        ]
      }
    },
    {
      "id": "ethereum-tokens-not-showing-quick-answer",
      "articleSlug": "ethereum-tokens-not-showing",
      "statement": "A token missing from a wallet interface may still be held onchain. Check the selected network, full account address and exact token contract, then verify the balance or transfer on that network. Adding a custom token changes what the interface displays; it does not recover tokens from another address or move them between chains.",
      "sourceIds": [
        "source-85b8c7c22a802fdd",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-85b8c7c22a802fdd",
          "locator": "Enhanced detection; custom tokens; hiding tokens"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask token guide supports custom-contract import, community-list non-endorsement and hide controls. RPC receipt status alone is not treated as a token receipt. The12-unit example concerns display only; chain and contract identity remain explicit."
        ]
      }
    },
    {
      "id": "ethereum-tokens-not-showing-fact-identity",
      "articleSlug": "ethereum-tokens-not-showing",
      "statement": "Identity: A ticker alone does not uniquely identify a token.",
      "sourceIds": [
        "source-85b8c7c22a802fdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-85b8c7c22a802fdd",
          "locator": "Enhanced detection; custom tokens; hiding tokens"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask token guide supports custom-contract import, community-list non-endorsement and hide controls. RPC receipt status alone is not treated as a token receipt. The12-unit example concerns display only; chain and contract identity remain explicit."
        ]
      }
    },
    {
      "id": "ethereum-tokens-not-showing-fact-display",
      "articleSlug": "ethereum-tokens-not-showing",
      "statement": "Display: Wallet detection lists are not a complete list of every token contract.",
      "sourceIds": [
        "source-85b8c7c22a802fdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-85b8c7c22a802fdd",
          "locator": "Enhanced detection; custom tokens; hiding tokens"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask token guide supports custom-contract import, community-list non-endorsement and hide controls. RPC receipt status alone is not treated as a token receipt. The12-unit example concerns display only; chain and contract identity remain explicit."
        ]
      }
    },
    {
      "id": "ethereum-tokens-not-showing-fact-scope",
      "articleSlug": "ethereum-tokens-not-showing",
      "statement": "Scope: RPC balance and transaction queries are made against a particular network.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask token guide supports custom-contract import, community-list non-endorsement and hide controls. RPC receipt status alone is not treated as a token receipt. The12-unit example concerns display only; chain and contract identity remain explicit."
        ]
      }
    },
    {
      "id": "unsolicited-tokens-and-nfts-quick-answer",
      "articleSlug": "unsolicited-tokens-and-nfts",
      "statement": "An unknown token or NFT can be sent to your public address without your consent. Its appearance is not evidence that someone knows your private key or that a reward is legitimate. The danger often begins when its name, image or website persuades you to reveal secrets, sign an authorization or approve access to valuable assets.",
      "sourceIds": [
        "source-de5bad1c1751e718",
        "source-83ec2d5a18d94ce1",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-de5bad1c1751e718",
          "locator": "Airdrop scams; unsolicited tokens"
        },
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask airdrop guide confirms unsolicited delivery and malicious metadata links. Source ethereum.org contains an erroneous approval-exposes-private-keys sentence, which the draft correctly does not reproduce. Approval example checked against ERC721 separately; hiding does not revoke a contract permission."
        ]
      }
    },
    {
      "id": "unsolicited-tokens-and-nfts-fact-receipt",
      "articleSlug": "unsolicited-tokens-and-nfts",
      "statement": "Receipt: Receiving an unsolicited NFT does not require an ordinary wallet login.",
      "sourceIds": [
        "source-de5bad1c1751e718",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-de5bad1c1751e718",
          "locator": "Airdrop scams; unsolicited tokens"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask airdrop guide confirms unsolicited delivery and malicious metadata links. Source ethereum.org contains an erroneous approval-exposes-private-keys sentence, which the draft correctly does not reproduce. Approval example checked against ERC721 separately; hiding does not revoke a contract permission."
        ]
      }
    },
    {
      "id": "unsolicited-tokens-and-nfts-fact-bait",
      "articleSlug": "unsolicited-tokens-and-nfts",
      "statement": "Bait: Airdrop metadata can direct recipients to phishing sites.",
      "sourceIds": [
        "source-de5bad1c1751e718"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-de5bad1c1751e718",
          "locator": "Airdrop scams; unsolicited tokens"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask airdrop guide confirms unsolicited delivery and malicious metadata links. Source ethereum.org contains an erroneous approval-exposes-private-keys sentence, which the draft correctly does not reproduce. Approval example checked against ERC721 separately; hiding does not revoke a contract permission."
        ]
      }
    },
    {
      "id": "unsolicited-tokens-and-nfts-fact-hiding",
      "articleSlug": "unsolicited-tokens-and-nfts",
      "statement": "Hiding: An interface can hide an asset without transferring it.",
      "sourceIds": [
        "source-85b8c7c22a802fdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-85b8c7c22a802fdd",
          "locator": "Enhanced detection; custom tokens; hiding tokens"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask airdrop guide confirms unsolicited delivery and malicious metadata links. Source ethereum.org contains an erroneous approval-exposes-private-keys sentence, which the draft correctly does not reproduce. Approval example checked against ERC721 separately; hiding does not revoke a contract permission."
        ]
      }
    },
    {
      "id": "wallet-phishing-websites-quick-answer",
      "articleSlug": "wallet-phishing-websites",
      "statement": "Wallet phishing imitates a trusted application or support service to obtain secrets or signatures. A familiar logo, search placement or wallet connection button does not establish authenticity. Reach the service through an independently checked domain, never give a site your recovery phrase, and inspect the actual wallet request even on a site you recognize.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1",
        "source-de5bad1c1751e718"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        },
        {
          "sourceId": "source-de5bad1c1751e718",
          "locator": "Airdrop scams; unsolicited tokens"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh security source supports impersonation, seed disclosure and destination checks; EIP1193 defines provider/wallet boundary and public account exposure. Draft distinguishes broad token authority from secret disclosure, avoiding the source's inaccurate approval sentence."
        ]
      }
    },
    {
      "id": "wallet-phishing-websites-fact-secrets",
      "articleSlug": "wallet-phishing-websites",
      "statement": "Secrets: Recovery phrases and private keys can give an attacker account control.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh security source supports impersonation, seed disclosure and destination checks; EIP1193 defines provider/wallet boundary and public account exposure. Draft distinguishes broad token authority from secret disclosure, avoiding the source's inaccurate approval sentence."
        ]
      }
    },
    {
      "id": "wallet-phishing-websites-fact-imitation",
      "articleSlug": "wallet-phishing-websites",
      "statement": "Imitation: Phishing sites can copy familiar wallet branding.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh security source supports impersonation, seed disclosure and destination checks; EIP1193 defines provider/wallet boundary and public account exposure. Draft distinguishes broad token authority from secret disclosure, avoiding the source's inaccurate approval sentence."
        ]
      }
    },
    {
      "id": "wallet-phishing-websites-fact-authorization",
      "articleSlug": "wallet-phishing-websites",
      "statement": "Authorization: A connection prompt and an asset-spending approval are different requests.",
      "sourceIds": [
        "source-b0746cbddfc23325",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Provider errors; connectivity; request"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh security source supports impersonation, seed disclosure and destination checks; EIP1193 defines provider/wallet boundary and public account exposure. Draft distinguishes broad token authority from secret disclosure, avoiding the source's inaccurate approval sentence."
        ]
      }
    },
    {
      "id": "hardware-wallets-for-ethereum-quick-answer",
      "articleSlug": "hardware-wallets-for-ethereum",
      "statement": "A hardware wallet keeps signing keys on a separate device and authorizes signatures there, while a software interface prepares requests and displays blockchain data. This reduces exposure of keys to the connected computer. It does not make a malicious transaction safe when you approve it, nor protect a recovery phrase that is disclosed elsewhere.",
      "sourceIds": [
        "source-20fd0881c1052faa",
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20fd0881c1052faa",
          "locator": "Hardware-wallet signing and connection"
        },
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask hardware guide establishes separate device keys and physical approval. Broad operator approval remains dangerous without exporting keys, checked against ERC721. No absolute malware or authenticity guarantee and no current device recommendation."
        ]
      }
    },
    {
      "id": "hardware-wallets-for-ethereum-fact-keys",
      "articleSlug": "hardware-wallets-for-ethereum",
      "statement": "Keys: The hardware device holds the signing keys.",
      "sourceIds": [
        "source-20fd0881c1052faa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20fd0881c1052faa",
          "locator": "Hardware-wallet signing and connection"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask hardware guide establishes separate device keys and physical approval. Broad operator approval remains dangerous without exporting keys, checked against ERC721. No absolute malware or authenticity guarantee and no current device recommendation."
        ]
      }
    },
    {
      "id": "hardware-wallets-for-ethereum-fact-interface",
      "articleSlug": "hardware-wallets-for-ethereum",
      "statement": "Interface: Wallet software can connect to the device without importing its seed.",
      "sourceIds": [
        "source-20fd0881c1052faa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-20fd0881c1052faa",
          "locator": "Hardware-wallet signing and connection"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask hardware guide establishes separate device keys and physical approval. Broad operator approval remains dangerous without exporting keys, checked against ERC721. No absolute malware or authenticity guarantee and no current device recommendation."
        ]
      }
    },
    {
      "id": "hardware-wallets-for-ethereum-fact-approval",
      "articleSlug": "hardware-wallets-for-ethereum",
      "statement": "Approval: Signing an unwanted authorization can still put assets at risk.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask hardware guide establishes separate device keys and physical approval. Broad operator approval remains dangerous without exporting keys, checked against ERC721. No absolute malware or authenticity guarantee and no current device recommendation."
        ]
      }
    },
    {
      "id": "ethereum-wallet-derivation-paths-quick-answer",
      "articleSlug": "ethereum-wallet-derivation-paths",
      "statement": "A derivation path tells a compatible wallet which branch of a deterministic key tree to use. The same recovery phrase can produce many accounts, and wallets choosing different paths or indexes can display different addresses. Recovery therefore depends on both the correct secret and support for the original wallet’s derivation scheme.",
      "sourceIds": [
        "source-302a9de796759a11",
        "source-5462698695c02c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-302a9de796759a11",
          "locator": "Derivation path"
        },
        {
          "sourceId": "source-5462698695c02c41",
          "locator": "Path levels; account discovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask compatibility page explicitly limits phrase imports to the default BIP44 path and separately documents hardware path choices. BIP44 hierarchy supports branch/index explanation. No invented example key and no claim that changing a path moves funds."
        ]
      }
    },
    {
      "id": "ethereum-wallet-derivation-paths-fact-hierarchy",
      "articleSlug": "ethereum-wallet-derivation-paths",
      "statement": "Hierarchy: BIP-44 defines purpose, coin, account, change and address-index levels.",
      "sourceIds": [
        "source-5462698695c02c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5462698695c02c41",
          "locator": "Path levels; account discovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask compatibility page explicitly limits phrase imports to the default BIP44 path and separately documents hardware path choices. BIP44 hierarchy supports branch/index explanation. No invented example key and no claim that changing a path moves funds."
        ]
      }
    },
    {
      "id": "ethereum-wallet-derivation-paths-fact-compatibility",
      "articleSlug": "ethereum-wallet-derivation-paths",
      "statement": "Compatibility: Wallets do not necessarily support identical derivation paths.",
      "sourceIds": [
        "source-302a9de796759a11"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-302a9de796759a11",
          "locator": "Derivation path"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask compatibility page explicitly limits phrase imports to the default BIP44 path and separately documents hardware path choices. BIP44 hierarchy supports branch/index explanation. No invented example key and no claim that changing a path moves funds."
        ]
      }
    },
    {
      "id": "ethereum-wallet-derivation-paths-fact-index",
      "articleSlug": "ethereum-wallet-derivation-paths",
      "statement": "Index: A different address index selects a different derived account.",
      "sourceIds": [
        "source-5462698695c02c41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5462698695c02c41",
          "locator": "Path levels; account discovery"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMask compatibility page explicitly limits phrase imports to the default BIP44 path and separately documents hardware path choices. BIP44 hierarchy supports branch/index explanation. No invented example key and no claim that changing a path moves funds."
        ]
      }
    },
    {
      "id": "walletconnect-sessions-quick-answer",
      "articleSlug": "walletconnect-sessions",
      "statement": "WalletConnect lets an application propose a session with a wallet, including requested chains, methods and events. The wallet accepts or rejects that proposal and shares approved public-account information. A session establishes a communication channel; each later signing request still has its own meaning, and disconnecting it does not undo permissions already recorded onchain.",
      "sourceIds": [
        "source-f68e098f51825a11",
        "source-56f17960afd8dbbe",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f68e098f51825a11",
          "locator": "Session proposal; namespaces; session requests"
        },
        {
          "sourceId": "source-56f17960afd8dbbe",
          "locator": "Definition; Session Namespaces; Approving a Session Response; Rejecting a Session Response"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Session Proposal page supports pairing and later separate signature requests, but detailed chains/methods/events fields require the linked Namespaces specification. Independently opened that primary specification; added direct citation and hash-recorded retrieval before sealing. ERC721 lasting approvals are separate contract state. Added x425-eth-walletconnect-namespaces to directanswer and relevantsections; fresh200bodyhashrecord in independentcache and catalogue."
        ]
      }
    },
    {
      "id": "walletconnect-sessions-fact-proposal",
      "articleSlug": "walletconnect-sessions",
      "statement": "Proposal: The application requests session capabilities.",
      "sourceIds": [
        "source-f68e098f51825a11"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f68e098f51825a11",
          "locator": "Session proposal; namespaces; session requests"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Session Proposal page supports pairing and later separate signature requests, but detailed chains/methods/events fields require the linked Namespaces specification. Independently opened that primary specification; added direct citation and hash-recorded retrieval before sealing. ERC721 lasting approvals are separate contract state. Added x425-eth-walletconnect-namespaces to directanswer and relevantsections; fresh200bodyhashrecord in independentcache and catalogue."
        ]
      }
    },
    {
      "id": "walletconnect-sessions-fact-approval",
      "articleSlug": "walletconnect-sessions",
      "statement": "Approval: The wallet controls whether the proposed session is accepted.",
      "sourceIds": [
        "source-f68e098f51825a11"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f68e098f51825a11",
          "locator": "Session proposal; namespaces; session requests"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Session Proposal page supports pairing and later separate signature requests, but detailed chains/methods/events fields require the linked Namespaces specification. Independently opened that primary specification; added direct citation and hash-recorded retrieval before sealing. ERC721 lasting approvals are separate contract state. Added x425-eth-walletconnect-namespaces to directanswer and relevantsections; fresh200bodyhashrecord in independentcache and catalogue."
        ]
      }
    },
    {
      "id": "walletconnect-sessions-fact-separate-state",
      "articleSlug": "walletconnect-sessions",
      "statement": "Separate state: Onchain operator approval belongs to the token contract.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Session Proposal page supports pairing and later separate signature requests, but detailed chains/methods/events fields require the linked Namespaces specification. Independently opened that primary specification; added direct citation and hash-recorded retrieval before sealing. ERC721 lasting approvals are separate contract state. Added x425-eth-walletconnect-namespaces to directanswer and relevantsections; fresh200bodyhashrecord in independentcache and catalogue."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-quick-answer",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "An RPC endpoint receives the requests sent to it. Ethereum balance queries can contain an account address; transaction lookups can reveal which activity you are checking. Because onchain activity is public, those requests can add context about your interests. Running your own node reduces dependence on a third-party query provider, but does not make public transactions private.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-81c7c6821c46702f",
        "source-236481753b554345"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        },
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        },
        {
          "sourceId": "source-236481753b554345",
          "locator": "Public ledger; wallet and network privacy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-balance-query",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Balance query: eth_getBalance includes the address being queried.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-transaction-lookup",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Transaction lookup: RPC methods can request a particular transaction or receipt.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-public-activity",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Public activity: Ethereum’s public ledger can reveal transaction relationships.",
      "sourceIds": [
        "source-236481753b554345"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-236481753b554345",
          "locator": "Public ledger; wallet and network privacy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-send-max-balance-quick-answer",
      "articleSlug": "ethereum-send-max-balance",
      "statement": "An ordinary Ethereum transaction must cover both the ETH it sends and its gas cost. A wallet’s Max button therefore reserves a fee budget instead of sending the entire displayed balance. The final charge depends on actual gas use and the effective gas price, so a conservative fee allowance can leave a small remainder. Contract interactions may need more gas than a simple transfer.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh gas guide supports fee units, unused gas, fee caps and more complex execution. Independently recomputed21000*30gwei=.00063ETH; .1-.00063=.09937ETH;21000*20gwei=.00042ETH; remainder .00021ETH. Plain-transfer21k assumption stated; sponsored flows qualified."
        ]
      }
    },
    {
      "id": "ethereum-send-max-balance-fact-budget",
      "articleSlug": "ethereum-send-max-balance",
      "statement": "Budget: Transaction value and gas payment both require funds.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh gas guide supports fee units, unused gas, fee caps and more complex execution. Independently recomputed21000*30gwei=.00063ETH; .1-.00063=.09937ETH;21000*20gwei=.00042ETH; remainder .00021ETH. Plain-transfer21k assumption stated; sponsored flows qualified."
        ]
      }
    },
    {
      "id": "ethereum-send-max-balance-fact-unused-gas",
      "articleSlug": "ethereum-send-max-balance",
      "statement": "Unused gas: Unused gas from the limit is not charged as if it were consumed.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh gas guide supports fee units, unused gas, fee caps and more complex execution. Independently recomputed21000*30gwei=.00063ETH; .1-.00063=.09937ETH;21000*20gwei=.00042ETH; remainder .00021ETH. Plain-transfer21k assumption stated; sponsored flows qualified."
        ]
      }
    },
    {
      "id": "ethereum-send-max-balance-fact-variable-cost",
      "articleSlug": "ethereum-send-max-balance",
      "statement": "Variable cost: Contract execution can require more gas than a simple ETH transfer.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh gas guide supports fee units, unused gas, fee caps and more complex execution. Independently recomputed21000*30gwei=.00063ETH; .1-.00063=.09937ETH;21000*20gwei=.00042ETH; remainder .00021ETH. Plain-transfer21k assumption stated; sponsored flows qualified."
        ]
      }
    },
    {
      "id": "ethereum-dapp-connection-errors-quick-answer",
      "articleSlug": "ethereum-dapp-connection-errors",
      "statement": "A dapp connection failure may mean the user rejected a request, the app lacks account permission, the requested method is unsupported or the provider cannot serve the chain. These are distinct from an onchain transaction reverting. Check the selected wallet, requested account and network, then inspect the precise error before changing settings or resubmitting transactions.",
      "sourceIds": [
        "source-b0746cbddfc23325",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Provider errors; connectivity; request"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "EIP1193 defines4001 rejection,4100 unauthorized and4901 unavailable requested chain while another is connected. Receipt API confirms included execution must be checked separately. No unnecessary seed/reinstall advice or gas charge implied for every provider error."
        ]
      }
    },
    {
      "id": "ethereum-dapp-connection-errors-fact-4001",
      "articleSlug": "ethereum-dapp-connection-errors",
      "statement": "4001: EIP-1193 defines this error for a user-rejected request.",
      "sourceIds": [
        "source-b0746cbddfc23325"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Provider errors; connectivity; request"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "EIP1193 defines4001 rejection,4100 unauthorized and4901 unavailable requested chain while another is connected. Receipt API confirms included execution must be checked separately. No unnecessary seed/reinstall advice or gas charge implied for every provider error."
        ]
      }
    },
    {
      "id": "ethereum-dapp-connection-errors-fact-4100",
      "articleSlug": "ethereum-dapp-connection-errors",
      "statement": "4100: This error indicates the requested method or account is unauthorized.",
      "sourceIds": [
        "source-b0746cbddfc23325"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Provider errors; connectivity; request"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "EIP1193 defines4001 rejection,4100 unauthorized and4901 unavailable requested chain while another is connected. Receipt API confirms included execution must be checked separately. No unnecessary seed/reinstall advice or gas charge implied for every provider error."
        ]
      }
    },
    {
      "id": "ethereum-dapp-connection-errors-fact-4901",
      "articleSlug": "ethereum-dapp-connection-errors",
      "statement": "4901: The provider is disconnected from the requested chain while connected to another.",
      "sourceIds": [
        "source-b0746cbddfc23325"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0746cbddfc23325",
          "locator": "Provider errors; connectivity; request"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "EIP1193 defines4001 rejection,4100 unauthorized and4901 unavailable requested chain while another is connected. Receipt API confirms included execution must be checked separately. No unnecessary seed/reinstall advice or gas charge implied for every provider error."
        ]
      }
    },
    {
      "id": "sign-in-with-ethereum-quick-answer",
      "articleSlug": "sign-in-with-ethereum",
      "statement": "Sign-In with Ethereum uses a structured message and wallet signature to authenticate control of an Ethereum account to a service. EIP-4361 includes the requesting domain, URI, chain ID, nonce and issue time so the verifier can bind the signature to a particular login context. A valid login does not by itself prove a real-world identity or make the service trustworthy.",
      "sourceIds": [
        "source-bafbb5becc12abdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bafbb5becc12abdd",
          "locator": "Message format; verifying messages; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC4361 message fields, origin verification, relying-party steps and contract-account validation. Domain/URI/nonce/time/context checks are required alongside signature validity. Contract validation tied to chain ID; account authentication not legal identity or an asset permission."
        ]
      }
    },
    {
      "id": "sign-in-with-ethereum-fact-context",
      "articleSlug": "sign-in-with-ethereum",
      "statement": "Context: The message includes domain, URI and chain ID.",
      "sourceIds": [
        "source-bafbb5becc12abdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bafbb5becc12abdd",
          "locator": "Message format; verifying messages; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC4361 message fields, origin verification, relying-party steps and contract-account validation. Domain/URI/nonce/time/context checks are required alongside signature validity. Contract validation tied to chain ID; account authentication not legal identity or an asset permission."
        ]
      }
    },
    {
      "id": "sign-in-with-ethereum-fact-replay-protection",
      "articleSlug": "sign-in-with-ethereum",
      "statement": "Replay protection: A verifier checks the nonce and applicable time constraints.",
      "sourceIds": [
        "source-bafbb5becc12abdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bafbb5becc12abdd",
          "locator": "Message format; verifying messages; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC4361 message fields, origin verification, relying-party steps and contract-account validation. Domain/URI/nonce/time/context checks are required alongside signature validity. Contract validation tied to chain ID; account authentication not legal identity or an asset permission."
        ]
      }
    },
    {
      "id": "sign-in-with-ethereum-fact-purpose",
      "articleSlug": "sign-in-with-ethereum",
      "statement": "Purpose: SIWE authenticates an account for an offchain session.",
      "sourceIds": [
        "source-bafbb5becc12abdd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bafbb5becc12abdd",
          "locator": "Message format; verifying messages; security considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC4361 message fields, origin verification, relying-party steps and contract-account validation. Domain/URI/nonce/time/context checks are required alongside signature validity. Contract validation tied to chain ID; account authentication not legal identity or an asset permission."
        ]
      }
    },
    {
      "id": "what-is-ens-quick-answer",
      "articleSlug": "what-is-ens",
      "statement": "ENS, the Ethereum Name Service, maps human-readable names to records such as cryptocurrency addresses. A registry identifies name control and the resolver responsible for records; the resolver supplies the requested information. An ENS name is a label for destinations and data, not the wallet itself, and owning a name does not establish a verified real-world identity.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3",
        "source-9b4fe04b40d00867",
        "source-fb90e1f6259646dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        },
        {
          "sourceId": "source-9b4fe04b40d00867",
          "locator": "Resolving addresses; multicoin lookup"
        },
        {
          "sourceId": "source-fb90e1f6259646dd",
          "locator": "Expiry; grace period; wallet access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh ENS terminology directly supports registry owner/resolver/TTL and distinct registrar ownership. Resolution supports multicoin/chain records. Expiry support confirms name loss leaves wallet keys/assets unchanged; no identity endorsement inferred."
        ]
      }
    },
    {
      "id": "what-is-ens-fact-registry",
      "articleSlug": "what-is-ens",
      "statement": "Registry: The registry records a name’s owner, resolver and cache hint.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh ENS terminology directly supports registry owner/resolver/TTL and distinct registrar ownership. Resolution supports multicoin/chain records. Expiry support confirms name loss leaves wallet keys/assets unchanged; no identity endorsement inferred."
        ]
      }
    },
    {
      "id": "what-is-ens-fact-resolver",
      "articleSlug": "what-is-ens",
      "statement": "Resolver: A resolver supplies records such as payment addresses.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh ENS terminology directly supports registry owner/resolver/TTL and distinct registrar ownership. Resolution supports multicoin/chain records. Expiry support confirms name loss leaves wallet keys/assets unchanged; no identity endorsement inferred."
        ]
      }
    },
    {
      "id": "what-is-ens-fact-wallet-access",
      "articleSlug": "what-is-ens",
      "statement": "Wallet access: Losing a name does not change the associated account’s private key.",
      "sourceIds": [
        "source-fb90e1f6259646dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb90e1f6259646dd",
          "locator": "Expiry; grace period; wallet access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh ENS terminology directly supports registry owner/resolver/TTL and distinct registrar ownership. Resolution supports multicoin/chain records. Expiry support confirms name loss leaves wallet keys/assets unchanged; no identity endorsement inferred."
        ]
      }
    },
    {
      "id": "ens-name-registration-quick-answer",
      "articleSlug": "ens-name-registration",
      "statement": "In ENSv1’s .eth registrar, registration uses a commitment followed by a separate registration transaction after the required wait. The commitment hides the requested registration details to reduce front-running. Check availability, duration, the intended owner and the current quoted cost; registration rent and Ethereum transaction gas are separate costs. Other registrars or ENS versions can use different flows.",
      "sourceIds": [
        "source-50f4215631218b71",
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read registrar commit/register code and documented commitment-age constraints. Parameters include name, owner,duration,secret,resolver,data. Draft avoids unstable prices and exact wait defaults; anyone-renew permission expressly documented. Explicit ENSv1 scope prevents assuming newer registrar behavior."
        ]
      }
    },
    {
      "id": "ens-name-registration-fact-two-steps",
      "articleSlug": "ens-name-registration",
      "statement": "Two steps: ENSv1 .eth uses commit and reveal through its registrar controller.",
      "sourceIds": [
        "source-50f4215631218b71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read registrar commit/register code and documented commitment-age constraints. Parameters include name, owner,duration,secret,resolver,data. Draft avoids unstable prices and exact wait defaults; anyone-renew permission expressly documented. Explicit ENSv1 scope prevents assuming newer registrar behavior."
        ]
      }
    },
    {
      "id": "ens-name-registration-fact-duration",
      "articleSlug": "ens-name-registration",
      "statement": "Duration: Registration has an expiry rather than permanent ownership.",
      "sourceIds": [
        "source-50f4215631218b71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read registrar commit/register code and documented commitment-age constraints. Parameters include name, owner,duration,secret,resolver,data. Draft avoids unstable prices and exact wait defaults; anyone-renew permission expressly documented. Explicit ENSv1 scope prevents assuming newer registrar behavior."
        ]
      }
    },
    {
      "id": "ens-name-registration-fact-records",
      "articleSlug": "ens-name-registration",
      "statement": "Records: Choosing an owner and setting address records serve different purposes.",
      "sourceIds": [
        "source-50f4215631218b71",
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        },
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read registrar commit/register code and documented commitment-age constraints. Parameters include name, owner,duration,secret,resolver,data. Draft avoids unstable prices and exact wait defaults; anyone-renew permission expressly documented. Explicit ENSv1 scope prevents assuming newer registrar behavior."
        ]
      }
    },
    {
      "id": "ens-renewal-and-expiration-quick-answer",
      "articleSlug": "ens-renewal-and-expiration",
      "statement": "An ENSv1 .eth registration needs renewal to retain its name rights. The documented registrar provides a 90-day grace period after expiry, followed by a temporary-premium registration phase if it is not renewed. Expiry affects the name and its routing usefulness, not the private key or assets of the wallet it previously pointed to. Check the specific registrar: subnames, DNS names and other ENS versions can differ.",
      "sourceIds": [
        "source-50f4215631218b71",
        "source-fb90e1f6259646dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        },
        {
          "sourceId": "source-fb90e1f6259646dd",
          "locator": "Expiry; grace period; wallet access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Registrar/support documents90day grace then temporary premium; aftergrace registration insteadof renewal. Draft correctly separates wallet authority and name routing, and does not generalize90days to DNS/subnames. No unconditional claim that all wrapper operations work during grace."
        ]
      }
    },
    {
      "id": "ens-renewal-and-expiration-fact-scope",
      "articleSlug": "ens-renewal-and-expiration",
      "statement": "Scope: The 90-day period here is the documented ENSv1 .eth grace period.",
      "sourceIds": [
        "source-50f4215631218b71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Registrar/support documents90day grace then temporary premium; aftergrace registration insteadof renewal. Draft correctly separates wallet authority and name routing, and does not generalize90days to DNS/subnames. No unconditional claim that all wrapper operations work during grace."
        ]
      }
    },
    {
      "id": "ens-renewal-and-expiration-fact-after-grace",
      "articleSlug": "ens-renewal-and-expiration",
      "statement": "After grace: The name must be registered anew rather than renewed.",
      "sourceIds": [
        "source-fb90e1f6259646dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb90e1f6259646dd",
          "locator": "Expiry; grace period; wallet access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Registrar/support documents90day grace then temporary premium; aftergrace registration insteadof renewal. Draft correctly separates wallet authority and name routing, and does not generalize90days to DNS/subnames. No unconditional claim that all wrapper operations work during grace."
        ]
      }
    },
    {
      "id": "ens-renewal-and-expiration-fact-assets",
      "articleSlug": "ens-renewal-and-expiration",
      "statement": "Assets: An expired label does not transfer the previous wallet’s funds.",
      "sourceIds": [
        "source-fb90e1f6259646dd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb90e1f6259646dd",
          "locator": "Expiry; grace period; wallet access"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Registrar/support documents90day grace then temporary premium; aftergrace registration insteadof renewal. Draft correctly separates wallet authority and name routing, and does not generalize90days to DNS/subnames. No unconditional claim that all wrapper operations work during grace."
        ]
      }
    },
    {
      "id": "ens-owner-manager-resolver-quick-answer",
      "articleSlug": "ens-owner-manager-resolver",
      "statement": "ENS separates the right to a registration, authority to manage a name and the resolver contract that answers record queries. For an unwrapped ENSv1 .eth name, registration ownership and registry management can be separate. Wrapping changes that arrangement. Before transferring a name, check its registrar, wrapped state, controlling accounts and published records rather than assuming all roles are one address.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3",
        "source-50f4215631218b71",
        "source-61280280e90de6db"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        },
        {
          "sourceId": "source-50f4215631218b71",
          "locator": "Registering a name; commit-reveal; renewals"
        },
        {
          "sourceId": "source-61280280e90de6db",
          "locator": "Wrapped names; subnames; permissions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Terminology and NameWrapper overview establish registrar versus registry roles and wrapped Owner/Manager unification. Resolver not necessarily owner; payment recipient not registration owner. Fuses restrict transfers, qualified by wrapped state/expiry."
        ]
      }
    },
    {
      "id": "ens-owner-manager-resolver-fact-registration",
      "articleSlug": "ens-owner-manager-resolver",
      "statement": "Registration: The registrar tracks registration ownership and expiry.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Terminology and NameWrapper overview establish registrar versus registry roles and wrapped Owner/Manager unification. Resolver not necessarily owner; payment recipient not registration owner. Fuses restrict transfers, qualified by wrapped state/expiry."
        ]
      }
    },
    {
      "id": "ens-owner-manager-resolver-fact-management",
      "articleSlug": "ens-owner-manager-resolver",
      "statement": "Management: The manager can edit records subject to the name’s control rules.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Terminology and NameWrapper overview establish registrar versus registry roles and wrapped Owner/Manager unification. Resolver not necessarily owner; payment recipient not registration owner. Fuses restrict transfers, qualified by wrapped state/expiry."
        ]
      }
    },
    {
      "id": "ens-owner-manager-resolver-fact-resolver",
      "articleSlug": "ens-owner-manager-resolver",
      "statement": "Resolver: The resolver is a contract serving records, not necessarily the owner.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Terminology and NameWrapper overview establish registrar versus registry roles and wrapped Owner/Manager unification. Resolver not necessarily owner; payment recipient not registration owner. Fuses restrict transfers, qualified by wrapped state/expiry."
        ]
      }
    },
    {
      "id": "ens-primary-name-quick-answer",
      "articleSlug": "ens-primary-name",
      "statement": "An ENS primary name links an address back to a name and verifies that the name resolves forward to the same address in the relevant chain context. A reverse record alone is insufficient. If the two directions disagree, an application should display the address instead of accepting the claimed name.",
      "sourceIds": [
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Primary Names guide explicitly requires forward/reverse match in chain context and gives Base mismatch example. Default reverse and default EVM record support verified. Draft excludes stale library-adoption and fixed propagation estimates."
        ]
      }
    },
    {
      "id": "ens-primary-name-fact-forward",
      "articleSlug": "ens-primary-name",
      "statement": "Forward: Name-to-address lookup supplies the payment destination.",
      "sourceIds": [
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Primary Names guide explicitly requires forward/reverse match in chain context and gives Base mismatch example. Default reverse and default EVM record support verified. Draft excludes stale library-adoption and fixed propagation estimates."
        ]
      }
    },
    {
      "id": "ens-primary-name-fact-reverse",
      "articleSlug": "ens-primary-name",
      "statement": "Reverse: Address-to-name lookup supplies a candidate display name.",
      "sourceIds": [
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Primary Names guide explicitly requires forward/reverse match in chain context and gives Base mismatch example. Default reverse and default EVM record support verified. Draft excludes stale library-adoption and fixed propagation estimates."
        ]
      }
    },
    {
      "id": "ens-primary-name-fact-verification",
      "articleSlug": "ens-primary-name",
      "statement": "Verification: The candidate must resolve back to the original address.",
      "sourceIds": [
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Primary Names guide explicitly requires forward/reverse match in chain context and gives Base mismatch example. Default reverse and default EVM record support verified. Draft excludes stale library-adoption and fixed propagation estimates."
        ]
      }
    },
    {
      "id": "ens-address-records-quick-answer",
      "articleSlug": "ens-address-records",
      "statement": "An ENS name can store different address records for different coins or EVM chains. A wallet must resolve the record appropriate to the transfer it is preparing. The Ethereum mainnet address record is not proof that every other network uses the same recipient, and updating a record does not move or bridge any existing funds.",
      "sourceIds": [
        "source-9b4fe04b40d00867",
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b4fe04b40d00867",
          "locator": "Resolving addresses; multicoin lookup"
        },
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Address Lookup specifies coin types and ENSIP11 mapping for EVM chains; Primary Names supports default EVM fallback. Record mutation is routing change, not fund movement. No arbitrary assumption that same-looking addresses have identical authority cross-chain."
        ]
      }
    },
    {
      "id": "ens-address-records-fact-multiple-records",
      "articleSlug": "ens-address-records",
      "statement": "Multiple records: ENS resolution can return coin-specific or chain-specific addresses.",
      "sourceIds": [
        "source-9b4fe04b40d00867"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b4fe04b40d00867",
          "locator": "Resolving addresses; multicoin lookup"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Address Lookup specifies coin types and ENSIP11 mapping for EVM chains; Primary Names supports default EVM fallback. Record mutation is routing change, not fund movement. No arbitrary assumption that same-looking addresses have identical authority cross-chain."
        ]
      }
    },
    {
      "id": "ens-address-records-fact-chain-context",
      "articleSlug": "ens-address-records",
      "statement": "Chain context: EVM-chain address records use defined coin-type mappings.",
      "sourceIds": [
        "source-9b4fe04b40d00867"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b4fe04b40d00867",
          "locator": "Resolving addresses; multicoin lookup"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Address Lookup specifies coin types and ENSIP11 mapping for EVM chains; Primary Names supports default EVM fallback. Record mutation is routing change, not fund movement. No arbitrary assumption that same-looking addresses have identical authority cross-chain."
        ]
      }
    },
    {
      "id": "ens-address-records-fact-default-support",
      "articleSlug": "ens-address-records",
      "statement": "Default support: Supported default EVM records can act as a fallback.",
      "sourceIds": [
        "source-8e756b4d7083a59e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8e756b4d7083a59e",
          "locator": "Primary names; reverse resolution; verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Address Lookup specifies coin types and ENSIP11 mapping for EVM chains; Primary Names supports default EVM fallback. Record mutation is routing change, not fund movement. No arbitrary assumption that same-looking addresses have identical authority cross-chain."
        ]
      }
    },
    {
      "id": "ens-subnames-quick-answer",
      "articleSlug": "ens-subnames",
      "statement": "An ENS subname is a child name, such as a team member’s label beneath an organization’s name. Its rights depend on the parent’s registrar and permission design. ENS’s Name Wrapper can restrict parent control using fuses, but those restrictions and the child’s expiry must be inspected. A subname is not automatically permanent or independent of its parent.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3",
        "source-61280280e90de6db",
        "source-a2283706a3e288fd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        },
        {
          "sourceId": "source-61280280e90de6db",
          "locator": "Wrapped names; subnames; permissions"
        },
        {
          "sourceId": "source-a2283706a3e288fd",
          "locator": "Expiry; parent and child names"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Wrapper expiry states child maximum at parent expiry, permits shorter child, and explicitly says parent renewal does not automatically extend children. CAN_EXTEND_EXPIRY and parent extension permissions support scopedrenewal discussion. Emancipation is not described as removing all dependencies."
        ]
      }
    },
    {
      "id": "ens-subnames-fact-hierarchy",
      "articleSlug": "ens-subnames",
      "statement": "Hierarchy: Every non-root ENS name has a parent.",
      "sourceIds": [
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Wrapper expiry states child maximum at parent expiry, permits shorter child, and explicitly says parent renewal does not automatically extend children. CAN_EXTEND_EXPIRY and parent extension permissions support scopedrenewal discussion. Emancipation is not described as removing all dependencies."
        ]
      }
    },
    {
      "id": "ens-subnames-fact-permissions",
      "articleSlug": "ens-subnames",
      "statement": "Permissions: Wrapped-name fuses can limit owner or parent actions.",
      "sourceIds": [
        "source-61280280e90de6db"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-61280280e90de6db",
          "locator": "Wrapped names; subnames; permissions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Wrapper expiry states child maximum at parent expiry, permits shorter child, and explicitly says parent renewal does not automatically extend children. CAN_EXTEND_EXPIRY and parent extension permissions support scopedrenewal discussion. Emancipation is not described as removing all dependencies."
        ]
      }
    },
    {
      "id": "ens-subnames-fact-expiry",
      "articleSlug": "ens-subnames",
      "statement": "Expiry: A wrapped child’s expiry cannot extend beyond its parent’s permitted expiry.",
      "sourceIds": [
        "source-a2283706a3e288fd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2283706a3e288fd",
          "locator": "Expiry; parent and child names"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Wrapper expiry states child maximum at parent expiry, permits shorter child, and explicitly says parent renewal does not automatically extend children. CAN_EXTEND_EXPIRY and parent extension permissions support scopedrenewal discussion. Emancipation is not described as removing all dependencies."
        ]
      }
    },
    {
      "id": "ens-name-normalization-quick-answer",
      "articleSlug": "ens-name-normalization",
      "statement": "ENS name normalization turns allowed input into a consistent form and rejects disallowed sequences before name processing. ENSIP-15 handles rules beyond simple lowercasing, including Unicode constraints. Normalization helps applications agree on the name being looked up; it does not prove the name owner is the person or organization you intend to pay.",
      "sourceIds": [
        "source-67a5d9792baea5d3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67a5d9792baea5d3",
          "locator": "Normalization; ENSIP-15; namehash"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Name Processing mandates normalization before hashes and identifies ENSIP15 with Unicode constraints. ASCIIExample.EtH->example.eth matches documented case behavior; draft doesnotgeneralize lowercasing to Unicode or validname to identity."
        ]
      }
    },
    {
      "id": "ens-name-normalization-fact-consistency",
      "articleSlug": "ens-name-normalization",
      "statement": "Consistency: Normalization precedes reliable name hashing and lookup.",
      "sourceIds": [
        "source-67a5d9792baea5d3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67a5d9792baea5d3",
          "locator": "Normalization; ENSIP-15; namehash"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Name Processing mandates normalization before hashes and identifies ENSIP15 with Unicode constraints. ASCIIExample.EtH->example.eth matches documented case behavior; draft doesnotgeneralize lowercasing to Unicode or validname to identity."
        ]
      }
    },
    {
      "id": "ens-name-normalization-fact-unicode",
      "articleSlug": "ens-name-normalization",
      "statement": "Unicode: ENSIP-15 is more than converting ASCII capitals to lowercase.",
      "sourceIds": [
        "source-67a5d9792baea5d3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67a5d9792baea5d3",
          "locator": "Normalization; ENSIP-15; namehash"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Name Processing mandates normalization before hashes and identifies ENSIP15 with Unicode constraints. ASCIIExample.EtH->example.eth matches documented case behavior; draft doesnotgeneralize lowercasing to Unicode or validname to identity."
        ]
      }
    },
    {
      "id": "ens-name-normalization-fact-identity",
      "articleSlug": "ens-name-normalization",
      "statement": "Identity: A syntactically valid name is not an identity certificate.",
      "sourceIds": [
        "source-67a5d9792baea5d3",
        "source-0314bf4e15f4a3c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67a5d9792baea5d3",
          "locator": "Normalization; ENSIP-15; namehash"
        },
        {
          "sourceId": "source-0314bf4e15f4a3c3",
          "locator": "Owner; controller; resolver; registrant"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh Name Processing mandates normalization before hashes and identifies ENSIP15 with Unicode constraints. ASCIIExample.EtH->example.eth matches documented case behavior; draft doesnotgeneralize lowercasing to Unicode or validname to identity."
        ]
      }
    },
    {
      "id": "nft-minting-quick-answer",
      "articleSlug": "nft-minting",
      "statement": "Minting creates a token within a particular NFT contract. The contract determines who can mint, what it costs and who receives the token; ERC-721 does not prescribe one universal public mint function. A successful mint should be checked through the resulting ownership or balance and relevant events, not just a website’s celebration screen.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "ERC721 expressly leaves mint/burn functions outside required API. Read Transfer event creation exception and ordinary-mint scope, ERC1155 creation events and ownership queries. .02+.001=.021ETH; gas paid doesnotprove successfulmint."
        ]
      }
    },
    {
      "id": "nft-minting-fact-creation",
      "articleSlug": "nft-minting",
      "statement": "Creation: Minting creates tokens; transferring changes an existing holding.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "ERC721 expressly leaves mint/burn functions outside required API. Read Transfer event creation exception and ordinary-mint scope, ERC1155 creation events and ownership queries. .02+.001=.021ETH; gas paid doesnotprove successfulmint."
        ]
      }
    },
    {
      "id": "nft-minting-fact-contract-rules",
      "articleSlug": "nft-minting",
      "statement": "Contract rules: Mint interfaces and eligibility are implementation-specific.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "ERC721 expressly leaves mint/burn functions outside required API. Read Transfer event creation exception and ordinary-mint scope, ERC1155 creation events and ownership queries. .02+.001=.021ETH; gas paid doesnotprove successfulmint."
        ]
      }
    },
    {
      "id": "nft-minting-fact-fees",
      "articleSlug": "nft-minting",
      "statement": "Fees: A paid mint can require both its purchase value and transaction gas.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "ERC721 expressly leaves mint/burn functions outside required API. Read Transfer event creation exception and ordinary-mint scope, ERC1155 creation events and ownership queries. .02+.001=.021ETH; gas paid doesnotprove successfulmint."
        ]
      }
    },
    {
      "id": "nft-safe-transfers-quick-answer",
      "articleSlug": "nft-safe-transfers",
      "statement": "ERC-721 safeTransferFrom checks whether a contract recipient implements the required receiver response; otherwise the transfer reverts. ERC-1155 has corresponding receiver rules. “Safe” describes this contract-compatibility check. It does not confirm the recipient’s identity, promise the NFT can later be withdrawn or protect against sending to the wrong ordinary account.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC721 safeTransferFrom/code-size check/onERC721Received magic response and plain-transfer loss warning; ERC1155 correspondinghooks. Draft correctly limits safe to compatibility and allowswrongEOA or maliciousacceptor."
        ]
      }
    },
    {
      "id": "nft-safe-transfers-fact-erc-721-hook",
      "articleSlug": "nft-safe-transfers",
      "statement": "ERC-721 hook: A contract recipient must return the expected onERC721Received response.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC721 safeTransferFrom/code-size check/onERC721Received magic response and plain-transfer loss warning; ERC1155 correspondinghooks. Draft correctly limits safe to compatibility and allowswrongEOA or maliciousacceptor."
        ]
      }
    },
    {
      "id": "nft-safe-transfers-fact-erc-1155-hook",
      "articleSlug": "nft-safe-transfers",
      "statement": "ERC-1155 hook: Single and batch transfers use corresponding receiver callbacks.",
      "sourceIds": [
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC721 safeTransferFrom/code-size check/onERC721Received magic response and plain-transfer loss warning; ERC1155 correspondinghooks. Draft correctly limits safe to compatibility and allowswrongEOA or maliciousacceptor."
        ]
      }
    },
    {
      "id": "nft-safe-transfers-fact-identity",
      "articleSlug": "nft-safe-transfers",
      "statement": "Identity: The receiver check concerns contract behavior, not a person’s identity.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC721 safeTransferFrom/code-size check/onERC721Received magic response and plain-transfer loss warning; ERC1155 correspondinghooks. Draft correctly limits safe to compatibility and allowswrongEOA or maliciousacceptor."
        ]
      }
    },
    {
      "id": "nft-operator-approvals-quick-answer",
      "articleSlug": "nft-operator-approvals",
      "statement": "An NFT operator approval can authorize another address to transfer all of your tokens within a particular NFT contract. ERC-721 also supports approval for an individual token; ERC-1155 uses its operator model across token IDs in that contract. The scope is the collection contract, not every asset in the wallet, and disconnecting a website does not revoke it.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read approve,getApproved,setApprovalForAll,isApprovedForAll and Transfer clears tokenapproval, plus ERC1155operator model. CollectionA3tokens/B1example respectscontractscope. Disconnecting session cannot modifyapprovalstate."
        ]
      }
    },
    {
      "id": "nft-operator-approvals-fact-collection-scope",
      "articleSlug": "nft-operator-approvals",
      "statement": "Collection scope: setApprovalForAll applies within the contract where it is called.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read approve,getApproved,setApprovalForAll,isApprovedForAll and Transfer clears tokenapproval, plus ERC1155operator model. CollectionA3tokens/B1example respectscontractscope. Disconnecting session cannot modifyapprovalstate."
        ]
      }
    },
    {
      "id": "nft-operator-approvals-fact-single-token",
      "articleSlug": "nft-operator-approvals",
      "statement": "Single token: ERC-721 approve can authorize a specific token ID.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read approve,getApproved,setApprovalForAll,isApprovedForAll and Transfer clears tokenapproval, plus ERC1155operator model. CollectionA3tokens/B1example respectscontractscope. Disconnecting session cannot modifyapprovalstate."
        ]
      }
    },
    {
      "id": "nft-operator-approvals-fact-revocation",
      "articleSlug": "nft-operator-approvals",
      "statement": "Revocation: An operator can be disabled with setApprovalForAll using false.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read approve,getApproved,setApprovalForAll,isApprovedForAll and Transfer clears tokenapproval, plus ERC1155operator model. CollectionA3tokens/B1example respectscontractscope. Disconnecting session cannot modifyapprovalstate."
        ]
      }
    },
    {
      "id": "nft-listings-and-offers-quick-answer",
      "articleSlug": "nft-listings-and-offers",
      "statement": "An NFT listing or offer can be a signed order that becomes executable later when its conditions, balances and approvals are satisfied. In Seaport, the order specifies offered items, required consideration, recipients and validity times. Signing it is different from granting token approval, but both can combine to enable a sale without another signature from the seller.",
      "sourceIds": [
        "source-8238f34edcff5d42"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8238f34edcff5d42",
          "locator": "Orders; fulfillment; cancellation; signatures"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Seaport Order,OrderFulfillment,BalanceandApprovalRequirements and cancellation/counter rules. Signedordersandconduitapprovaldistinct; qualifyingbalances,times,expiry,cancelled/filledstate support laterfulfillment. NoassumptionallmarketplacesuseSeaport."
        ]
      }
    },
    {
      "id": "nft-listings-and-offers-fact-offer",
      "articleSlug": "nft-listings-and-offers",
      "statement": "Offer: A Seaport order identifies items the offerer will supply.",
      "sourceIds": [
        "source-8238f34edcff5d42"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8238f34edcff5d42",
          "locator": "Orders; fulfillment; cancellation; signatures"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Seaport Order,OrderFulfillment,BalanceandApprovalRequirements and cancellation/counter rules. Signedordersandconduitapprovaldistinct; qualifyingbalances,times,expiry,cancelled/filledstate support laterfulfillment. NoassumptionallmarketplacesuseSeaport."
        ]
      }
    },
    {
      "id": "nft-listings-and-offers-fact-consideration",
      "articleSlug": "nft-listings-and-offers",
      "statement": "Consideration: It also identifies required items and their recipients.",
      "sourceIds": [
        "source-8238f34edcff5d42"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8238f34edcff5d42",
          "locator": "Orders; fulfillment; cancellation; signatures"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Seaport Order,OrderFulfillment,BalanceandApprovalRequirements and cancellation/counter rules. Signedordersandconduitapprovaldistinct; qualifyingbalances,times,expiry,cancelled/filledstate support laterfulfillment. NoassumptionallmarketplacesuseSeaport."
        ]
      }
    },
    {
      "id": "nft-listings-and-offers-fact-fulfillment",
      "articleSlug": "nft-listings-and-offers",
      "statement": "Fulfillment: Valid signatures, time bounds, balances and approvals affect executability.",
      "sourceIds": [
        "source-8238f34edcff5d42"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8238f34edcff5d42",
          "locator": "Orders; fulfillment; cancellation; signatures"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Seaport Order,OrderFulfillment,BalanceandApprovalRequirements and cancellation/counter rules. Signedordersandconduitapprovaldistinct; qualifyingbalances,times,expiry,cancelled/filledstate support laterfulfillment. NoassumptionallmarketplacesuseSeaport."
        ]
      }
    },
    {
      "id": "nft-royalties-quick-answer",
      "articleSlug": "nft-royalties",
      "statement": "ERC-2981 lets an NFT contract report a royalty recipient and amount for a given sale price. It standardizes royalty information, not automatic payment on every transfer. A marketplace or other seller must implement the payment behavior; an ordinary token transfer does not reveal whether a sale occurred or what its price was.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-query",
      "articleSlug": "nft-royalties",
      "statement": "Query: royaltyInfo returns a recipient and calculated amount.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-units",
      "articleSlug": "nft-royalties",
      "statement": "Units: The royalty amount uses the same monetary unit as the supplied sale price.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-enforcement",
      "articleSlug": "nft-royalties",
      "statement": "Enforcement: ERC-2981 itself does not force marketplaces to pay.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-burning-quick-answer",
      "articleSlug": "nft-burning",
      "statement": "Burning an NFT removes the token or quantity from the contract’s live ownership accounting under that contract’s rules. A transfer to an inaccessible address is not necessarily the same operation. ERC-721 does not require a public burn function; some implementations allow owners or approved operators to burn, while others do not expose burning at all.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520",
        "source-6afc89f384bcfbe0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        },
        {
          "sourceId": "source-6afc89f384bcfbe0",
          "locator": "burn"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read version-pinned OZERC721Burnable burn->_update(0,id,msgSender),authorizedcallercomment; standardmintburn optional. ERC1155burnquantity/event conventions support5-2=3. Transfers to inaccessibleaccountnotidenticalburn; chainhistory/offchainmediaremainseparate."
        ]
      }
    },
    {
      "id": "nft-burning-fact-implementation",
      "articleSlug": "nft-burning",
      "statement": "Implementation: A burn entry point is not mandatory in ERC-721.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read version-pinned OZERC721Burnable burn->_update(0,id,msgSender),authorizedcallercomment; standardmintburn optional. ERC1155burnquantity/event conventions support5-2=3. Transfers to inaccessibleaccountnotidenticalburn; chainhistory/offchainmediaremainseparate."
        ]
      }
    },
    {
      "id": "nft-burning-fact-authorization",
      "articleSlug": "nft-burning",
      "statement": "Authorization: OpenZeppelin Contracts v5.4.0’s ERC721Burnable checks ownership or approval.",
      "sourceIds": [
        "source-6afc89f384bcfbe0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6afc89f384bcfbe0",
          "locator": "burn"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read version-pinned OZERC721Burnable burn->_update(0,id,msgSender),authorizedcallercomment; standardmintburn optional. ERC1155burnquantity/event conventions support5-2=3. Transfers to inaccessibleaccountnotidenticalburn; chainhistory/offchainmediaremainseparate."
        ]
      }
    },
    {
      "id": "nft-burning-fact-history",
      "articleSlug": "nft-burning",
      "statement": "History: Burning is represented by events rather than deleting previous chain history.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read version-pinned OZERC721Burnable burn->_update(0,id,msgSender),authorizedcallercomment; standardmintburn optional. ERC1155burnquantity/event conventions support5-2=3. Transfers to inaccessibleaccountnotidenticalburn; chainhistory/offchainmediaremainseparate."
        ]
      }
    },
    {
      "id": "nfts-not-showing-in-wallet-quick-answer",
      "articleSlug": "nfts-not-showing-in-wallet",
      "statement": "An NFT missing from a wallet gallery can be a detection or metadata problem rather than lost ownership. Verify the correct network, account, contract and token ID, then inspect ownership or balance onchain. Importing an NFT helps the interface find it; it does not transfer ownership or repair missing media at the referenced URL.",
      "sourceIds": [
        "source-a819b8d4ca674cf9",
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a819b8d4ca674cf9",
          "locator": "Auto-detection; manual import; display issues"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMaskNFTguide specifies contractaddress,chain andtokenID manualimport, thirdpartymetadata displaylimits and ownershiperror. Draft avoidsunstablesupportednetworklist andtheguide’s overlybroaduniqueIDstatement; ID27correctlycontractscoped."
        ]
      }
    },
    {
      "id": "nfts-not-showing-in-wallet-fact-identity",
      "articleSlug": "nfts-not-showing-in-wallet",
      "statement": "Identity: Use chain, collection contract and token ID together.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a819b8d4ca674cf9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a819b8d4ca674cf9",
          "locator": "Auto-detection; manual import; display issues"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMaskNFTguide specifies contractaddress,chain andtokenID manualimport, thirdpartymetadata displaylimits and ownershiperror. Draft avoidsunstablesupportednetworklist andtheguide’s overlybroaduniqueIDstatement; ID27correctlycontractscoped."
        ]
      }
    },
    {
      "id": "nfts-not-showing-in-wallet-fact-ownership",
      "articleSlug": "nfts-not-showing-in-wallet",
      "statement": "Ownership: ERC-721 ownership and ERC-1155 balances are contract state.",
      "sourceIds": [
        "source-b08b9aae11ea4085",
        "source-a8902fec2ff6f520"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        },
        {
          "sourceId": "source-a8902fec2ff6f520",
          "locator": "Safe transfer rules; operator approvals; minting and burning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMaskNFTguide specifies contractaddress,chain andtokenID manualimport, thirdpartymetadata displaylimits and ownershiperror. Draft avoidsunstablesupportednetworklist andtheguide’s overlybroaduniqueIDstatement; ID27correctlycontractscoped."
        ]
      }
    },
    {
      "id": "nfts-not-showing-in-wallet-fact-rendering",
      "articleSlug": "nfts-not-showing-in-wallet",
      "statement": "Rendering: Third-party metadata retrieval can affect gallery display.",
      "sourceIds": [
        "source-a819b8d4ca674cf9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a819b8d4ca674cf9",
          "locator": "Auto-detection; manual import; display issues"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh MetaMaskNFTguide specifies contractaddress,chain andtokenID manualimport, thirdpartymetadata displaylimits and ownershiperror. Draft avoidsunstablesupportednetworklist andtheguide’s overlybroaduniqueIDstatement; ID27correctlycontractscoped."
        ]
      }
    },
    {
      "id": "nft-ipfs-storage-quick-answer",
      "articleSlug": "nft-ipfs-storage",
      "statement": "IPFS content identifiers identify content addressed data, but do not guarantee that a reachable node will retain and serve it forever. An NFT can reference IPFS metadata or media while its ownership stays on Ethereum. Check the token’s actual URI, whether the referenced data is pinned and whether the contract can change that URI; these are different durability questions.",
      "sourceIds": [
        "source-d6c57c6845e6d6cf",
        "source-37c1413248e9760f",
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d6c57c6845e6d6cf",
          "locator": "Content identifiers; content addressing"
        },
        {
          "sourceId": "source-37c1413248e9760f",
          "locator": "Pinning; garbage collection; remote pinning"
        },
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read IPFSCIDcreation/differentchunking/codecs/rootblock distinction and allpinningtypes/localremoteretention. ERC721metadata URI is explicitlymutable. JSONimageURL is not necessarilya DAGchild; draftavoidsrecursivepinningguaranteeforunrelatedURLstrings."
        ]
      }
    },
    {
      "id": "nft-ipfs-storage-fact-content-identity",
      "articleSlug": "nft-ipfs-storage",
      "statement": "Content identity: A CID identifies content within a specified encoding and structure.",
      "sourceIds": [
        "source-d6c57c6845e6d6cf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d6c57c6845e6d6cf",
          "locator": "Content identifiers; content addressing"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read IPFSCIDcreation/differentchunking/codecs/rootblock distinction and allpinningtypes/localremoteretention. ERC721metadata URI is explicitlymutable. JSONimageURL is not necessarilya DAGchild; draftavoidsrecursivepinningguaranteeforunrelatedURLstrings."
        ]
      }
    },
    {
      "id": "nft-ipfs-storage-fact-availability",
      "articleSlug": "nft-ipfs-storage",
      "statement": "Availability: Pinning protects retained data from a node’s garbage collection.",
      "sourceIds": [
        "source-37c1413248e9760f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37c1413248e9760f",
          "locator": "Pinning; garbage collection; remote pinning"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read IPFSCIDcreation/differentchunking/codecs/rootblock distinction and allpinningtypes/localremoteretention. ERC721metadata URI is explicitlymutable. JSONimageURL is not necessarilya DAGchild; draftavoidsrecursivepinningguaranteeforunrelatedURLstrings."
        ]
      }
    },
    {
      "id": "nft-ipfs-storage-fact-pointer",
      "articleSlug": "nft-ipfs-storage",
      "statement": "Pointer: An ERC-721 metadata URI can refer to offchain content.",
      "sourceIds": [
        "source-b08b9aae11ea4085"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b08b9aae11ea4085",
          "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read IPFSCIDcreation/differentchunking/codecs/rootblock distinction and allpinningtypes/localremoteretention. ERC721metadata URI is explicitlymutable. JSONimageURL is not necessarilya DAGchild; draftavoidsrecursivepinningguaranteeforunrelatedURLstrings."
        ]
      }
    },
    {
      "id": "ethereum-solo-staking-quick-answer",
      "articleSlug": "ethereum-solo-staking",
      "statement": "Solo staking means operating your own Ethereum validator rather than handing its operation to a pool or service. Activating a validator requires at least 32 ETH and working execution, consensus and validator software. You control the setup and take responsibility for key security, updates, monitoring and missed-duty or slashing risks. Running a non-validating node alone does not require that stake.",
      "sourceIds": [
        "source-ed235bbe5523f774",
        "source-81c7c6821c46702f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        },
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current home-staking requirements and lifecycle: at least 32 ETH, execution plus consensus and signing infrastructure, maintenance and testnet practice. Explicit minimum does not imply a 32 ETH maximum. No hardware budget, yield forecast or fixed activation time imported from the source."
        ]
      }
    },
    {
      "id": "ethereum-solo-staking-fact-activation",
      "articleSlug": "ethereum-solo-staking",
      "statement": "Activation: The documented minimum activation balance is 32 ETH.",
      "sourceIds": [
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current home-staking requirements and lifecycle: at least 32 ETH, execution plus consensus and signing infrastructure, maintenance and testnet practice. Explicit minimum does not imply a 32 ETH maximum. No hardware budget, yield forecast or fixed activation time imported from the source."
        ]
      }
    },
    {
      "id": "ethereum-solo-staking-fact-software",
      "articleSlug": "ethereum-solo-staking",
      "statement": "Software: Execution and consensus clients work with validator signing software.",
      "sourceIds": [
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current home-staking requirements and lifecycle: at least 32 ETH, execution plus consensus and signing infrastructure, maintenance and testnet practice. Explicit minimum does not imply a 32 ETH maximum. No hardware budget, yield forecast or fixed activation time imported from the source."
        ]
      }
    },
    {
      "id": "ethereum-solo-staking-fact-responsibility",
      "articleSlug": "ethereum-solo-staking",
      "statement": "Responsibility: The operator maintains hardware, connectivity, software and keys.",
      "sourceIds": [
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read current home-staking requirements and lifecycle: at least 32 ETH, execution plus consensus and signing infrastructure, maintenance and testnet practice. Explicit minimum does not imply a 32 ETH maximum. No hardware budget, yield forecast or fixed activation time imported from the source."
        ]
      }
    },
    {
      "id": "ethereum-staking-as-a-service-quick-answer",
      "articleSlug": "ethereum-staking-as-a-service",
      "statement": "Staking as a service delegates validator operation to another party. In a non-custodial arrangement, you retain the withdrawal address while the provider controls the signing operation; a custodial service can control both. Ask who controls withdrawals, who can initiate an exit, how fees are charged and who bears penalties. The service label alone does not answer those questions.",
      "sourceIds": [
        "source-1b2cc02258c65baa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b2cc02258c65baa",
          "locator": "How it works; keys; counterparty risk"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read delegated-staking spectrum and trust model. Signing authority can cause penalties but cannot spend the separate withdrawal address. Current source explicitly supports execution-layer-triggered exits after Pectra, overriding the stale future-EIP7002 paragraph on the keys page. Draft conditions exit control on actual credentials and provider custody."
        ]
      }
    },
    {
      "id": "ethereum-staking-as-a-service-fact-operation",
      "articleSlug": "ethereum-staking-as-a-service",
      "statement": "Operation: A provider runs the validator infrastructure.",
      "sourceIds": [
        "source-1b2cc02258c65baa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b2cc02258c65baa",
          "locator": "How it works; keys; counterparty risk"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read delegated-staking spectrum and trust model. Signing authority can cause penalties but cannot spend the separate withdrawal address. Current source explicitly supports execution-layer-triggered exits after Pectra, overriding the stale future-EIP7002 paragraph on the keys page. Draft conditions exit control on actual credentials and provider custody."
        ]
      }
    },
    {
      "id": "ethereum-staking-as-a-service-fact-signing-risk",
      "articleSlug": "ethereum-staking-as-a-service",
      "statement": "Signing risk: Misused signing keys can cause penalties or slashing.",
      "sourceIds": [
        "source-1b2cc02258c65baa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b2cc02258c65baa",
          "locator": "How it works; keys; counterparty risk"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read delegated-staking spectrum and trust model. Signing authority can cause penalties but cannot spend the separate withdrawal address. Current source explicitly supports execution-layer-triggered exits after Pectra, overriding the stale future-EIP7002 paragraph on the keys page. Draft conditions exit control on actual credentials and provider custody."
        ]
      }
    },
    {
      "id": "ethereum-staking-as-a-service-fact-custody",
      "articleSlug": "ethereum-staking-as-a-service",
      "statement": "Custody: Withdrawal-address control distinguishes materially different arrangements.",
      "sourceIds": [
        "source-1b2cc02258c65baa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b2cc02258c65baa",
          "locator": "How it works; keys; counterparty risk"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read delegated-staking spectrum and trust model. Signing authority can cause penalties but cannot spend the separate withdrawal address. Current source explicitly supports execution-layer-triggered exits after Pectra, overriding the stale future-EIP7002 paragraph on the keys page. Draft conditions exit control on actual credentials and provider custody."
        ]
      }
    },
    {
      "id": "pooled-ethereum-staking-quick-answer",
      "articleSlug": "pooled-ethereum-staking",
      "statement": "Pooled staking combines contributions so people can participate without funding and running an entire validator themselves. The pool’s contracts or service track each participant’s claim. Some issue liquid staking tokens; others use different accounting. Your result depends on the pool’s fees, operators, custody, contracts and exit process as well as Ethereum’s validator performance.",
      "sourceIds": [
        "source-fb4e302f14876a2b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb4e302f14876a2b",
          "locator": "How it works; risks; liquid staking"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read pool structure, receipt-token designs, redemption versus secondary-market sale and governance/operator dependencies. Source expressly distinguishes token holders from protocol validators. Recomputed 0.02 ETH gross reward minus a hypothetical 10 percent reward fee = 0.018 ETH; example is not a projected return."
        ]
      }
    },
    {
      "id": "pooled-ethereum-staking-fact-access",
      "articleSlug": "pooled-ethereum-staking",
      "statement": "Access: Pools can accept contributions below the validator activation minimum.",
      "sourceIds": [
        "source-fb4e302f14876a2b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb4e302f14876a2b",
          "locator": "How it works; risks; liquid staking"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read pool structure, receipt-token designs, redemption versus secondary-market sale and governance/operator dependencies. Source expressly distinguishes token holders from protocol validators. Recomputed 0.02 ETH gross reward minus a hypothetical 10 percent reward fee = 0.018 ETH; example is not a projected return."
        ]
      }
    },
    {
      "id": "pooled-ethereum-staking-fact-additional-system",
      "articleSlug": "pooled-ethereum-staking",
      "statement": "Additional system: Pooling is implemented outside Ethereum’s native validator accounting.",
      "sourceIds": [
        "source-fb4e302f14876a2b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb4e302f14876a2b",
          "locator": "How it works; risks; liquid staking"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read pool structure, receipt-token designs, redemption versus secondary-market sale and governance/operator dependencies. Source expressly distinguishes token holders from protocol validators. Recomputed 0.02 ETH gross reward minus a hypothetical 10 percent reward fee = 0.018 ETH; example is not a projected return."
        ]
      }
    },
    {
      "id": "pooled-ethereum-staking-fact-exit-routes",
      "articleSlug": "pooled-ethereum-staking",
      "statement": "Exit routes: Protocol redemption and selling a receipt token are different routes.",
      "sourceIds": [
        "source-fb4e302f14876a2b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb4e302f14876a2b",
          "locator": "How it works; risks; liquid staking"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read pool structure, receipt-token designs, redemption versus secondary-market sale and governance/operator dependencies. Source expressly distinguishes token holders from protocol validators. Recomputed 0.02 ETH gross reward minus a hypothetical 10 percent reward fee = 0.018 ETH; example is not a projected return."
        ]
      }
    },
    {
      "id": "ethereum-validator-keys-quick-answer",
      "articleSlug": "ethereum-validator-keys",
      "statement": "An Ethereum validator uses a signing key for consensus duties such as votes and block proposals. Withdrawal credentials separately determine withdrawal authority and destination. An attacker with only the signing key can disrupt or slash the validator even when unable to spend withdrawals sent to your address. Protect both forms of authority according to their different roles.",
      "sourceIds": [
        "source-c37ef41d3c4ba6d9",
        "source-1b2cc02258c65baa",
        "source-d14a53a7dccb47be"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c37ef41d3c4ba6d9",
          "locator": "Validator key; withdrawal key"
        },
        {
          "sourceId": "source-1b2cc02258c65baa",
          "locator": "How it works; keys; counterparty risk"
        },
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read validator keys, withdrawal credentials and withdrawal-key sections. Online BLS signing and execution-address control are distinct; legacy 0x00 credentials need transition. Keystore is not signing history, checked against EIP3076. Excluded source’s stale claim that only signing keys can currently initiate exits."
        ]
      }
    },
    {
      "id": "ethereum-validator-keys-fact-signing",
      "articleSlug": "ethereum-validator-keys",
      "statement": "Signing: Validator signing keys authorize proposals and attestations.",
      "sourceIds": [
        "source-c37ef41d3c4ba6d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c37ef41d3c4ba6d9",
          "locator": "Validator key; withdrawal key"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read validator keys, withdrawal credentials and withdrawal-key sections. Online BLS signing and execution-address control are distinct; legacy 0x00 credentials need transition. Keystore is not signing history, checked against EIP3076. Excluded source’s stale claim that only signing keys can currently initiate exits."
        ]
      }
    },
    {
      "id": "ethereum-validator-keys-fact-credentials",
      "articleSlug": "ethereum-validator-keys",
      "statement": "Credentials: Withdrawal credentials belong to the validator’s consensus record.",
      "sourceIds": [
        "source-d14a53a7dccb47be"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read validator keys, withdrawal credentials and withdrawal-key sections. Online BLS signing and execution-address control are distinct; legacy 0x00 credentials need transition. Keystore is not signing history, checked against EIP3076. Excluded source’s stale claim that only signing keys can currently initiate exits."
        ]
      }
    },
    {
      "id": "ethereum-validator-keys-fact-online-exposure",
      "articleSlug": "ethereum-validator-keys",
      "statement": "Online exposure: Routine validator signing requires online signing capability.",
      "sourceIds": [
        "source-c37ef41d3c4ba6d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c37ef41d3c4ba6d9",
          "locator": "Validator key; withdrawal key"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read validator keys, withdrawal credentials and withdrawal-key sections. Online BLS signing and execution-address control are distinct; legacy 0x00 credentials need transition. Keystore is not signing history, checked against EIP3076. Excluded source’s stale claim that only signing keys can currently initiate exits."
        ]
      }
    },
    {
      "id": "ethereum-validator-downtime-quick-answer",
      "articleSlug": "ethereum-validator-downtime",
      "statement": "An offline Ethereum validator misses duties and rewards and may receive ordinary penalties. Downtime by itself is not a slashable offense. Slashing concerns specific conflicting signatures. The cost of being offline also depends on whether the network is finalizing normally; extended non-finality activates additional inactivity penalties. Diagnose the outage without hastily starting a second independent signer for the same key.",
      "sourceIds": [
        "source-5c75a0594463b144",
        "source-ed235bbe5523f774",
        "source-9d546a950a3e1f5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c75a0594463b144",
          "locator": "Rewards; penalties; inactivity leak; slashing"
        },
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        },
        {
          "sourceId": "source-9d546a950a3e1f5d",
          "locator": "Interchange format; import and export; safety"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ordinary missed source/target vote penalties, missing proposer reward, slashing offences and inactivity leak. Draft correctly avoids treating an outage itself as slashable. Duplicate failover risk follows conflicting signatures and EIP3076; no unsupported estimate for a given number of offline hours."
        ]
      }
    },
    {
      "id": "ethereum-validator-downtime-fact-missed-duties",
      "articleSlug": "ethereum-validator-downtime",
      "statement": "Missed duties: Offline validators cannot perform their assigned duties.",
      "sourceIds": [
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ordinary missed source/target vote penalties, missing proposer reward, slashing offences and inactivity leak. Draft correctly avoids treating an outage itself as slashable. Duplicate failover risk follows conflicting signatures and EIP3076; no unsupported estimate for a given number of offline hours."
        ]
      }
    },
    {
      "id": "ethereum-validator-downtime-fact-different-offense",
      "articleSlug": "ethereum-validator-downtime",
      "statement": "Different offense: Being offline alone is not the same as signing conflicting messages.",
      "sourceIds": [
        "source-5c75a0594463b144"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c75a0594463b144",
          "locator": "Rewards; penalties; inactivity leak; slashing"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ordinary missed source/target vote penalties, missing proposer reward, slashing offences and inactivity leak. Draft correctly avoids treating an outage itself as slashable. Duplicate failover risk follows conflicting signatures and EIP3076; no unsupported estimate for a given number of offline hours."
        ]
      }
    },
    {
      "id": "ethereum-validator-downtime-fact-network-condition",
      "articleSlug": "ethereum-validator-downtime",
      "statement": "Network condition: An inactivity leak changes penalties during extended non-finality.",
      "sourceIds": [
        "source-5c75a0594463b144"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c75a0594463b144",
          "locator": "Rewards; penalties; inactivity leak; slashing"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ordinary missed source/target vote penalties, missing proposer reward, slashing offences and inactivity leak. Draft correctly avoids treating an outage itself as slashable. Duplicate failover risk follows conflicting signatures and EIP3076; no unsupported estimate for a given number of offline hours."
        ]
      }
    },
    {
      "id": "ethereum-client-diversity-quick-answer",
      "articleSlug": "ethereum-client-diversity",
      "statement": "Client diversity means spreading Ethereum operation across independent software implementations. If many validators rely on the same faulty implementation, they can fail together rather than as isolated nodes. Diversity matters at both the execution and consensus layers. Evaluate supported clients and measured deployment data carefully; node counts and active stake are not interchangeable.",
      "sourceIds": [
        "source-0380507fa74b16bf",
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0380507fa74b16bf",
          "locator": "Why multiple clients; consequences of supermajority clients"
        },
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read client implementation and diversity discussion on both layers. Ten machines with the same client retain shared implementation exposure. The source has conflicting stale live market shares and uses node-count language for stake thresholds; draft deliberately quotes neither percentages nor rankings and keeps stake-weight qualification."
        ]
      }
    },
    {
      "id": "ethereum-client-diversity-fact-two-layers",
      "articleSlug": "ethereum-client-diversity",
      "statement": "Two layers: Execution and consensus software both benefit from independent implementations.",
      "sourceIds": [
        "source-0380507fa74b16bf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0380507fa74b16bf",
          "locator": "Why multiple clients; consequences of supermajority clients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read client implementation and diversity discussion on both layers. Ten machines with the same client retain shared implementation exposure. The source has conflicting stale live market shares and uses node-count language for stake thresholds; draft deliberately quotes neither percentages nor rankings and keeps stake-weight qualification."
        ]
      }
    },
    {
      "id": "ethereum-client-diversity-fact-correlation",
      "articleSlug": "ethereum-client-diversity",
      "statement": "Correlation: A shared software defect can affect many operators together.",
      "sourceIds": [
        "source-0380507fa74b16bf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0380507fa74b16bf",
          "locator": "Why multiple clients; consequences of supermajority clients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read client implementation and diversity discussion on both layers. Ten machines with the same client retain shared implementation exposure. The source has conflicting stale live market shares and uses node-count language for stake thresholds; draft deliberately quotes neither percentages nor rankings and keeps stake-weight qualification."
        ]
      }
    },
    {
      "id": "ethereum-client-diversity-fact-consensus-weight",
      "articleSlug": "ethereum-client-diversity",
      "statement": "Consensus weight: Finality depends on participating stake, not a simple count of computers.",
      "sourceIds": [
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read client implementation and diversity discussion on both layers. Ten machines with the same client retain shared implementation exposure. The source has conflicting stale live market shares and uses node-count language for stake thresholds; draft deliberately quotes neither percentages nor rankings and keeps stake-weight qualification."
        ]
      }
    },
    {
      "id": "distributed-validator-technology-quick-answer",
      "articleSlug": "distributed-validator-technology",
      "statement": "Distributed validator technology, or DVT, lets several machines coordinate one Ethereum validator using shares of its signing key. A required threshold of participants signs duties together, so some individual failures can be tolerated. It adds coordination software and operational costs, and it does not change who controls the validator’s withdrawal address.",
      "sourceIds": [
        "source-3ba0d2aae6a41261"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ba0d2aae6a41261",
          "locator": "Key shares; threshold signing; benefits and risks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read DVT threshold signing, middleware, DKG, drawbacks and withdrawal-key FAQ. In a 3-of-4 example one offline leaves 3, two offline leaves 2, so only the first meets threshold. Splitting signing does not split withdrawal authority, pool contributions or lower the native activation minimum."
        ]
      }
    },
    {
      "id": "distributed-validator-technology-fact-one-validator",
      "articleSlug": "distributed-validator-technology",
      "statement": "One validator: Several operators can jointly perform duties for one validator identity.",
      "sourceIds": [
        "source-3ba0d2aae6a41261"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ba0d2aae6a41261",
          "locator": "Key shares; threshold signing; benefits and risks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read DVT threshold signing, middleware, DKG, drawbacks and withdrawal-key FAQ. In a 3-of-4 example one offline leaves 3, two offline leaves 2, so only the first meets threshold. Splitting signing does not split withdrawal authority, pool contributions or lower the native activation minimum."
        ]
      }
    },
    {
      "id": "distributed-validator-technology-fact-threshold",
      "articleSlug": "distributed-validator-technology",
      "statement": "Threshold: Only a sufficient number of participating key shares can complete signing.",
      "sourceIds": [
        "source-3ba0d2aae6a41261"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ba0d2aae6a41261",
          "locator": "Key shares; threshold signing; benefits and risks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read DVT threshold signing, middleware, DKG, drawbacks and withdrawal-key FAQ. In a 3-of-4 example one offline leaves 3, two offline leaves 2, so only the first meets threshold. Splitting signing does not split withdrawal authority, pool contributions or lower the native activation minimum."
        ]
      }
    },
    {
      "id": "distributed-validator-technology-fact-separate-custody",
      "articleSlug": "distributed-validator-technology",
      "statement": "Separate custody: DVT distributes validator signing, not withdrawal-address ownership.",
      "sourceIds": [
        "source-3ba0d2aae6a41261"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3ba0d2aae6a41261",
          "locator": "Key shares; threshold signing; benefits and risks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read DVT threshold signing, middleware, DKG, drawbacks and withdrawal-key FAQ. In a 3-of-4 example one offline leaves 3, two offline leaves 2, so only the first meets threshold. Splitting signing does not split withdrawal authority, pool contributions or lower the native activation minimum."
        ]
      }
    },
    {
      "id": "ethereum-staking-reward-components-quick-answer",
      "articleSlug": "ethereum-staking-reward-components",
      "statement": "Validator income can include consensus rewards for timely duties and execution-layer income associated with proposing blocks. Transaction base fees are burned, while eligible priority fees go to the block’s fee recipient. Net results also reflect penalties, service fees and operating costs. A dashboard’s single percentage can hide these different components and uneven timing.",
      "sourceIds": [
        "source-5c75a0594463b144",
        "source-5cadd0da692ffaa8",
        "source-494cc80759bbaf7e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c75a0594463b144",
          "locator": "Rewards; penalties; inactivity leak; slashing"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        },
        {
          "sourceId": "source-494cc80759bbaf7e",
          "locator": "Configuring fee recipients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read rewards, proposer duties and fee-routing documents. Base fee is burned; execution tips go to fee recipient while consensus rewards have distinct accounting. Recomputed 0.03 - 0.002 - 0.003 = 0.025 ETH under explicitly hypothetical assumptions. No promise of smooth proposal income or fixed APR."
        ]
      }
    },
    {
      "id": "ethereum-staking-reward-components-fact-consensus",
      "articleSlug": "ethereum-staking-reward-components",
      "statement": "Consensus: Votes, proposals and sync-committee duties contribute to rewards.",
      "sourceIds": [
        "source-5c75a0594463b144"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c75a0594463b144",
          "locator": "Rewards; penalties; inactivity leak; slashing"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read rewards, proposer duties and fee-routing documents. Base fee is burned; execution tips go to fee recipient while consensus rewards have distinct accounting. Recomputed 0.03 - 0.002 - 0.003 = 0.025 ETH under explicitly hypothetical assumptions. No promise of smooth proposal income or fixed APR."
        ]
      }
    },
    {
      "id": "ethereum-staking-reward-components-fact-execution",
      "articleSlug": "ethereum-staking-reward-components",
      "statement": "Execution: Priority fees are distinct from burned base fees.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read rewards, proposer duties and fee-routing documents. Base fee is burned; execution tips go to fee recipient while consensus rewards have distinct accounting. Recomputed 0.03 - 0.002 - 0.003 = 0.025 ETH under explicitly hypothetical assumptions. No promise of smooth proposal income or fixed APR."
        ]
      }
    },
    {
      "id": "ethereum-staking-reward-components-fact-recipient",
      "articleSlug": "ethereum-staking-reward-components",
      "statement": "Recipient: Execution tips use the configured fee-recipient address.",
      "sourceIds": [
        "source-494cc80759bbaf7e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-494cc80759bbaf7e",
          "locator": "Configuring fee recipients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read rewards, proposer duties and fee-routing documents. Base fee is burned; execution tips go to fee recipient while consensus rewards have distinct accounting. Recomputed 0.03 - 0.002 - 0.003 = 0.025 ETH under explicitly hypothetical assumptions. No promise of smooth proposal income or fixed APR."
        ]
      }
    },
    {
      "id": "ethereum-validator-activation-quick-answer",
      "articleSlug": "ethereum-validator-activation",
      "statement": "A staking deposit confirming on Ethereum does not mean the validator is already active. The consensus system must process the deposit, the validator must satisfy activation requirements and activation is subject to a rate-limited queue. Check the validator’s actual status and scheduled activation rather than estimating from the deposit transaction alone.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read proof-of-stake Validators and home-staking How it works. Deposit inclusion precedes activation queue; public validator identity differs from funding address. No elapsed-time promise and no instruction to send another deposit as a generic fix."
        ]
      }
    },
    {
      "id": "ethereum-validator-activation-fact-deposit",
      "articleSlug": "ethereum-validator-activation",
      "statement": "Deposit: A transaction receipt confirms execution, not validator activation.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        },
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read proof-of-stake Validators and home-staking How it works. Deposit inclusion precedes activation queue; public validator identity differs from funding address. No elapsed-time promise and no instruction to send another deposit as a generic fix."
        ]
      }
    },
    {
      "id": "ethereum-validator-activation-fact-eligibility",
      "articleSlug": "ethereum-validator-activation",
      "statement": "Eligibility: Activation requires the qualifying stake and valid validator setup.",
      "sourceIds": [
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read proof-of-stake Validators and home-staking How it works. Deposit inclusion precedes activation queue; public validator identity differs from funding address. No elapsed-time promise and no instruction to send another deposit as a generic fix."
        ]
      }
    },
    {
      "id": "ethereum-validator-activation-fact-queue",
      "articleSlug": "ethereum-validator-activation",
      "statement": "Queue: The network limits how quickly new stake becomes active.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-ed235bbe5523f774"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read proof-of-stake Validators and home-staking How it works. Deposit inclusion precedes activation queue; public validator identity differs from funding address. No elapsed-time promise and no instruction to send another deposit as a generic fix."
        ]
      }
    },
    {
      "id": "ethereum-staking-deposits-quick-answer",
      "articleSlug": "ethereum-staking-deposits",
      "statement": "A validator deposit funds a validator identified by its public signing key and associated withdrawal credentials. It is not a normal ETH payment to a validator’s public key, nor instant activation. Use the official staking setup flow, check the intended network and withdrawal authority, and verify both the deposit transaction and the resulting validator record.",
      "sourceIds": [
        "source-d14a53a7dccb47be",
        "source-ed235bbe5523f774",
        "source-c37ef41d3c4ba6d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        },
        {
          "sourceId": "source-ed235bbe5523f774",
          "locator": "How it works; responsibilities; requirements"
        },
        {
          "sourceId": "source-c37ef41d3c4ba6d9",
          "locator": "Validator key; withdrawal key"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read launchpad FAQ source sections on deposits, top-ups and withdrawal credential account types plus current home-staking guide. Deposit data identifies validator, execution transfer is not an ordinary payment, top-up uses same validator. Effective-balance contribution depends on regular versus compounding credentials; stale duplicate FAQ two-type paragraph not used."
        ]
      }
    },
    {
      "id": "ethereum-staking-deposits-fact-identification",
      "articleSlug": "ethereum-staking-deposits",
      "statement": "Identification: Deposit data identifies the validator public key.",
      "sourceIds": [
        "source-c37ef41d3c4ba6d9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c37ef41d3c4ba6d9",
          "locator": "Validator key; withdrawal key"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read launchpad FAQ source sections on deposits, top-ups and withdrawal credential account types plus current home-staking guide. Deposit data identifies validator, execution transfer is not an ordinary payment, top-up uses same validator. Effective-balance contribution depends on regular versus compounding credentials; stale duplicate FAQ two-type paragraph not used."
        ]
      }
    },
    {
      "id": "ethereum-staking-deposits-fact-withdrawal",
      "articleSlug": "ethereum-staking-deposits",
      "statement": "Withdrawal: Withdrawal credentials determine the withdrawal destination and account type.",
      "sourceIds": [
        "source-d14a53a7dccb47be"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read launchpad FAQ source sections on deposits, top-ups and withdrawal credential account types plus current home-staking guide. Deposit data identifies validator, execution transfer is not an ordinary payment, top-up uses same validator. Effective-balance contribution depends on regular versus compounding credentials; stale duplicate FAQ two-type paragraph not used."
        ]
      }
    },
    {
      "id": "ethereum-staking-deposits-fact-lifecycle",
      "articleSlug": "ethereum-staking-deposits",
      "statement": "Lifecycle: A funded validator still passes through activation processing.",
      "sourceIds": [
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read launchpad FAQ source sections on deposits, top-ups and withdrawal credential account types plus current home-staking guide. Deposit data identifies validator, execution transfer is not an ordinary payment, top-up uses same validator. Effective-balance contribution depends on regular versus compounding credentials; stale duplicate FAQ two-type paragraph not used."
        ]
      }
    },
    {
      "id": "ethereum-validator-fee-recipient-quick-answer",
      "articleSlug": "ethereum-validator-fee-recipient",
      "statement": "A validator’s fee recipient is the execution-layer address nominated to receive transaction tips when it proposes a block. It is separate from the validator’s consensus withdrawal credentials. Configure and verify the address through your client’s documented method; changing it does not change the destination for consensus withdrawals.",
      "sourceIds": [
        "source-494cc80759bbaf7e",
        "source-5cadd0da692ffaa8",
        "source-d14a53a7dccb47be"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-494cc80759bbaf7e",
          "locator": "Configuring fee recipients"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas limit; fee calculation; base fee; priority fee"
        },
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read entire Lighthouse Suggested Fee Recipient guide. Validator-specific definition outranks VC default, which outranks BN emergency fallback; source explicitly notes both nodes can override a suggested recipient. BLS identity is not an execution address. Draft separates this from consensus withdrawal credentials and does not infer payout from configured text alone."
        ]
      }
    },
    {
      "id": "ethereum-validator-fee-recipient-fact-income",
      "articleSlug": "ethereum-validator-fee-recipient",
      "statement": "Income: The fee recipient concerns execution-layer block income.",
      "sourceIds": [
        "source-494cc80759bbaf7e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-494cc80759bbaf7e",
          "locator": "Configuring fee recipients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read entire Lighthouse Suggested Fee Recipient guide. Validator-specific definition outranks VC default, which outranks BN emergency fallback; source explicitly notes both nodes can override a suggested recipient. BLS identity is not an execution address. Draft separates this from consensus withdrawal credentials and does not infer payout from configured text alone."
        ]
      }
    },
    {
      "id": "ethereum-validator-fee-recipient-fact-separate-destination",
      "articleSlug": "ethereum-validator-fee-recipient",
      "statement": "Separate destination: Consensus withdrawal credentials are a different validator property.",
      "sourceIds": [
        "source-d14a53a7dccb47be"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d14a53a7dccb47be",
          "locator": "Validators; deposits; activation; rewards; key management"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read entire Lighthouse Suggested Fee Recipient guide. Validator-specific definition outranks VC default, which outranks BN emergency fallback; source explicitly notes both nodes can override a suggested recipient. BLS identity is not an execution address. Draft separates this from consensus withdrawal credentials and does not infer payout from configured text alone."
        ]
      }
    },
    {
      "id": "ethereum-validator-fee-recipient-fact-configuration",
      "articleSlug": "ethereum-validator-fee-recipient",
      "statement": "Configuration: Lighthouse supports validator-specific and fallback fee-recipient settings.",
      "sourceIds": [
        "source-494cc80759bbaf7e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-494cc80759bbaf7e",
          "locator": "Configuring fee recipients"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read entire Lighthouse Suggested Fee Recipient guide. Validator-specific definition outranks VC default, which outranks BN emergency fallback; source explicitly notes both nodes can override a suggested recipient. BLS identity is not an execution address. Draft separates this from consensus withdrawal credentials and does not infer payout from configured text alone."
        ]
      }
    },
    {
      "id": "validator-slashing-protection-quick-answer",
      "articleSlug": "validator-slashing-protection",
      "statement": "Slashing protection records what a validator has already signed so software can refuse conflicting proposals or votes. When moving a key to another client, transfer the relevant signing history using the supported process, such as EIP-3076 interchange. Stop the old signer before enabling an independent replacement; the history file is not permission to run both at once.",
      "sourceIds": [
        "source-9d546a950a3e1f5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d546a950a3e1f5d",
          "locator": "Interchange format; import and export; safety"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP3076 schema, conditions, complete/minimal database advice and general recommendations. Keystores omit signing history; genesis_validators_root identifies chain. Stop exporting/importing signers to avoid stale-history races. Imported history is not permission for concurrent independent signing; no guarantee asserted after losing records."
        ]
      }
    },
    {
      "id": "validator-slashing-protection-fact-history",
      "articleSlug": "validator-slashing-protection",
      "statement": "History: Key material alone does not contain all prior signing decisions.",
      "sourceIds": [
        "source-9d546a950a3e1f5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d546a950a3e1f5d",
          "locator": "Interchange format; import and export; safety"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP3076 schema, conditions, complete/minimal database advice and general recommendations. Keystores omit signing history; genesis_validators_root identifies chain. Stop exporting/importing signers to avoid stale-history races. Imported history is not permission for concurrent independent signing; no guarantee asserted after losing records."
        ]
      }
    },
    {
      "id": "validator-slashing-protection-fact-interchange",
      "articleSlug": "validator-slashing-protection",
      "statement": "Interchange: EIP-3076 defines a format for moving signing history between clients.",
      "sourceIds": [
        "source-9d546a950a3e1f5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d546a950a3e1f5d",
          "locator": "Interchange format; import and export; safety"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP3076 schema, conditions, complete/minimal database advice and general recommendations. Keystores omit signing history; genesis_validators_root identifies chain. Stop exporting/importing signers to avoid stale-history races. Imported history is not permission for concurrent independent signing; no guarantee asserted after losing records."
        ]
      }
    },
    {
      "id": "validator-slashing-protection-fact-network",
      "articleSlug": "validator-slashing-protection",
      "statement": "Network: The interchange metadata identifies the consensus chain.",
      "sourceIds": [
        "source-9d546a950a3e1f5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d546a950a3e1f5d",
          "locator": "Interchange format; import and export; safety"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP3076 schema, conditions, complete/minimal database advice and general recommendations. Keystores omit signing history; genesis_validators_root identifies chain. Stop exporting/importing signers to avoid stale-history races. Imported history is not permission for concurrent independent signing; no guarantee asserted after losing records."
        ]
      }
    },
    {
      "id": "ethereum-mainnet-and-testnets-quick-answer",
      "articleSlug": "ethereum-mainnet-and-testnets",
      "statement": "Ethereum mainnet is the production network. Testnets are separate networks used to try applications, validators and protocol changes without using mainnet ETH. A matching account address does not carry its balance or history from one network to another. Choose the test network for the activity you need, and verify its current support before following an older tutorial.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh network guide identifies Sepolia application development, Hoodi open validator testing and Holesky deprecation. Separate state means 2 Sepolia test ETH does not become 2 mainnet ETH. Scope is explicitly the 2 October 2026 documentation, not a perpetual network recommendation."
        ]
      }
    },
    {
      "id": "ethereum-mainnet-and-testnets-fact-separate-state",
      "articleSlug": "ethereum-mainnet-and-testnets",
      "statement": "Separate state: Balances and transaction history belong to a particular network.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh network guide identifies Sepolia application development, Hoodi open validator testing and Holesky deprecation. Separate state means 2 Sepolia test ETH does not become 2 mainnet ETH. Scope is explicitly the 2 October 2026 documentation, not a perpetual network recommendation."
        ]
      }
    },
    {
      "id": "ethereum-mainnet-and-testnets-fact-application-testing",
      "articleSlug": "ethereum-mainnet-and-testnets",
      "statement": "Application testing: Current documentation recommends Sepolia for application development.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh network guide identifies Sepolia application development, Hoodi open validator testing and Holesky deprecation. Separate state means 2 Sepolia test ETH does not become 2 mainnet ETH. Scope is explicitly the 2 October 2026 documentation, not a perpetual network recommendation."
        ]
      }
    },
    {
      "id": "ethereum-mainnet-and-testnets-fact-validator-testing",
      "articleSlug": "ethereum-mainnet-and-testnets",
      "statement": "Validator testing: Current documentation identifies Hoodi for validator and upgrade testing.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh network guide identifies Sepolia application development, Hoodi open validator testing and Holesky deprecation. Separate state means 2 Sepolia test ETH does not become 2 mainnet ETH. Scope is explicitly the 2 October 2026 documentation, not a perpetual network recommendation."
        ]
      }
    },
    {
      "id": "ethereum-testnet-faucets-quick-answer",
      "articleSlug": "ethereum-testnet-faucets",
      "statement": "A testnet faucet distributes test ETH for a specific testing network, usually subject to its own availability and anti-abuse rules. Supply the public destination address, select the matching testnet in the wallet and inspect the resulting transaction there. A faucet does not need your recovery phrase, and test ETH is not a mainnet ETH deposit.",
      "sourceIds": [
        "source-dddc0c86525f4282",
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        },
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Network guide describes public-address faucet requests and separately maintained test networks; security guidance rejects secret disclosure. Same address on Hoodi cannot display Sepolia funds. Provider conditions are described as service-specific possibilities, with no unsupported claim that a named faucet is available."
        ]
      }
    },
    {
      "id": "ethereum-testnet-faucets-fact-network-specific",
      "articleSlug": "ethereum-testnet-faucets",
      "statement": "Network-specific: A faucet funds the test network it advertises.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Network guide describes public-address faucet requests and separately maintained test networks; security guidance rejects secret disclosure. Same address on Hoodi cannot display Sepolia funds. Provider conditions are described as service-specific possibilities, with no unsupported claim that a named faucet is available."
        ]
      }
    },
    {
      "id": "ethereum-testnet-faucets-fact-public-destination",
      "articleSlug": "ethereum-testnet-faucets",
      "statement": "Public destination: The destination address is sufficient to receive a transfer.",
      "sourceIds": [
        "source-dddc0c86525f4282"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dddc0c86525f4282",
          "locator": "Mainnet; Sepolia; Hoodi; testnet faucets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Network guide describes public-address faucet requests and separately maintained test networks; security guidance rejects secret disclosure. Same address on Hoodi cannot display Sepolia funds. Provider conditions are described as service-specific possibilities, with no unsupported claim that a named faucet is available."
        ]
      }
    },
    {
      "id": "ethereum-testnet-faucets-fact-no-secret-needed",
      "articleSlug": "ethereum-testnet-faucets",
      "statement": "No secret needed: Recovery phrases should not be supplied to websites or support agents.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams; hardware wallets"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Network guide describes public-address faucet requests and separately maintained test networks; security guidance rejects secret disclosure. Same address on Hoodi cannot display Sepolia funds. Provider conditions are described as service-specific possibilities, with no unsupported claim that a named faucet is available."
        ]
      }
    },
    {
      "id": "ethereum-slots-and-missed-blocks-quick-answer",
      "articleSlug": "ethereum-slots-and-missed-blocks",
      "statement": "Ethereum proof of stake divides time into slots, currently 12 seconds each, grouped into 32-slot epochs. A slot is an opportunity for an assigned proposer to produce a block; it is not a guarantee that a block appears. Missed slots therefore make block count and elapsed time differ. The slot schedule and finality are also different concepts.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Validators schedule and Merge misconception about accelerated transactions: 12-second slots are opportunities and can be missed. Added direct Merge citation to those claims. Recomputed 5*12=60 seconds and 32*12=384 seconds=6m24s. Interval endpoint caveat avoids an off-by-one block count; epoch duration not promised finality."
        ]
      }
    },
    {
      "id": "ethereum-slots-and-missed-blocks-fact-slot",
      "articleSlug": "ethereum-slots-and-missed-blocks",
      "statement": "Slot: The documented mainnet slot duration is 12 seconds.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Validators schedule and Merge misconception about accelerated transactions: 12-second slots are opportunities and can be missed. Added direct Merge citation to those claims. Recomputed 5*12=60 seconds and 32*12=384 seconds=6m24s. Interval endpoint caveat avoids an off-by-one block count; epoch duration not promised finality."
        ]
      }
    },
    {
      "id": "ethereum-slots-and-missed-blocks-fact-epoch",
      "articleSlug": "ethereum-slots-and-missed-blocks",
      "statement": "Epoch: An epoch contains 32 slots.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Validators schedule and Merge misconception about accelerated transactions: 12-second slots are opportunities and can be missed. Added direct Merge citation to those claims. Recomputed 5*12=60 seconds and 32*12=384 seconds=6m24s. Interval endpoint caveat avoids an off-by-one block count; epoch duration not promised finality."
        ]
      }
    },
    {
      "id": "ethereum-slots-and-missed-blocks-fact-opportunity",
      "articleSlug": "ethereum-slots-and-missed-blocks",
      "statement": "Opportunity: A selected proposer is assigned to each slot.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Validators schedule and Merge misconception about accelerated transactions: 12-second slots are opportunities and can be missed. Added direct Merge citation to those claims. Recomputed 5*12=60 seconds and 32*12=384 seconds=6m24s. Interval endpoint caveat avoids an off-by-one block count; epoch duration not promised finality."
        ]
      }
    },
    {
      "id": "ethereum-beacon-chain-quick-answer",
      "articleSlug": "ethereum-beacon-chain",
      "statement": "The Beacon Chain introduced Ethereum’s proof-of-stake consensus and became the consensus side of Ethereum at the Merge. Today execution clients process transactions while consensus clients coordinate the accepted chain and validator duties. It is not a second wallet balance that users must migrate to, and the Merge did not require converting ordinary ETH to a new user token.",
      "sourceIds": [
        "source-6c6265b20e47ad72",
        "source-81c7c6821c46702f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        },
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Merge history, Merging with Mainnet and Users and holders, plus client roles and launchpad accounting. Execution history preserved; no ETH2 conversion required. Consensus versus execution receipt distinction is accurate without implying two ordinary spendable wallet balances."
        ]
      }
    },
    {
      "id": "ethereum-beacon-chain-fact-role",
      "articleSlug": "ethereum-beacon-chain",
      "statement": "Role: The Beacon Chain coordinates proof-of-stake consensus.",
      "sourceIds": [
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Merge history, Merging with Mainnet and Users and holders, plus client roles and launchpad accounting. Execution history preserved; no ETH2 conversion required. Consensus versus execution receipt distinction is accurate without implying two ordinary spendable wallet balances."
        ]
      }
    },
    {
      "id": "ethereum-beacon-chain-fact-merge",
      "articleSlug": "ethereum-beacon-chain",
      "statement": "Merge: Ethereum’s execution history joined that consensus system.",
      "sourceIds": [
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Merge history, Merging with Mainnet and Users and holders, plus client roles and launchpad accounting. Execution history preserved; no ETH2 conversion required. Consensus versus execution receipt distinction is accurate without implying two ordinary spendable wallet balances."
        ]
      }
    },
    {
      "id": "ethereum-beacon-chain-fact-continuity",
      "articleSlug": "ethereum-beacon-chain",
      "statement": "Continuity: Existing ETH balances and transaction history were preserved.",
      "sourceIds": [
        "source-6c6265b20e47ad72"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6c6265b20e47ad72",
          "locator": "Merging with Mainnet; misconceptions"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Merge history, Merging with Mainnet and Users and holders, plus client roles and launchpad accounting. Execution history preserved; no ETH2 conversion required. Consensus versus execution receipt distinction is accurate without implying two ordinary spendable wallet balances."
        ]
      }
    },
    {
      "id": "ethereum-node-sync-quick-answer",
      "articleSlug": "ethereum-node-sync",
      "statement": "Synchronizing an Ethereum node means obtaining and checking enough chain information to follow the current network. Execution and consensus clients have different synchronization work, and client modes trade setup time against retained history. A process that has started is not necessarily caught up or ready to answer every historical query. Check each client’s synchronization and health indicators.",
      "sourceIds": [
        "source-81c7c6821c46702f",
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        },
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nodes and clients synchronization modes and Geth historical indexing requirements. Execution and consensus sync separate; following current blocks does not mean historical indexes are complete. No claim that every implementation restores every pruned state on demand, despite overly broad wording on the general node page."
        ]
      }
    },
    {
      "id": "ethereum-node-sync-fact-two-clients",
      "articleSlug": "ethereum-node-sync",
      "statement": "Two clients: Post-Merge node operation normally combines execution and consensus clients.",
      "sourceIds": [
        "source-81c7c6821c46702f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nodes and clients synchronization modes and Geth historical indexing requirements. Execution and consensus sync separate; following current blocks does not mean historical indexes are complete. No claim that every implementation restores every pruned state on demand, despite overly broad wording on the general node page."
        ]
      }
    },
    {
      "id": "ethereum-node-sync-fact-modes",
      "articleSlug": "ethereum-node-sync",
      "statement": "Modes: Synchronization methods differ in what data they obtain and retain.",
      "sourceIds": [
        "source-81c7c6821c46702f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nodes and clients synchronization modes and Geth historical indexing requirements. Execution and consensus sync separate; following current blocks does not mean historical indexes are complete. No claim that every implementation restores every pruned state on demand, despite overly broad wording on the general node page."
        ]
      }
    },
    {
      "id": "ethereum-node-sync-fact-indexing",
      "articleSlug": "ethereum-node-sync",
      "statement": "Indexing: Historical query support can require additional indexing.",
      "sourceIds": [
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nodes and clients synchronization modes and Geth historical indexing requirements. Execution and consensus sync separate; following current blocks does not mean historical indexes are complete. No claim that every implementation restores every pruned state on demand, despite overly broad wording on the general node page."
        ]
      }
    },
    {
      "id": "ethereum-archive-nodes-quick-answer",
      "articleSlug": "ethereum-archive-nodes",
      "statement": "An archive node retains historical state so it can answer questions such as an account balance or contract storage value at an old block. Keeping block history alone is not the same capability. In Geth, historical flat-state queries and historical Merkle proofs have distinct retention and indexing requirements, so check the client version and requested RPC method.",
      "sourceIds": [
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full current Geth archive-mode document. v1.16.x path archive lacks historical proofs; v1.17.x can supply them with history.trienode retention. State values versus trie proofs and indexing completion are explicitly distinguished. Changing a retention setting does not recover already-pruned history. No resource-size promise."
        ]
      }
    },
    {
      "id": "ethereum-archive-nodes-fact-historical-state",
      "articleSlug": "ethereum-archive-nodes",
      "statement": "Historical state: Archive operation supports queries about past account and storage state.",
      "sourceIds": [
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full current Geth archive-mode document. v1.16.x path archive lacks historical proofs; v1.17.x can supply them with history.trienode retention. State values versus trie proofs and indexing completion are explicitly distinguished. Changing a retention setting does not recover already-pruned history. No resource-size promise."
        ]
      }
    },
    {
      "id": "ethereum-archive-nodes-fact-retention",
      "articleSlug": "ethereum-archive-nodes",
      "statement": "Retention: Configured history limits determine which old states remain available.",
      "sourceIds": [
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full current Geth archive-mode document. v1.16.x path archive lacks historical proofs; v1.17.x can supply them with history.trienode retention. State values versus trie proofs and indexing completion are explicitly distinguished. Changing a retention setting does not recover already-pruned history. No resource-size promise."
        ]
      }
    },
    {
      "id": "ethereum-archive-nodes-fact-proofs",
      "articleSlug": "ethereum-archive-nodes",
      "statement": "Proofs: Historical proof support may require retained trie-node history.",
      "sourceIds": [
        "source-d8710ea64bccd201"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d8710ea64bccd201",
          "locator": "Hash-based archive; path-based archive"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full current Geth archive-mode document. v1.16.x path archive lacks historical proofs; v1.17.x can supply them with history.trienode retention. State values versus trie proofs and indexing completion are explicitly distinguished. Changing a retention setting does not recover already-pruned history. No resource-size promise."
        ]
      }
    },
    {
      "id": "ethereum-light-clients-quick-answer",
      "articleSlug": "ethereum-light-clients",
      "statement": "An Ethereum light client follows authenticated chain information and checks supported proofs instead of independently executing and storing everything a full node does. This can reduce hardware needs and blind trust in a data provider. Its guarantees depend on the light-client protocol, bootstrap information and which responses it actually verifies; using a small wallet app alone does not make it a light client.",
      "sourceIds": [
        "source-4b82943838e3c2ce",
        "source-92ecd648d0893a8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4b82943838e3c2ce",
          "locator": "Light clients; sync committees; data verification"
        },
        {
          "sourceId": "source-92ecd648d0893a8f",
          "locator": "Weak subjectivity checkpoints; long-range attacks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read light-client architecture, sync committees and balance-proof example. Draft correctly scopes verification to supported responses and trustworthy bootstrap, distinguishes correctness from availability, and avoids source’s stale claim that none of the named implementations are production-ready."
        ]
      }
    },
    {
      "id": "ethereum-light-clients-fact-reduced-work",
      "articleSlug": "ethereum-light-clients",
      "statement": "Reduced work: Light clients obtain selected data instead of maintaining full local execution state.",
      "sourceIds": [
        "source-4b82943838e3c2ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4b82943838e3c2ce",
          "locator": "Light clients; sync committees; data verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read light-client architecture, sync committees and balance-proof example. Draft correctly scopes verification to supported responses and trustworthy bootstrap, distinguishes correctness from availability, and avoids source’s stale claim that none of the named implementations are production-ready."
        ]
      }
    },
    {
      "id": "ethereum-light-clients-fact-authentication",
      "articleSlug": "ethereum-light-clients",
      "statement": "Authentication: Consensus light clients use sync-committee information to follow headers.",
      "sourceIds": [
        "source-4b82943838e3c2ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4b82943838e3c2ce",
          "locator": "Light clients; sync committees; data verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read light-client architecture, sync committees and balance-proof example. Draft correctly scopes verification to supported responses and trustworthy bootstrap, distinguishes correctness from availability, and avoids source’s stale claim that none of the named implementations are production-ready."
        ]
      }
    },
    {
      "id": "ethereum-light-clients-fact-scope",
      "articleSlug": "ethereum-light-clients",
      "statement": "Scope: Different implementations verify different execution-layer data.",
      "sourceIds": [
        "source-4b82943838e3c2ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4b82943838e3c2ce",
          "locator": "Light clients; sync committees; data verification"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read light-client architecture, sync committees and balance-proof example. Draft correctly scopes verification to supported responses and trustworthy bootstrap, distinguishes correctness from availability, and avoids source’s stale claim that none of the named implementations are production-ready."
        ]
      }
    },
    {
      "id": "ethereum-weak-subjectivity-quick-answer",
      "articleSlug": "ethereum-weak-subjectivity",
      "statement": "Weak subjectivity means an Ethereum proof-of-stake node needs a trustworthy recent starting point to distinguish the current chain from a misleading long-range history. After anchoring to that checkpoint, it verifies the chain forward under the protocol rules. Compare checkpoints through independent trusted sources; the checkpoint is a bootstrap assumption, not permission to accept arbitrary future blocks.",
      "sourceIds": [
        "source-92ecd648d0893a8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ecd648d0893a8f",
          "locator": "Weak subjectivity checkpoints; long-range attacks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read complete weak-subjectivity guide. Fresh trusted checkpoint anchors long-range history, forward verification continues, and conflicting finalized states are a separate consensus failure. Independent cross-checks advised without promising trust elimination or a universal offline-day threshold."
        ]
      }
    },
    {
      "id": "ethereum-weak-subjectivity-fact-threat",
      "articleSlug": "ethereum-weak-subjectivity",
      "statement": "Threat: Old validator keys can be used to present a competing long-range history.",
      "sourceIds": [
        "source-92ecd648d0893a8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ecd648d0893a8f",
          "locator": "Weak subjectivity checkpoints; long-range attacks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read complete weak-subjectivity guide. Fresh trusted checkpoint anchors long-range history, forward verification continues, and conflicting finalized states are a separate consensus failure. Independent cross-checks advised without promising trust elimination or a universal offline-day threshold."
        ]
      }
    },
    {
      "id": "ethereum-weak-subjectivity-fact-anchor",
      "articleSlug": "ethereum-weak-subjectivity",
      "statement": "Anchor: A recent trusted checkpoint identifies the accepted starting state.",
      "sourceIds": [
        "source-92ecd648d0893a8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ecd648d0893a8f",
          "locator": "Weak subjectivity checkpoints; long-range attacks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read complete weak-subjectivity guide. Fresh trusted checkpoint anchors long-range history, forward verification continues, and conflicting finalized states are a separate consensus failure. Independent cross-checks advised without promising trust elimination or a universal offline-day threshold."
        ]
      }
    },
    {
      "id": "ethereum-weak-subjectivity-fact-afterward",
      "articleSlug": "ethereum-weak-subjectivity",
      "statement": "Afterward: The node continues checking the chain from that point.",
      "sourceIds": [
        "source-92ecd648d0893a8f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92ecd648d0893a8f",
          "locator": "Weak subjectivity checkpoints; long-range attacks"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read complete weak-subjectivity guide. Fresh trusted checkpoint anchors long-range history, forward verification continues, and conflicting finalized states are a separate consensus failure. Independent cross-checks advised without promising trust elimination or a universal offline-day threshold."
        ]
      }
    },
    {
      "id": "ethereum-network-upgrades-quick-answer",
      "articleSlug": "ethereum-network-upgrades",
      "statement": "An Ethereum network upgrade changes protocol rules through a coordinated process of proposals, review, implementation, testing and node adoption. An EIP number or draft does not mean a feature is live. Check the proposal’s scope and status, the network’s activation and the client version before relying on a behavior described in a future upgrade.",
      "sourceIds": [
        "source-8b618399ddf05875",
        "source-95f53241e21aef41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8b618399ddf05875",
          "locator": "EIP types; workflow; status"
        },
        {
          "sourceId": "source-95f53241e21aef41",
          "locator": "Governance process; stakeholders; network upgrades"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP1 categories/status workflow and governance formal activation process. Core specification, implementation, testnet activation and mainnet activation differ; application ERC need not require network fork. Offchain coordination not automatic token vote. Final specification status not a universal chain-deployment assertion."
        ]
      }
    },
    {
      "id": "ethereum-network-upgrades-fact-proposal",
      "articleSlug": "ethereum-network-upgrades",
      "statement": "Proposal: EIPs document standards or proposed changes and their rationale.",
      "sourceIds": [
        "source-8b618399ddf05875"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8b618399ddf05875",
          "locator": "EIP types; workflow; status"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP1 categories/status workflow and governance formal activation process. Core specification, implementation, testnet activation and mainnet activation differ; application ERC need not require network fork. Offchain coordination not automatic token vote. Final specification status not a universal chain-deployment assertion."
        ]
      }
    },
    {
      "id": "ethereum-network-upgrades-fact-categories",
      "articleSlug": "ethereum-network-upgrades",
      "statement": "Categories: Application standards and core protocol changes are different EIP categories.",
      "sourceIds": [
        "source-8b618399ddf05875"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8b618399ddf05875",
          "locator": "EIP types; workflow; status"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP1 categories/status workflow and governance formal activation process. Core specification, implementation, testnet activation and mainnet activation differ; application ERC need not require network fork. Offchain coordination not automatic token vote. Final specification status not a universal chain-deployment assertion."
        ]
      }
    },
    {
      "id": "ethereum-network-upgrades-fact-activation",
      "articleSlug": "ethereum-network-upgrades",
      "statement": "Activation: Implementation and network activation are separate from publishing a proposal.",
      "sourceIds": [
        "source-95f53241e21aef41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-95f53241e21aef41",
          "locator": "Governance process; stakeholders; network upgrades"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read EIP1 categories/status workflow and governance formal activation process. Core specification, implementation, testnet activation and mainnet activation differ; application ERC need not require network fork. Offchain coordination not automatic token vote. Final specification status not a universal chain-deployment assertion."
        ]
      }
    },
    {
      "id": "ethereum-block-reorganizations-quick-answer",
      "articleSlug": "ethereum-block-reorganizations",
      "statement": "A block reorganization occurs when a node’s chosen chain changes and recent blocks are replaced by another accepted branch. Transactions from a replaced block may be included again elsewhere or remain absent; their old receipt position is no longer enough. Check the current chain and finality status, and let applications undo events from removed blocks.",
      "sourceIds": [
        "source-df4587da99d9b637",
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        },
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read fork-choice discussion and RPC receipt/log fields. removed flag, blockHash, logIndex and transactionHash support reconciliation. An old receipt position does not promise re-inclusion or unchanged execution; draft uses qualified finality rather than a universal confirmation count."
        ]
      }
    },
    {
      "id": "ethereum-block-reorganizations-fact-chain-choice",
      "articleSlug": "ethereum-block-reorganizations",
      "statement": "Chain choice: Consensus fork choice determines the chain head a node follows.",
      "sourceIds": [
        "source-df4587da99d9b637"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-df4587da99d9b637",
          "locator": "Slots; epochs; block proposals; attestations; finality"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read fork-choice discussion and RPC receipt/log fields. removed flag, blockHash, logIndex and transactionHash support reconciliation. An old receipt position does not promise re-inclusion or unchanged execution; draft uses qualified finality rather than a universal confirmation count."
        ]
      }
    },
    {
      "id": "ethereum-block-reorganizations-fact-receipts",
      "articleSlug": "ethereum-block-reorganizations",
      "statement": "Receipts: A receipt identifies the block containing the observed transaction execution.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read fork-choice discussion and RPC receipt/log fields. removed flag, blockHash, logIndex and transactionHash support reconciliation. An old receipt position does not promise re-inclusion or unchanged execution; draft uses qualified finality rather than a universal confirmation count."
        ]
      }
    },
    {
      "id": "ethereum-block-reorganizations-fact-logs",
      "articleSlug": "ethereum-block-reorganizations",
      "statement": "Logs: RPC log data can indicate that a log was removed by a reorganization.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read fork-choice discussion and RPC receipt/log fields. removed flag, blockHash, logIndex and transactionHash support reconciliation. An old receipt position does not promise re-inclusion or unchanged execution; draft uses qualified finality rather than a universal confirmation count."
        ]
      }
    },
    {
      "id": "base-network-quick-answer",
      "articleSlug": "base-network",
      "statement": "Base is an Ethereum rollup: it executes transactions on its own chain and publishes transaction data to Ethereum so nodes can reconstruct the chain. Its sequencer provides quick ordering, while Ethereum publication, finality and the proof system provide later assurances. A Base balance is separate from a mainnet balance, and a fast local confirmation is not the same as completing a withdrawal to Ethereum.",
      "sourceIds": [
        "source-ce983daf420e08fd",
        "source-385f1c0eedd4e951",
        "source-1a6f029f321db9d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ce983daf420e08fd",
          "locator": "Architecture; Ethereum layer 2"
        },
        {
          "sourceId": "source-385f1c0eedd4e951",
          "locator": "Network details; chain identity"
        },
        {
          "sourceId": "source-1a6f029f321db9d7",
          "locator": "Finality stages"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read all three fresh Base overview, network details and transaction-finality pages. Current overview has Reth execution; Beryl finality page has single-proof and dual-proof paths. Draft correctly avoids outdated blanket OP Stack/seven-day descriptions, timing guarantees and unsupported reorg probabilities. Separate-chain 0.05 ETH example correct."
        ]
      }
    },
    {
      "id": "base-network-fact-separate-network",
      "articleSlug": "base-network",
      "statement": "Separate network: Base Mainnet has its own chain identity and state.",
      "sourceIds": [
        "source-385f1c0eedd4e951"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-385f1c0eedd4e951",
          "locator": "Network details; chain identity"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read all three fresh Base overview, network details and transaction-finality pages. Current overview has Reth execution; Beryl finality page has single-proof and dual-proof paths. Draft correctly avoids outdated blanket OP Stack/seven-day descriptions, timing guarantees and unsupported reorg probabilities. Separate-chain 0.05 ETH example correct."
        ]
      }
    },
    {
      "id": "base-network-fact-data",
      "articleSlug": "base-network",
      "statement": "Data: Base publishes compressed transaction data to Ethereum.",
      "sourceIds": [
        "source-ce983daf420e08fd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ce983daf420e08fd",
          "locator": "Architecture; Ethereum layer 2"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read all three fresh Base overview, network details and transaction-finality pages. Current overview has Reth execution; Beryl finality page has single-proof and dual-proof paths. Draft correctly avoids outdated blanket OP Stack/seven-day descriptions, timing guarantees and unsupported reorg probabilities. Separate-chain 0.05 ETH example correct."
        ]
      }
    },
    {
      "id": "base-network-fact-stages",
      "articleSlug": "base-network",
      "statement": "Stages: L2 inclusion, Ethereum finality and withdrawal completion are distinct.",
      "sourceIds": [
        "source-1a6f029f321db9d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a6f029f321db9d7",
          "locator": "Finality stages"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read all three fresh Base overview, network details and transaction-finality pages. Current overview has Reth execution; Beryl finality page has single-proof and dual-proof paths. Draft correctly avoids outdated blanket OP Stack/seven-day descriptions, timing guarantees and unsupported reorg probabilities. Separate-chain 0.05 ETH example correct."
        ]
      }
    },
    {
      "id": "arbitrum-one-quick-answer",
      "articleSlug": "arbitrum-one",
      "statement": "Arbitrum One uses the Nitro rollup architecture to execute transactions outside Ethereum mainnet while publishing data to Ethereum and checking state assertions through its rollup protocol. The sequencer supplies quick ordering, but users should distinguish that receipt from Ethereum-backed settlement and L2-to-L1 message completion. Arbitrum One and Nova do not use identical data-availability assumptions.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro transaction ordering, L1 batch publication, rollup assertions, delayed inbox, L2-to-L1 calls and gas components. One uses rollup; Nova uses AnyTrust. Local finality and separately redeemed outbox message distinct. No unconditional instant censorship bypass or fixed cost quoted."
        ]
      }
    },
    {
      "id": "arbitrum-one-fact-execution",
      "articleSlug": "arbitrum-one",
      "statement": "Execution: Nitro processes Ethereum-compatible transactions through its execution system.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro transaction ordering, L1 batch publication, rollup assertions, delayed inbox, L2-to-L1 calls and gas components. One uses rollup; Nova uses AnyTrust. Local finality and separately redeemed outbox message distinct. No unconditional instant censorship bypass or fixed cost quoted."
        ]
      }
    },
    {
      "id": "arbitrum-one-fact-rollup-data",
      "articleSlug": "arbitrum-one",
      "statement": "Rollup data: The rollup mode posts compressed transaction data to Ethereum.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro transaction ordering, L1 batch publication, rollup assertions, delayed inbox, L2-to-L1 calls and gas components. One uses rollup; Nova uses AnyTrust. Local finality and separately redeemed outbox message distinct. No unconditional instant censorship bypass or fixed cost quoted."
        ]
      }
    },
    {
      "id": "arbitrum-one-fact-cross-chain-calls",
      "articleSlug": "arbitrum-one",
      "statement": "Cross-chain calls: L2-to-L1 messages require later confirmation and execution on L1.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro transaction ordering, L1 batch publication, rollup assertions, delayed inbox, L2-to-L1 calls and gas components. One uses rollup; Nova uses AnyTrust. Local finality and separately redeemed outbox message distinct. No unconditional instant censorship bypass or fixed cost quoted."
        ]
      }
    },
    {
      "id": "optimism-op-mainnet-quick-answer",
      "articleSlug": "optimism-op-mainnet",
      "statement": "OP Mainnet is an Ethereum rollup built with the OP Stack. The sequencer can include a transaction quickly, then the chain’s data is published to Ethereum and becomes finalized with the relevant Ethereum chain state. These stages are distinct from a standard-bridge withdrawal, which also requires proving and finalizing a message on Ethereum.",
      "sourceIds": [
        "source-bba91fdf8532e63b",
        "source-543974e486aeb01b",
        "source-78235bf07c29d69c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        },
        {
          "sourceId": "source-543974e486aeb01b",
          "locator": "Unsafe; safe; finalized; withdrawal distinction"
        },
        {
          "sourceId": "source-78235bf07c29d69c",
          "locator": "Initiate; prove; finalize; fault proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read OP Stack introduction, complete finality guide and withdrawal flow. Unsafe/safe/finalized terms describe sequencing and Ethereum publication, not app legitimacy. Standard-bridge waiting is distinct from ordinary L2 finality; configuration scope explicit and generic absolute source reassurance not copied."
        ]
      }
    },
    {
      "id": "optimism-op-mainnet-fact-software",
      "articleSlug": "optimism-op-mainnet",
      "statement": "Software: OP Stack supplies the software used by OP Mainnet.",
      "sourceIds": [
        "source-bba91fdf8532e63b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read OP Stack introduction, complete finality guide and withdrawal flow. Unsafe/safe/finalized terms describe sequencing and Ethereum publication, not app legitimacy. Standard-bridge waiting is distinct from ordinary L2 finality; configuration scope explicit and generic absolute source reassurance not copied."
        ]
      }
    },
    {
      "id": "optimism-op-mainnet-fact-unsafe-head",
      "articleSlug": "optimism-op-mainnet",
      "statement": "Unsafe head: The protocol calls sequencer blocks not yet backed by published data unsafe.",
      "sourceIds": [
        "source-543974e486aeb01b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-543974e486aeb01b",
          "locator": "Unsafe; safe; finalized; withdrawal distinction"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read OP Stack introduction, complete finality guide and withdrawal flow. Unsafe/safe/finalized terms describe sequencing and Ethereum publication, not app legitimacy. Standard-bridge waiting is distinct from ordinary L2 finality; configuration scope explicit and generic absolute source reassurance not copied."
        ]
      }
    },
    {
      "id": "optimism-op-mainnet-fact-withdrawal",
      "articleSlug": "optimism-op-mainnet",
      "statement": "Withdrawal: The documented withdrawal flow separates initiate, prove and finalize.",
      "sourceIds": [
        "source-78235bf07c29d69c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-78235bf07c29d69c",
          "locator": "Initiate; prove; finalize; fault proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read OP Stack introduction, complete finality guide and withdrawal flow. Unsafe/safe/finalized terms describe sequencing and Ethereum publication, not app legitimacy. Standard-bridge waiting is distinct from ordinary L2 finality; configuration scope explicit and generic absolute source reassurance not copied."
        ]
      }
    },
    {
      "id": "zksync-era-quick-answer",
      "articleSlug": "zksync-era",
      "statement": "ZKsync Era is a validity-rollup network within the ZKsync ecosystem. Proofs let Ethereum verify state-transition results without replaying every transaction there. Era’s execution environment and its EVM bytecode interpreter have documented differences from Ethereum. Familiar Solidity or wallet tooling does not mean every opcode, fee calculation or contract interaction behaves identically.",
      "sourceIds": [
        "source-fac628b4e8303ccd",
        "source-3299ab93a27e0e29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fac628b4e8303ccd",
          "locator": "ZKsync Era; execution; proofs"
        },
        {
          "sourceId": "source-3299ab93a27e0e29",
          "locator": "Execution environments; interpreter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol overview and entire EraVM EVM-interpreter guide. Validity computation and data availability distinct; stack supports rollup/validium configurations. Interpreter supports EVM bytecode but no cross-environment delegatecall; native EraVM not identical EVM. Proof of execution alone does not imply confidential application data or instant payout."
        ]
      }
    },
    {
      "id": "zksync-era-fact-validity-proofs",
      "articleSlug": "zksync-era",
      "statement": "Validity proofs: The protocol verifies proofs of execution results through onchain contracts.",
      "sourceIds": [
        "source-fac628b4e8303ccd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fac628b4e8303ccd",
          "locator": "ZKsync Era; execution; proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol overview and entire EraVM EVM-interpreter guide. Validity computation and data availability distinct; stack supports rollup/validium configurations. Interpreter supports EVM bytecode but no cross-environment delegatecall; native EraVM not identical EVM. Proof of execution alone does not imply confidential application data or instant payout."
        ]
      }
    },
    {
      "id": "zksync-era-fact-eravm",
      "articleSlug": "zksync-era",
      "statement": "EraVM: EraVM is a distinct execution environment.",
      "sourceIds": [
        "source-3299ab93a27e0e29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3299ab93a27e0e29",
          "locator": "Execution environments; interpreter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol overview and entire EraVM EVM-interpreter guide. Validity computation and data availability distinct; stack supports rollup/validium configurations. Interpreter supports EVM bytecode but no cross-environment delegatecall; native EraVM not identical EVM. Proof of execution alone does not imply confidential application data or instant payout."
        ]
      }
    },
    {
      "id": "zksync-era-fact-interpreter",
      "articleSlug": "zksync-era",
      "statement": "Interpreter: An EVM bytecode interpreter supports an additional compatibility path.",
      "sourceIds": [
        "source-3299ab93a27e0e29"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3299ab93a27e0e29",
          "locator": "Execution environments; interpreter"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol overview and entire EraVM EVM-interpreter guide. Validity computation and data availability distinct; stack supports rollup/validium configurations. Interpreter supports EVM bytecode but no cross-environment delegatecall; native EraVM not identical EVM. Proof of execution alone does not imply confidential application data or instant payout."
        ]
      }
    },
    {
      "id": "starknet-quick-answer",
      "articleSlug": "starknet",
      "statement": "Starknet is an Ethereum validity rollup that proves execution with STARK-based proofs and publishes compressed state information to Ethereum. Its accounts are smart contracts with validation logic, rather than Ethereum-style externally owned accounts alone. Use Starknet-aware accounts, tooling and asset routes; an Ethereum address or contract workflow is not automatically portable unchanged.",
      "sourceIds": [
        "source-1b930d686047ef1e",
        "source-d3fa7c1cf136824b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b930d686047ef1e",
          "locator": "Architecture; execution; proving; settlement"
        },
        {
          "sourceId": "source-d3fa7c1cf136824b",
          "locator": "Account abstraction; validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol introduction and Accounts validation/execution flow and limitations. STARK/SNOS proof and compressed state diffs checked on Ethereum; smart account validation separate from execution. Draft avoids source’s outdated universal EOA claims and unrealistic facial-recognition safety assertion; Cairo tooling and application-specific recovery qualified."
        ]
      }
    },
    {
      "id": "starknet-fact-proofs",
      "articleSlug": "starknet",
      "statement": "Proofs: Starknet submits proofs supporting its execution results to Ethereum.",
      "sourceIds": [
        "source-1b930d686047ef1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b930d686047ef1e",
          "locator": "Architecture; execution; proving; settlement"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol introduction and Accounts validation/execution flow and limitations. STARK/SNOS proof and compressed state diffs checked on Ethereum; smart account validation separate from execution. Draft avoids source’s outdated universal EOA claims and unrealistic facial-recognition safety assertion; Cairo tooling and application-specific recovery qualified."
        ]
      }
    },
    {
      "id": "starknet-fact-data",
      "articleSlug": "starknet",
      "statement": "Data: Its protocol publishes compressed state differences for reconstruction.",
      "sourceIds": [
        "source-1b930d686047ef1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1b930d686047ef1e",
          "locator": "Architecture; execution; proving; settlement"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol introduction and Accounts validation/execution flow and limitations. STARK/SNOS proof and compressed state diffs checked on Ethereum; smart account validation separate from execution. Draft avoids source’s outdated universal EOA claims and unrealistic facial-recognition safety assertion; Cairo tooling and application-specific recovery qualified."
        ]
      }
    },
    {
      "id": "starknet-fact-accounts",
      "articleSlug": "starknet",
      "statement": "Accounts: Starknet account contracts separate validation and execution logic.",
      "sourceIds": [
        "source-d3fa7c1cf136824b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3fa7c1cf136824b",
          "locator": "Account abstraction; validation"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read protocol introduction and Accounts validation/execution flow and limitations. STARK/SNOS proof and compressed state diffs checked on Ethereum; smart account validation separate from execution. Draft avoids source’s outdated universal EOA claims and unrealistic facial-recognition safety assertion; Cairo tooling and application-specific recovery qualified."
        ]
      }
    },
    {
      "id": "polygon-pos-and-rollups-quick-answer",
      "articleSlug": "polygon-pos-and-rollups",
      "statement": "Polygon PoS is a separate proof-of-stake network whose validators and Ethereum checkpoint contracts play specific roles. Posting checkpoints to Ethereum is not the same as Ethereum checking a rollup proof of execution. Compare the actual network architecture, bridge and validator assumptions; a shared brand or Ethereum connection does not make every Polygon system an Ethereum rollup.",
      "sourceIds": [
        "source-0b6d0dc47848f1cc",
        "source-3bb455cecdb5481e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b6d0dc47848f1cc",
          "locator": "Bor; Heimdall; checkpoints; Ethereum contracts"
        },
        {
          "sourceId": "source-3bb455cecdb5481e",
          "locator": "Rollups; sidechains; bridges; considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Polygon architecture Ethereum contracts, Heimdall-v2 and Bor sections. Validators create signed checkpoint commitments; a commitment alone is not Ethereum verifying a rollup state-transition proof. Draft clearly labels the comparison as architecture-based and does not infer security from a shared brand."
        ]
      }
    },
    {
      "id": "polygon-pos-and-rollups-fact-production",
      "articleSlug": "polygon-pos-and-rollups",
      "statement": "Production: Bor is the block-production layer described in Polygon PoS documentation.",
      "sourceIds": [
        "source-0b6d0dc47848f1cc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b6d0dc47848f1cc",
          "locator": "Bor; Heimdall; checkpoints; Ethereum contracts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Polygon architecture Ethereum contracts, Heimdall-v2 and Bor sections. Validators create signed checkpoint commitments; a commitment alone is not Ethereum verifying a rollup state-transition proof. Draft clearly labels the comparison as architecture-based and does not infer security from a shared brand."
        ]
      }
    },
    {
      "id": "polygon-pos-and-rollups-fact-consensus",
      "articleSlug": "polygon-pos-and-rollups",
      "statement": "Consensus: Heimdall-v2 coordinates PoS validation and checkpoints.",
      "sourceIds": [
        "source-0b6d0dc47848f1cc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b6d0dc47848f1cc",
          "locator": "Bor; Heimdall; checkpoints; Ethereum contracts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Polygon architecture Ethereum contracts, Heimdall-v2 and Bor sections. Validators create signed checkpoint commitments; a commitment alone is not Ethereum verifying a rollup state-transition proof. Draft clearly labels the comparison as architecture-based and does not infer security from a shared brand."
        ]
      }
    },
    {
      "id": "polygon-pos-and-rollups-fact-checkpoints",
      "articleSlug": "polygon-pos-and-rollups",
      "statement": "Checkpoints: Ethereum contracts receive commitments to Polygon PoS block information.",
      "sourceIds": [
        "source-0b6d0dc47848f1cc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0b6d0dc47848f1cc",
          "locator": "Bor; Heimdall; checkpoints; Ethereum contracts"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Polygon architecture Ethereum contracts, Heimdall-v2 and Bor sections. Validators create signed checkpoint commitments; a commitment alone is not Ethereum verifying a rollup state-transition proof. Draft clearly labels the comparison as architecture-based and does not infer security from a shared brand."
        ]
      }
    },
    {
      "id": "arbitrum-nova-anytrust-quick-answer",
      "articleSlug": "arbitrum-nova-anytrust",
      "statement": "Arbitrum Nova uses Nitro’s AnyTrust design, which can rely on a data-availability committee instead of publishing every batch’s full data on Ethereum. A committee certificate attests that data will be available under the configured assumptions. This reduces one cost source but adds a trust dependency compared with Nitro rollup data publication. The protocol can fall back to publishing full data when it cannot obtain the required certificate.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro Inside AnyTrust, keysets, DACerts, servers and sequencer-committee interaction. Classic H=2 formula K=N+1-H yields 4 signatures for N=5, ensuring at least one honest signer because at most 3 dishonest. Expiry/serving condition and fallback publication preserved; hypothetical committee not live Nova membership."
        ]
      }
    },
    {
      "id": "arbitrum-nova-anytrust-fact-committee",
      "articleSlug": "arbitrum-nova-anytrust",
      "statement": "Committee: AnyTrust committee members store data and serve it on request.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro Inside AnyTrust, keysets, DACerts, servers and sequencer-committee interaction. Classic H=2 formula K=N+1-H yields 4 signatures for N=5, ensuring at least one honest signer because at most 3 dishonest. Expiry/serving condition and fallback publication preserved; hypothetical committee not live Nova membership."
        ]
      }
    },
    {
      "id": "arbitrum-nova-anytrust-fact-certificate",
      "articleSlug": "arbitrum-nova-anytrust",
      "statement": "Certificate: A certificate identifies data and includes the required committee signatures.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro Inside AnyTrust, keysets, DACerts, servers and sequencer-committee interaction. Classic H=2 formula K=N+1-H yields 4 signatures for N=5, ensuring at least one honest signer because at most 3 dishonest. Expiry/serving condition and fallback publication preserved; hypothetical committee not live Nova membership."
        ]
      }
    },
    {
      "id": "arbitrum-nova-anytrust-fact-fallback",
      "articleSlug": "arbitrum-nova-anytrust",
      "statement": "Fallback: A batch can be posted with full data instead of a committee certificate.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read Nitro Inside AnyTrust, keysets, DACerts, servers and sequencer-committee interaction. Classic H=2 formula K=N+1-H yields 4 signatures for N=5, ensuring at least one honest signer because at most 3 dishonest. Expiry/serving condition and fallback publication preserved; hypothetical committee not live Nova membership."
        ]
      }
    },
    {
      "id": "op-stack-and-superchain-quick-answer",
      "articleSlug": "op-stack-and-superchain",
      "statement": "OP Stack is reusable software for building rollup networks; OP Mainnet is one deployment. The Superchain ecosystem coordinates compatible chains and shared configuration or upgrade practices, but each chain still has its own identity and state. Registry inclusion and shared code are useful facts to inspect, not proof that every deployment has identical settings, governance or asset routes.",
      "sourceIds": [
        "source-bba91fdf8532e63b",
        "source-e600a7df365a05d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        },
        {
          "sourceId": "source-e600a7df365a05d7",
          "locator": "Superchain; shared standards; OP Stack"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read stack introduction and registry guide including standard op-deployer versus custom chain and superchain_time inheritance. Registry configuration not a universal interoperability/security promise. Shared software does not combine balances or state."
        ]
      }
    },
    {
      "id": "op-stack-and-superchain-fact-software",
      "articleSlug": "op-stack-and-superchain",
      "statement": "Software: OP Stack is a component stack, not one account balance or chain.",
      "sourceIds": [
        "source-bba91fdf8532e63b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read stack introduction and registry guide including standard op-deployer versus custom chain and superchain_time inheritance. Registry configuration not a universal interoperability/security promise. Shared software does not combine balances or state."
        ]
      }
    },
    {
      "id": "op-stack-and-superchain-fact-registry",
      "articleSlug": "op-stack-and-superchain",
      "statement": "Registry: The Superchain Registry records participating chains and their configurations.",
      "sourceIds": [
        "source-e600a7df365a05d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e600a7df365a05d7",
          "locator": "Superchain; shared standards; OP Stack"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read stack introduction and registry guide including standard op-deployer versus custom chain and superchain_time inheritance. Registry configuration not a universal interoperability/security promise. Shared software does not combine balances or state."
        ]
      }
    },
    {
      "id": "op-stack-and-superchain-fact-configuration",
      "articleSlug": "op-stack-and-superchain",
      "statement": "Configuration: The registry distinguishes standard and custom deployments.",
      "sourceIds": [
        "source-e600a7df365a05d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e600a7df365a05d7",
          "locator": "Superchain; shared standards; OP Stack"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read stack introduction and registry guide including standard op-deployer versus custom chain and superchain_time inheritance. Registry configuration not a universal interoperability/security promise. Shared software does not combine balances or state."
        ]
      }
    },
    {
      "id": "rollup-withdrawal-troubleshooting-quick-answer",
      "articleSlug": "rollup-withdrawal-troubleshooting",
      "statement": "A rollup withdrawal can be waiting for data publication, a state proposal or proof, a protocol delay, or a final transaction on the destination chain. Identify the network and bridge, then follow the withdrawal message across its stages. A successful source-chain transaction does not by itself prove that the destination account has been paid. Exact steps and waiting rules differ by protocol and version.",
      "sourceIds": [
        "source-78235bf07c29d69c",
        "source-1a6f029f321db9d7",
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-78235bf07c29d69c",
          "locator": "Initiate; prove; finalize; fault proofs"
        },
        {
          "sourceId": "source-1a6f029f321db9d7",
          "locator": "Finality stages"
        },
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full OP withdrawal initiate/prove/finalize flow and Base current proof paths. Own proving timestamp starts proof-maturity timer even if game already resolved; re-proving resets timer. Invalid claim requires valid re-proof. Actual final result must be checked; source’s blanket internal-revert reassurance deliberately excluded."
        ]
      }
    },
    {
      "id": "rollup-withdrawal-troubleshooting-fact-source-step",
      "articleSlug": "rollup-withdrawal-troubleshooting",
      "statement": "Source step: Starting a withdrawal records an action on the source chain.",
      "sourceIds": [
        "source-78235bf07c29d69c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-78235bf07c29d69c",
          "locator": "Initiate; prove; finalize; fault proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full OP withdrawal initiate/prove/finalize flow and Base current proof paths. Own proving timestamp starts proof-maturity timer even if game already resolved; re-proving resets timer. Invalid claim requires valid re-proof. Actual final result must be checked; source’s blanket internal-revert reassurance deliberately excluded."
        ]
      }
    },
    {
      "id": "rollup-withdrawal-troubleshooting-fact-l1-steps",
      "articleSlug": "rollup-withdrawal-troubleshooting",
      "statement": "L1 steps: The OP Stack example requires separate proving and finalization transactions.",
      "sourceIds": [
        "source-78235bf07c29d69c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-78235bf07c29d69c",
          "locator": "Initiate; prove; finalize; fault proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full OP withdrawal initiate/prove/finalize flow and Base current proof paths. Own proving timestamp starts proof-maturity timer even if game already resolved; re-proving resets timer. Invalid claim requires valid re-proof. Actual final result must be checked; source’s blanket internal-revert reassurance deliberately excluded."
        ]
      }
    },
    {
      "id": "rollup-withdrawal-troubleshooting-fact-version-matters",
      "articleSlug": "rollup-withdrawal-troubleshooting",
      "statement": "Version matters: Base’s current finalization paths differ from a generic fixed waiting rule.",
      "sourceIds": [
        "source-1a6f029f321db9d7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1a6f029f321db9d7",
          "locator": "Finality stages"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read full OP withdrawal initiate/prove/finalize flow and Base current proof paths. Own proving timestamp starts proof-maturity timer even if game already resolved; re-proving resets timer. Invalid claim requires valid re-proof. Actual final result must be checked; source’s blanket internal-revert reassurance deliberately excluded."
        ]
      }
    },
    {
      "id": "comparing-ethereum-layer-2s-quick-answer",
      "articleSlug": "comparing-ethereum-layer-2s",
      "statement": "Compare a layer-2 network by what Ethereum verifies, where users can obtain its data, who orders transactions, who can change its contracts and how assets exit. Also check application compatibility and the exact token route. A low fee or a familiar EVM interface answers only part of that comparison; a broad label such as rollup does not describe every current deployment detail.",
      "sourceIds": [
        "source-3bb455cecdb5481e",
        "source-2d1073e5ab3a8020",
        "source-bba91fdf8532e63b",
        "source-fac628b4e8303ccd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bb455cecdb5481e",
          "locator": "Rollups; sidechains; bridges; considerations"
        },
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        },
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        },
        {
          "sourceId": "source-fac628b4e8303ccd",
          "locator": "ZKsync Era; execution; proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked each comparison against Nitro, ZKsync, OP, Base, Starknet and Ethereum L2 sources. Added Nitro to proof-design key fact because current generic L2 landing page does not itself explain optimistic challenge mechanics. Data publication, committee availability, controls, compatibility and full withdrawal journey remain separate dimensions, with no live ranking or fee estimate."
        ]
      }
    },
    {
      "id": "comparing-ethereum-layer-2s-fact-data",
      "articleSlug": "comparing-ethereum-layer-2s",
      "statement": "Data: Ethereum publication and committee-backed availability have different assumptions.",
      "sourceIds": [
        "source-2d1073e5ab3a8020"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked each comparison against Nitro, ZKsync, OP, Base, Starknet and Ethereum L2 sources. Added Nitro to proof-design key fact because current generic L2 landing page does not itself explain optimistic challenge mechanics. Data publication, committee availability, controls, compatibility and full withdrawal journey remain separate dimensions, with no live ranking or fee estimate."
        ]
      }
    },
    {
      "id": "comparing-ethereum-layer-2s-fact-proofs",
      "articleSlug": "comparing-ethereum-layer-2s",
      "statement": "Proofs: Optimistic and validity systems establish state claims through different mechanisms.",
      "sourceIds": [
        "source-2d1073e5ab3a8020",
        "source-fac628b4e8303ccd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2d1073e5ab3a8020",
          "locator": "Transaction journey; rollup; AnyTrust"
        },
        {
          "sourceId": "source-fac628b4e8303ccd",
          "locator": "ZKsync Era; execution; proofs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked each comparison against Nitro, ZKsync, OP, Base, Starknet and Ethereum L2 sources. Added Nitro to proof-design key fact because current generic L2 landing page does not itself explain optimistic challenge mechanics. Data publication, committee availability, controls, compatibility and full withdrawal journey remain separate dimensions, with no live ranking or fee estimate."
        ]
      }
    },
    {
      "id": "comparing-ethereum-layer-2s-fact-compatibility",
      "articleSlug": "comparing-ethereum-layer-2s",
      "statement": "Compatibility: EVM tooling compatibility can still have documented execution differences.",
      "sourceIds": [
        "source-3299ab93a27e0e29",
        "source-bba91fdf8532e63b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3299ab93a27e0e29",
          "locator": "Execution environments; interpreter"
        },
        {
          "sourceId": "source-bba91fdf8532e63b",
          "locator": "OP Stack; components; deployments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked each comparison against Nitro, ZKsync, OP, Base, Starknet and Ethereum L2 sources. Added Nitro to proof-design key fact because current generic L2 landing page does not itself explain optimistic challenge mechanics. Data publication, committee availability, controls, compatibility and full withdrawal journey remain separate dimensions, with no live ranking or fee estimate."
        ]
      }
    },
    {
      "id": "stablecoins-vs-cbdcs-quick-answer",
      "articleSlug": "stablecoins-vs-cbdcs",
      "statement": "A stablecoin is privately issued or created through a protocol and targets a reference value. A central bank digital currency, or CBDC, is a digital liability of a central bank. A dollar peg does not turn a private token into central-bank money, and neither label alone tells you who may use it or how its payment system works.",
      "sourceIds": [
        "source-0f2f6ebf10a74a26",
        "source-f7c37854a2ba325a",
        "source-1ae927837801d94b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        },
        {
          "sourceId": "source-f7c37854a2ba325a",
          "locator": "Redirected discussion-paper summary: first paragraph defining CBDC as a liability of the central bank"
        },
        {
          "sourceId": "source-1ae927837801d94b",
          "locator": "Retail and wholesale definitions; Architecture"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CBDC liability, retail/wholesale and architecture checked against three separate sources. Added issuer-terms citation for restrictions; no US launch claim."
      }
    },
    {
      "id": "stablecoins-vs-cbdcs-fact-issuer",
      "articleSlug": "stablecoins-vs-cbdcs",
      "statement": "Issuer: A CBDC is a direct central-bank liability; a privately issued stablecoin is not.",
      "sourceIds": [
        "source-f7c37854a2ba325a",
        "source-0f2f6ebf10a74a26"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f7c37854a2ba325a",
          "locator": "Redirected discussion-paper summary: first paragraph defining CBDC as a liability of the central bank"
        },
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CBDC liability, retail/wholesale and architecture checked against three separate sources. Added issuer-terms citation for restrictions; no US launch claim."
      }
    },
    {
      "id": "stablecoins-vs-cbdcs-fact-access",
      "articleSlug": "stablecoins-vs-cbdcs",
      "statement": "Access: Retail and wholesale CBDC designs serve different users.",
      "sourceIds": [
        "source-1ae927837801d94b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1ae927837801d94b",
          "locator": "Retail and wholesale definitions; Architecture"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CBDC liability, retail/wholesale and architecture checked against three separate sources. Added issuer-terms citation for restrictions; no US launch claim."
      }
    },
    {
      "id": "stablecoins-vs-cbdcs-fact-technology",
      "articleSlug": "stablecoins-vs-cbdcs",
      "statement": "Technology: Digital central-bank money does not inherently require a public blockchain.",
      "sourceIds": [
        "source-1ae927837801d94b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1ae927837801d94b",
          "locator": "Retail and wholesale definitions; Architecture"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CBDC liability, retail/wholesale and architecture checked against three separate sources. Added issuer-terms citation for restrictions; no US launch claim."
      }
    },
    {
      "id": "stablecoins-vs-tokenized-deposits-quick-answer",
      "articleSlug": "stablecoins-vs-tokenized-deposits",
      "statement": "A tokenized bank deposit represents a commercial-bank deposit recorded or used on a programmable ledger. A stablecoin normally represents a separate token claim or protocol mechanism. The important distinction is the legal liability and settlement arrangement, not whether both use blockchain software; products marketed as deposit tokens can use different transfer models.",
      "sourceIds": [
        "source-bbdfd6d06b4bef9e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbdfd6d06b4bef9e",
          "locator": "Two models of private tokenised money, pp. 1–6, especially non-bearer transfers and protections on pp. 4–6"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bearer and non-bearer models match BIS analysis. 100-unit Bank A/Bank B example preserves liability distinction; protection claims stay conditional."
      }
    },
    {
      "id": "stablecoins-vs-tokenized-deposits-fact-liability",
      "articleSlug": "stablecoins-vs-tokenized-deposits",
      "statement": "Liability: A tokenized deposit remains a claim on its issuing commercial bank in the deposit model discussed here.",
      "sourceIds": [
        "source-bbdfd6d06b4bef9e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbdfd6d06b4bef9e",
          "locator": "Two models of private tokenised money, pp. 1–6, especially non-bearer transfers and protections on pp. 4–6"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bearer and non-bearer models match BIS analysis. 100-unit Bank A/Bank B example preserves liability distinction; protection claims stay conditional."
      }
    },
    {
      "id": "stablecoins-vs-tokenized-deposits-fact-transfer",
      "articleSlug": "stablecoins-vs-tokenized-deposits",
      "statement": "Transfer: The BIS comparison distinguishes bearer-like token transfers from debiting and crediting bank deposits.",
      "sourceIds": [
        "source-bbdfd6d06b4bef9e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbdfd6d06b4bef9e",
          "locator": "Two models of private tokenised money, pp. 1–6, especially non-bearer transfers and protections on pp. 4–6"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bearer and non-bearer models match BIS analysis. 100-unit Bank A/Bank B example preserves liability distinction; protection claims stay conditional."
      }
    },
    {
      "id": "stablecoins-vs-tokenized-deposits-fact-scope",
      "articleSlug": "stablecoins-vs-tokenized-deposits",
      "statement": "Scope: Tokenization does not by itself make a bank liability central-bank money.",
      "sourceIds": [
        "source-bbdfd6d06b4bef9e",
        "source-f7c37854a2ba325a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbdfd6d06b4bef9e",
          "locator": "Two models of private tokenised money, pp. 1–6, especially non-bearer transfers and protections on pp. 4–6"
        },
        {
          "sourceId": "source-f7c37854a2ba325a",
          "locator": "Redirected discussion-paper summary: first paragraph defining CBDC as a liability of the central bank"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bearer and non-bearer models match BIS analysis. 100-unit Bank A/Bank B example preserves liability distinction; protection claims stay conditional."
      }
    },
    {
      "id": "stablecoins-vs-bitcoin-quick-answer",
      "articleSlug": "stablecoins-vs-bitcoin",
      "statement": "Bitcoin has its own monetary unit and no promise to redeem each coin for a fixed amount of national currency. A stablecoin is designed to track a reference such as the US dollar through reserves, collateral or other mechanisms. Both can move digitally, but a stablecoin’s peg and issuer or protocol dependencies create a different monetary design.",
      "sourceIds": [
        "source-0f2f6ebf10a74a26",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bitcoin/reference-value comparison supported. Added receiving-service citation to operational deposit checks; hypothetical 100-dollar obligation is not a market quote."
      }
    },
    {
      "id": "stablecoins-vs-bitcoin-fact-reference-value",
      "articleSlug": "stablecoins-vs-bitcoin",
      "statement": "Reference value: Bitcoin is not a dollar-pegged stablecoin.",
      "sourceIds": [
        "source-0f2f6ebf10a74a26"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bitcoin/reference-value comparison supported. Added receiving-service citation to operational deposit checks; hypothetical 100-dollar obligation is not a market quote."
      }
    },
    {
      "id": "stablecoins-vs-bitcoin-fact-backing-model",
      "articleSlug": "stablecoins-vs-bitcoin",
      "statement": "Backing model: A fiat-backed stablecoin depends on an issuer’s reserve and redemption arrangement.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bitcoin/reference-value comparison supported. Added receiving-service citation to operational deposit checks; hypothetical 100-dollar obligation is not a market quote."
      }
    },
    {
      "id": "stablecoins-vs-bitcoin-fact-networks",
      "articleSlug": "stablecoins-vs-bitcoin",
      "statement": "Networks: A token’s name is separate from the blockchain carrying it.",
      "sourceIds": [
        "source-77bd1e40f0500d2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Bitcoin/reference-value comparison supported. Added receiving-service citation to operational deposit checks; hypothetical 100-dollar obligation is not a market quote."
      }
    },
    {
      "id": "stablecoin-currency-risk-quick-answer",
      "articleSlug": "stablecoin-currency-risk",
      "statement": "A dollar stablecoin can hold its dollar peg while changing value in euros, pounds or another currency. If your expenses are in that other currency, you still have foreign-exchange exposure. Peg risk, currency risk and conversion fees are separate: eliminating one does not eliminate the others.",
      "sourceIds": [
        "source-0f2f6ebf10a74a26",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 1,000 × 0.90 = 900 and × 0.85 = 850; difference 50 euros with no depeg. Currency, token quote and fee risks separated."
      }
    },
    {
      "id": "stablecoin-currency-risk-fact-reference",
      "articleSlug": "stablecoin-currency-risk",
      "statement": "Reference: The target is a specified currency or asset, not every currency at once.",
      "sourceIds": [
        "source-0f2f6ebf10a74a26"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0f2f6ebf10a74a26",
          "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 1,000 × 0.90 = 900 and × 0.85 = 850; difference 50 euros with no depeg. Currency, token quote and fee risks separated."
      }
    },
    {
      "id": "stablecoin-currency-risk-fact-local-proceeds",
      "articleSlug": "stablecoin-currency-risk",
      "statement": "Local proceeds: Token quantity, token price and the exchange rate all affect local-currency proceeds.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 1,000 × 0.90 = 900 and × 0.85 = 850; difference 50 euros with no depeg. Currency, token quote and fee risks separated."
      }
    },
    {
      "id": "stablecoin-currency-risk-fact-market-execution",
      "articleSlug": "stablecoin-currency-risk",
      "statement": "Market execution: A quoted reference value differs from the actual third-party sale price and costs.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 1,000 × 0.90 = 900 and × 0.85 = 850; difference 50 euros with no depeg. Currency, token quote and fee risks separated."
      }
    },
    {
      "id": "stablecoin-off-ramps-quick-answer",
      "articleSlug": "stablecoin-off-ramps",
      "statement": "An off-ramp converts a cryptoasset balance into money available through a bank or another local payment system. For stablecoins, it can involve selling tokens to a platform or redeeming through an eligible issuer account, followed by a payout. A completed blockchain deposit is only one stage; it does not prove the final bank balance is available.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        },
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed (500 − 2) × 0.90 = 448.20 local units. Issuer access and secondary sale distinguished; no payout-time guarantee."
      }
    },
    {
      "id": "stablecoin-off-ramps-fact-route",
      "articleSlug": "stablecoin-off-ramps",
      "statement": "Route: Issuer redemption and a secondary-market sale are different transactions.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed (500 − 2) × 0.90 = 448.20 local units. Issuer access and secondary sale distinguished; no payout-time guarantee."
      }
    },
    {
      "id": "stablecoin-off-ramps-fact-eligibility",
      "articleSlug": "stablecoin-off-ramps",
      "statement": "Eligibility: Direct issuer redemption can require an approved account.",
      "sourceIds": [
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed (500 − 2) × 0.90 = 448.20 local units. Issuer access and secondary sale distinguished; no payout-time guarantee."
      }
    },
    {
      "id": "stablecoin-off-ramps-fact-completion",
      "articleSlug": "stablecoin-off-ramps",
      "statement": "Completion: A token receipt and the eventual local payout are separate events.",
      "sourceIds": [
        "source-781ca4d935bf18bc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-781ca4d935bf18bc",
          "locator": "How CPN works; participating institutions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed (500 − 2) × 0.90 = 448.20 local units. Issuer access and secondary sale distinguished; no payout-time guarantee."
      }
    },
    {
      "id": "stablecoin-cross-border-payments-quick-answer",
      "articleSlug": "stablecoin-cross-border-payments",
      "statement": "A cross-border stablecoin payment can use a blockchain for the middle transfer while relying on ordinary payment services at either end. The sender may buy tokens, transfer them, and have a recipient or provider convert them into local money. Speed and cost depend on the complete route, not just the blockchain transaction.",
      "sourceIds": [
        "source-781ca4d935bf18bc",
        "source-d6a01c7f25554af8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-781ca4d935bf18bc",
          "locator": "How CPN works; participating institutions"
        },
        {
          "sourceId": "source-d6a01c7f25554af8",
          "locator": "B2B payments; remittances; payroll; merchant payments"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "OFI/BFI workflow supports funding, token transfer and local payout distinction. 1,000-unit invoice is an illustrative comparison, not a fee quote."
      }
    },
    {
      "id": "stablecoin-cross-border-payments-fact-stages",
      "articleSlug": "stablecoin-cross-border-payments",
      "statement": "Stages: Funding, token transfer and local payout can involve different providers.",
      "sourceIds": [
        "source-781ca4d935bf18bc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-781ca4d935bf18bc",
          "locator": "How CPN works; participating institutions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "OFI/BFI workflow supports funding, token transfer and local payout distinction. 1,000-unit invoice is an illustrative comparison, not a fee quote."
      }
    },
    {
      "id": "stablecoin-cross-border-payments-fact-recipient",
      "articleSlug": "stablecoin-cross-border-payments",
      "statement": "Recipient: Receiving a token is different from receiving spendable local bank money.",
      "sourceIds": [
        "source-781ca4d935bf18bc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-781ca4d935bf18bc",
          "locator": "How CPN works; participating institutions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "OFI/BFI workflow supports funding, token transfer and local payout distinction. 1,000-unit invoice is an illustrative comparison, not a fee quote."
      }
    },
    {
      "id": "stablecoin-cross-border-payments-fact-fx",
      "articleSlug": "stablecoin-cross-border-payments",
      "statement": "FX: A dollar reference does not fix the conversion rate into the recipient’s currency.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "OFI/BFI workflow supports funding, token transfer and local payout distinction. 1,000-unit invoice is an illustrative comparison, not a fee quote."
      }
    },
    {
      "id": "stablecoin-merchant-payments-quick-answer",
      "articleSlug": "stablecoin-merchant-payments",
      "statement": "A merchant can receive stablecoins directly into a wallet or use a processor that handles token acceptance and credits another settlement currency. The customer’s payment asset therefore may differ from the merchant’s final balance. Before fulfillment, verify the accepted token, network, amount and completed payment status in the chosen system.",
      "sourceIds": [
        "source-6abcea6a4776290a",
        "source-d6a01c7f25554af8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6abcea6a4776290a",
          "locator": "Payment flow; refunds; disputes; settlement"
        },
        {
          "sourceId": "source-d6a01c7f25554af8",
          "locator": "B2B payments; remittances; payroll; merchant payments"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current Stripe source explicitly says local-currency merchant balance. Refund versus disputes distinction checked; added privacy support."
      }
    },
    {
      "id": "stablecoin-merchant-payments-fact-direct-receipt",
      "articleSlug": "stablecoin-merchant-payments",
      "statement": "Direct receipt: A direct wallet payment leaves the merchant holding the token until it is spent or converted.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current Stripe source explicitly says local-currency merchant balance. Refund versus disputes distinction checked; added privacy support."
      }
    },
    {
      "id": "stablecoin-merchant-payments-fact-processor-example",
      "articleSlug": "stablecoin-merchant-payments",
      "statement": "Processor example: Stripe documents stablecoin acceptance with completed payments settling in its merchant balance.",
      "sourceIds": [
        "source-6abcea6a4776290a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6abcea6a4776290a",
          "locator": "Payment flow; refunds; disputes; settlement"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current Stripe source explicitly says local-currency merchant balance. Refund versus disputes distinction checked; added privacy support."
      }
    },
    {
      "id": "stablecoin-merchant-payments-fact-refund",
      "articleSlug": "stablecoin-merchant-payments",
      "statement": "Refund: A supported refund workflow is distinct from a card-style dispute process.",
      "sourceIds": [
        "source-6abcea6a4776290a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6abcea6a4776290a",
          "locator": "Payment flow; refunds; disputes; settlement"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current Stripe source explicitly says local-currency merchant balance. Refund versus disputes distinction checked; added privacy support."
      }
    },
    {
      "id": "stablecoin-payment-refunds-quick-answer",
      "articleSlug": "stablecoin-payment-refunds",
      "statement": "A stablecoin refund normally returns value through a new transfer or a payment processor’s refund workflow. It does not erase the original blockchain transfer. Confirm the original payment, the authorized refund destination and the agreed asset, amount and network; an exchange’s sending address may not be a valid return address for its customer.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9",
        "source-6abcea6a4776290a",
        "source-14e4ed40d664ea20",
        "source-1140fbecda49abb4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        },
        {
          "sourceId": "source-6abcea6a4776290a",
          "locator": "Payment flow; refunds; disputes; settlement"
        },
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        },
        {
          "sourceId": "source-1140fbecda49abb4",
          "locator": "Opening warning; Return options"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Irreversible original payment and separate refund states checked. Added Coinbase return-address primary support and narrowed address passage to documented example."
      }
    },
    {
      "id": "stablecoin-payment-refunds-fact-history",
      "articleSlug": "stablecoin-payment-refunds",
      "statement": "History: Returning value does not remove the original confirmed transfer.",
      "sourceIds": [
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Irreversible original payment and separate refund states checked. Added Coinbase return-address primary support and narrowed address passage to documented example."
      }
    },
    {
      "id": "stablecoin-payment-refunds-fact-workflow",
      "articleSlug": "stablecoin-payment-refunds",
      "statement": "Workflow: Stripe documents full and partial refunds for its stablecoin payment method.",
      "sourceIds": [
        "source-6abcea6a4776290a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6abcea6a4776290a",
          "locator": "Payment flow; refunds; disputes; settlement"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Irreversible original payment and separate refund states checked. Added Coinbase return-address primary support and narrowed address passage to documented example."
      }
    },
    {
      "id": "stablecoin-payment-refunds-fact-destination",
      "articleSlug": "stablecoin-payment-refunds",
      "statement": "Destination: A recipient service’s deposit instructions determine how it attributes a returned payment.",
      "sourceIds": [
        "source-14e4ed40d664ea20",
        "source-b0762b8413431759"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        },
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Irreversible original payment and separate refund states checked. Added Coinbase return-address primary support and narrowed address passage to documented example."
      }
    },
    {
      "id": "stablecoin-payroll-quick-answer",
      "articleSlug": "stablecoin-payroll",
      "statement": "Stablecoin payroll uses tokens as a payment rail for compensation. The wage or contractor obligation, its denomination and the net amount owed still need to be determined separately. Delivery of tokens does not by itself establish compliance with local payroll rules, tax treatment or the recipient’s ability to convert the payment into spending money.",
      "sourceIds": [
        "source-d495478b2009e81e",
        "source-96ecf7d587351e6a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d495478b2009e81e",
          "locator": "A stablecoin payroll strategy; reporting"
        },
        {
          "sourceId": "source-96ecf7d587351e6a",
          "locator": "How it works; limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 800 − 5 = 795. Service eligibility and payroll reporting remain attributed; added public-ledger privacy support. No jurisdiction-specific legal conclusion."
      }
    },
    {
      "id": "stablecoin-payroll-fact-denomination",
      "articleSlug": "stablecoin-payroll",
      "statement": "Denomination: The agreed compensation currency and delivery token can differ.",
      "sourceIds": [
        "source-96ecf7d587351e6a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-96ecf7d587351e6a",
          "locator": "How it works; limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 800 − 5 = 795. Service eligibility and payroll reporting remain attributed; added public-ledger privacy support. No jurisdiction-specific legal conclusion."
      }
    },
    {
      "id": "stablecoin-payroll-fact-access",
      "articleSlug": "stablecoin-payroll",
      "statement": "Access: A payout service can restrict eligible recipients, countries and account types.",
      "sourceIds": [
        "source-96ecf7d587351e6a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-96ecf7d587351e6a",
          "locator": "How it works; limitations"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 800 − 5 = 795. Service eligibility and payroll reporting remain attributed; added public-ledger privacy support. No jurisdiction-specific legal conclusion."
      }
    },
    {
      "id": "stablecoin-payroll-fact-records",
      "articleSlug": "stablecoin-payroll",
      "statement": "Records: A provider can retain payroll records alongside on-chain payment records.",
      "sourceIds": [
        "source-d495478b2009e81e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d495478b2009e81e",
          "locator": "A stablecoin payroll strategy; reporting"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Recomputed 800 − 5 = 795. Service eligibility and payroll reporting remain attributed; added public-ledger privacy support. No jurisdiction-specific legal conclusion."
      }
    },
    {
      "id": "stablecoin-payment-reconciliation-quick-answer",
      "articleSlug": "stablecoin-payment-reconciliation",
      "statement": "Stablecoin reconciliation matches business records with verified transfers and processor events. Record the chain, token identity, transaction reference, recipient, amount, status and associated invoice, then account for fees, conversions and refunds separately. A transaction hash identifies an event; it does not by itself explain which invoice was paid or whether the business received the intended asset.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-43794d50912b3ed9",
        "source-8029cd9ca5006236"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Token methods and events"
        },
        {
          "sourceId": "source-43794d50912b3ed9",
          "locator": "Event delivery; duplicate events; ordering"
        },
        {
          "sourceId": "source-8029cd9ca5006236",
          "locator": "Refund status; handling failures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 event identity and Stripe duplicate/out-of-order notifications checked. Recomputed 100 − 20 = 80; separate native-fee asset preserved."
      }
    },
    {
      "id": "stablecoin-payment-reconciliation-fact-identity",
      "articleSlug": "stablecoin-payment-reconciliation",
      "statement": "Identity: ERC-20 transfer events belong to a particular token contract.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Token methods and events"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 event identity and Stripe duplicate/out-of-order notifications checked. Recomputed 100 − 20 = 80; separate native-fee asset preserved."
      }
    },
    {
      "id": "stablecoin-payment-reconciliation-fact-duplicates",
      "articleSlug": "stablecoin-payment-reconciliation",
      "statement": "Duplicates: Webhook delivery can repeat; processing should handle duplicate events.",
      "sourceIds": [
        "source-43794d50912b3ed9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-43794d50912b3ed9",
          "locator": "Event delivery; duplicate events; ordering"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 event identity and Stripe duplicate/out-of-order notifications checked. Recomputed 100 − 20 = 80; separate native-fee asset preserved."
      }
    },
    {
      "id": "stablecoin-payment-reconciliation-fact-refunds",
      "articleSlug": "stablecoin-payment-reconciliation",
      "statement": "Refunds: A refund has its own amount and processing state.",
      "sourceIds": [
        "source-8029cd9ca5006236"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8029cd9ca5006236",
          "locator": "Refund status; handling failures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 event identity and Stripe duplicate/out-of-order notifications checked. Recomputed 100 − 20 = 80; separate native-fee asset preserved."
      }
    },
    {
      "id": "usdt-trc20-vs-erc20-quick-answer",
      "articleSlug": "usdt-trc20-vs-erc20",
      "statement": "TRC-20 USDT and ERC-20 USDT are Tether tokens on different blockchains: TRON and Ethereum. The issuer’s dollar reference does not make the networks interchangeable. A receiver must support the chosen USDT deployment and chain; ordinary Ethereum transfers use ETH for gas, while TRON uses Bandwidth and Energy with TRX-based payment mechanisms.",
      "sourceIds": [
        "source-77bd1e40f0500d2d",
        "source-7379f01ec09cfd55",
        "source-9e68fa8701c8a95f",
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        },
        {
          "sourceId": "source-7379f01ec09cfd55",
          "locator": "Resource comparison; recovery"
        },
        {
          "sourceId": "source-9e68fa8701c8a95f",
          "locator": "TRX burn fallback; fee_limit; dynamic Energy"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas fees; paying in ETH"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "USDT official Ethereum/TRON deployments and separate native resources checked. Example 1-USDT platform fee is explicitly hypothetical."
      }
    },
    {
      "id": "usdt-trc20-vs-erc20-fact-trc-20",
      "articleSlug": "usdt-trc20-vs-erc20",
      "statement": "TRC-20: The label identifies a TRON token interface and network context.",
      "sourceIds": [
        "source-77bd1e40f0500d2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "USDT official Ethereum/TRON deployments and separate native resources checked. Example 1-USDT platform fee is explicitly hypothetical."
      }
    },
    {
      "id": "usdt-trc20-vs-erc20-fact-erc-20",
      "articleSlug": "usdt-trc20-vs-erc20",
      "statement": "ERC-20: The label identifies an Ethereum-style token interface; identify the chain as well.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-77bd1e40f0500d2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Token methods and events"
        },
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "USDT official Ethereum/TRON deployments and separate native resources checked. Example 1-USDT platform fee is explicitly hypothetical."
      }
    },
    {
      "id": "usdt-trc20-vs-erc20-fact-fee-model",
      "articleSlug": "usdt-trc20-vs-erc20",
      "statement": "Fee model: TRON token transfers consume contract-execution resources, not simply a fixed USDT charge.",
      "sourceIds": [
        "source-7379f01ec09cfd55",
        "source-9e68fa8701c8a95f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7379f01ec09cfd55",
          "locator": "Resource comparison; recovery"
        },
        {
          "sourceId": "source-9e68fa8701c8a95f",
          "locator": "TRX burn fallback; fee_limit; dynamic Energy"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "USDT official Ethereum/TRON deployments and separate native resources checked. Example 1-USDT platform fee is explicitly hypothetical."
      }
    },
    {
      "id": "tron-usdt-energy-bandwidth-quick-answer",
      "articleSlug": "tron-usdt-energy-bandwidth",
      "statement": "A USDT transfer on TRON calls a token contract, so it uses Energy for computation and Bandwidth for transaction data. Available resources may cover part or all of the cost; otherwise TRX can be burned under network rules. The required resources and current chain parameters matter, so there is no single permanent USDT transfer fee.",
      "sourceIds": [
        "source-7379f01ec09cfd55",
        "source-9e68fa8701c8a95f",
        "source-77bd1e40f0500d2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7379f01ec09cfd55",
          "locator": "Resource comparison; recovery"
        },
        {
          "sourceId": "source-9e68fa8701c8a95f",
          "locator": "TRX burn fallback; fee_limit; dynamic Energy"
        },
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Energy/Bandwidth units and 1,000,000 sun/TRX confirmed. Recomputed uncovered Energy cost. Clarified fee_limit includes stake and TRX-burn portions."
      }
    },
    {
      "id": "tron-usdt-energy-bandwidth-fact-bandwidth",
      "articleSlug": "tron-usdt-energy-bandwidth",
      "statement": "Bandwidth: Meters transaction byte size.",
      "sourceIds": [
        "source-7379f01ec09cfd55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7379f01ec09cfd55",
          "locator": "Resource comparison; recovery"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Energy/Bandwidth units and 1,000,000 sun/TRX confirmed. Recomputed uncovered Energy cost. Clarified fee_limit includes stake and TRX-burn portions."
      }
    },
    {
      "id": "tron-usdt-energy-bandwidth-fact-energy",
      "articleSlug": "tron-usdt-energy-bandwidth",
      "statement": "Energy: Meters smart-contract execution.",
      "sourceIds": [
        "source-7379f01ec09cfd55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7379f01ec09cfd55",
          "locator": "Resource comparison; recovery"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Energy/Bandwidth units and 1,000,000 sun/TRX confirmed. Recomputed uncovered Energy cost. Clarified fee_limit includes stake and TRX-burn portions."
      }
    },
    {
      "id": "tron-usdt-energy-bandwidth-fact-fallback",
      "articleSlug": "tron-usdt-energy-bandwidth",
      "statement": "Fallback: TRX charges can apply when eligible resource capacity is insufficient.",
      "sourceIds": [
        "source-9e68fa8701c8a95f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9e68fa8701c8a95f",
          "locator": "TRX burn fallback; fee_limit; dynamic Energy"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Energy/Bandwidth units and 1,000,000 sun/TRX confirmed. Recomputed uncovered Energy cost. Clarified fee_limit includes stake and TRX-burn portions."
      }
    },
    {
      "id": "usdc-on-solana-quick-answer",
      "articleSlug": "usdc-on-solana",
      "statement": "USDC on Solana is identified by the official Solana mint published by Circle. Solana records token balances in token accounts associated with a mint and an owner, rather than treating the owner’s SOL balance as its USDC balance. A transfer also needs a fee payer with SOL and a receiving path that supports the correct token and network.",
      "sourceIds": [
        "source-66270bffe3272787",
        "source-bd631c30000d7d9f",
        "source-d57f2bcee5954a0e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet addresses; Solana"
        },
        {
          "sourceId": "source-bd631c30000d7d9f",
          "locator": "Mint accounts; token accounts; associated token accounts"
        },
        {
          "sourceId": "source-d57f2bcee5954a0e",
          "locator": "Base fee; prioritization fee"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Circle Solana identity and Solana mint/owner/associated account structure checked. Receiving path and SOL fee payer remain separate from 25-USDC amount."
      }
    },
    {
      "id": "usdc-on-solana-fact-identity",
      "articleSlug": "usdc-on-solana",
      "statement": "Identity: The mint account identifies the token on Solana.",
      "sourceIds": [
        "source-bd631c30000d7d9f",
        "source-66270bffe3272787"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bd631c30000d7d9f",
          "locator": "Mint accounts; token accounts; associated token accounts"
        },
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet addresses; Solana"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Circle Solana identity and Solana mint/owner/associated account structure checked. Receiving path and SOL fee payer remain separate from 25-USDC amount."
      }
    },
    {
      "id": "usdc-on-solana-fact-balance",
      "articleSlug": "usdc-on-solana",
      "statement": "Balance: A token account tracks a particular mint’s units for an owner.",
      "sourceIds": [
        "source-bd631c30000d7d9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bd631c30000d7d9f",
          "locator": "Mint accounts; token accounts; associated token accounts"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Circle Solana identity and Solana mint/owner/associated account structure checked. Receiving path and SOL fee payer remain separate from 25-USDC amount."
      }
    },
    {
      "id": "usdc-on-solana-fact-network-fee",
      "articleSlug": "usdc-on-solana",
      "statement": "Network fee: Solana transaction fees are paid in SOL by the fee payer.",
      "sourceIds": [
        "source-d57f2bcee5954a0e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d57f2bcee5954a0e",
          "locator": "Base fee; prioritization fee"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Circle Solana identity and Solana mint/owner/associated account structure checked. Receiving path and SOL fee payer remain separate from 25-USDC amount."
      }
    },
    {
      "id": "stablecoin-deposit-memos-quick-answer",
      "articleSlug": "stablecoin-deposit-memos",
      "statement": "A memo or destination tag can identify the customer behind a shared custodial receiving address. Whether it is required depends on the network, asset and receiving service. Copy the service’s complete deposit instructions; an on-chain transfer can succeed while the service cannot automatically assign it to your account.",
      "sourceIds": [
        "source-e49fc6c6b6e49311",
        "source-b0762b8413431759",
        "source-14e4ed40d664ea20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e49fc6c6b6e49311",
          "locator": "Memo; memo types; muxed accounts; transaction attributes"
        },
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        },
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Protocol optional memo and custodian-required identifier distinction checked. Muxed-account alternative preserved; added security/privacy citation support."
      }
    },
    {
      "id": "stablecoin-deposit-memos-fact-purpose",
      "articleSlug": "stablecoin-deposit-memos",
      "statement": "Purpose: A memo can carry transaction-identifying information beyond the destination address.",
      "sourceIds": [
        "source-e49fc6c6b6e49311"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e49fc6c6b6e49311",
          "locator": "Memo; memo types; muxed accounts; transaction attributes"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Protocol optional memo and custodian-required identifier distinction checked. Muxed-account alternative preserved; added security/privacy citation support."
      }
    },
    {
      "id": "stablecoin-deposit-memos-fact-attribution",
      "articleSlug": "stablecoin-deposit-memos",
      "statement": "Attribution: A custodial service can use an extra field to distinguish customers sharing an address.",
      "sourceIds": [
        "source-b0762b8413431759"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Protocol optional memo and custodian-required identifier distinction checked. Muxed-account alternative preserved; added security/privacy citation support."
      }
    },
    {
      "id": "stablecoin-deposit-memos-fact-requirement",
      "articleSlug": "stablecoin-deposit-memos",
      "statement": "Requirement: A field optional to a protocol can still be mandatory for a specific deposit workflow.",
      "sourceIds": [
        "source-e49fc6c6b6e49311",
        "source-b0762b8413431759"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e49fc6c6b6e49311",
          "locator": "Memo; memo types; muxed accounts; transaction attributes"
        },
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Protocol optional memo and custodian-required identifier distinction checked. Muxed-account alternative preserved; added security/privacy citation support."
      }
    },
    {
      "id": "stablecoin-deposit-not-credited-quick-answer",
      "articleSlug": "stablecoin-deposit-not-credited",
      "statement": "A successful stablecoin transaction does not automatically mean an exchange or payment service has credited your account. Check the correct chain, token, destination and any memo, then the service’s confirmation and processing requirements. If the on-chain receipt is correct but credit is missing, preserve the evidence and use that service’s official support process.",
      "sourceIds": [
        "source-50185f28eec9cf32",
        "source-079850d2fdd9fe5e",
        "source-14e4ed40d664ea20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50185f28eec9cf32",
          "locator": "Confirmation requirements by network"
        },
        {
          "sourceId": "source-079850d2fdd9fe5e",
          "locator": "Reasons a transaction is pending"
        },
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Confirmation, execution, asset identity and custodian credit distinguished. Added secret-handling citation; no universal recovery guarantee."
      }
    },
    {
      "id": "stablecoin-deposit-not-credited-fact-chain-status",
      "articleSlug": "stablecoin-deposit-not-credited",
      "statement": "Chain status: A provider can require additional confirmations before crediting a deposit.",
      "sourceIds": [
        "source-50185f28eec9cf32",
        "source-079850d2fdd9fe5e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50185f28eec9cf32",
          "locator": "Confirmation requirements by network"
        },
        {
          "sourceId": "source-079850d2fdd9fe5e",
          "locator": "Reasons a transaction is pending"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Confirmation, execution, asset identity and custodian credit distinguished. Added secret-handling citation; no universal recovery guarantee."
      }
    },
    {
      "id": "stablecoin-deposit-not-credited-fact-support",
      "articleSlug": "stablecoin-deposit-not-credited",
      "statement": "Support: The receiving service must support the asset and network used.",
      "sourceIds": [
        "source-14e4ed40d664ea20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Confirmation, execution, asset identity and custodian credit distinguished. Added secret-handling citation; no universal recovery guarantee."
      }
    },
    {
      "id": "stablecoin-deposit-not-credited-fact-attribution",
      "articleSlug": "stablecoin-deposit-not-credited",
      "statement": "Attribution: A required memo or tag can determine which account receives credit.",
      "sourceIds": [
        "source-b0762b8413431759"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Confirmation, execution, asset identity and custodian credit distinguished. Added secret-handling citation; no universal recovery guarantee."
      }
    },
    {
      "id": "counterfeit-stablecoins-quick-answer",
      "articleSlug": "counterfeit-stablecoins",
      "statement": "A token can copy a stablecoin’s name, symbol or artwork without being issued by that stablecoin’s issuer. Verify the exact chain and contract or mint against an official issuer registry, then inspect the actual transfer. A wallet’s dollar estimate, an unsolicited balance or a convincing screenshot does not authenticate the token.",
      "sourceIds": [
        "source-ac4ad503a55127bb",
        "source-66270bffe3272787",
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Token methods and events"
        },
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet addresses; Solana"
        },
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 metadata/decimals/events and Circle registry support counterfeit distinction. Narrowed verification FAQ to avoid unsupported bytecode-method explanation."
      }
    },
    {
      "id": "counterfeit-stablecoins-fact-names",
      "articleSlug": "counterfeit-stablecoins",
      "statement": "Names: ERC-20 metadata does not make a token name or symbol globally unique.",
      "sourceIds": [
        "source-ac4ad503a55127bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac4ad503a55127bb",
          "locator": "Token methods and events"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 metadata/decimals/events and Circle registry support counterfeit distinction. Narrowed verification FAQ to avoid unsupported bytecode-method explanation."
      }
    },
    {
      "id": "counterfeit-stablecoins-fact-registry",
      "articleSlug": "counterfeit-stablecoins",
      "statement": "Registry: Circle publishes chain-specific USDC identities.",
      "sourceIds": [
        "source-66270bffe3272787"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-66270bffe3272787",
          "locator": "Mainnet addresses; Solana"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 metadata/decimals/events and Circle registry support counterfeit distinction. Narrowed verification FAQ to avoid unsupported bytecode-method explanation."
      }
    },
    {
      "id": "counterfeit-stablecoins-fact-action",
      "articleSlug": "counterfeit-stablecoins",
      "statement": "Action: Unexpected tokens and links can be part of scams; receipt does not require interacting with them.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "ERC20 metadata/decimals/events and Circle registry support counterfeit distinction. Narrowed verification FAQ to avoid unsupported bytecode-method explanation."
      }
    },
    {
      "id": "stablecoin-test-transfers-quick-answer",
      "articleSlug": "stablecoin-test-transfers",
      "statement": "A small stablecoin test transfer can confirm that one specific asset, network, destination and attribution path worked at that time. It does not prove a later larger payment is safe or will be credited under the same conditions. Verify the receiver’s actual credit and any minimum-deposit rule; a chain success badge alone is an incomplete test.",
      "sourceIds": [
        "source-b0762b8413431759",
        "source-14e4ed40d664ea20",
        "source-50185f28eec9cf32"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        },
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        },
        {
          "sourceId": "source-50185f28eec9cf32",
          "locator": "Confirmation requirements by network"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Narrow test-route scope and actual recipient credit checked. 2 − 1 = 1 example correct; no universal minimum or subsequent-payment guarantee."
      }
    },
    {
      "id": "stablecoin-test-transfers-fact-scope",
      "articleSlug": "stablecoin-test-transfers",
      "statement": "Scope: A test validates the exact route used, not every network carrying the same ticker.",
      "sourceIds": [
        "source-14e4ed40d664ea20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Narrow test-route scope and actual recipient credit checked. 2 − 1 = 1 example correct; no universal minimum or subsequent-payment guarantee."
      }
    },
    {
      "id": "stablecoin-test-transfers-fact-credit",
      "articleSlug": "stablecoin-test-transfers",
      "statement": "Credit: Custodial confirmation and attribution checks can outlast chain execution.",
      "sourceIds": [
        "source-50185f28eec9cf32",
        "source-b0762b8413431759"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-50185f28eec9cf32",
          "locator": "Confirmation requirements by network"
        },
        {
          "sourceId": "source-b0762b8413431759",
          "locator": "What is a Destination Tag/Memo?; why needed"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Narrow test-route scope and actual recipient credit checked. 2 − 1 = 1 example correct; no universal minimum or subsequent-payment guarantee."
      }
    },
    {
      "id": "stablecoin-test-transfers-fact-secrets",
      "articleSlug": "stablecoin-test-transfers",
      "statement": "Secrets: Receiving or checking a test does not require exposing a wallet recovery phrase.",
      "sourceIds": [
        "source-83ec2d5a18d94ce1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83ec2d5a18d94ce1",
          "locator": "Wallet security; common scams"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Narrow test-route scope and actual recipient credit checked. 2 − 1 = 1 example correct; no universal minimum or subsequent-payment guarantee."
      }
    },
    {
      "id": "stablecoin-bridge-vs-exchange-quick-answer",
      "articleSlug": "stablecoin-bridge-vs-exchange",
      "statement": "A bridge or burn-and-mint system moves token value through a cross-chain mechanism. An exchange route deposits into a custodial account and later withdraws on another supported chain. Both can change where value is available, but they create different custody, asset-identity and completion risks. Check the exact token received, not just the displayed dollar amount.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413",
        "source-14e4ed40d664ea20",
        "source-3f274c8c1e62ebb9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "CCTP overview; CCTP for non-USDC assets comparison table (Attestation)"
        },
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CCTP native USDC burn/attest/mint distinguished from custodian deposit/withdraw. Source-chain success not treated as destination completion."
      }
    },
    {
      "id": "stablecoin-bridge-vs-exchange-fact-bridge-design",
      "articleSlug": "stablecoin-bridge-vs-exchange",
      "statement": "Bridge design: CCTP’s USDC route uses burn-and-mint rather than a conventional liquidity-pool bridge.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "CCTP overview; CCTP for non-USDC assets comparison table (Attestation)"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CCTP native USDC burn/attest/mint distinguished from custodian deposit/withdraw. Source-chain success not treated as destination completion."
      }
    },
    {
      "id": "stablecoin-bridge-vs-exchange-fact-custody",
      "articleSlug": "stablecoin-bridge-vs-exchange",
      "statement": "Custody: An exchange deposit requires that service to recognize and credit the supported asset/network.",
      "sourceIds": [
        "source-14e4ed40d664ea20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14e4ed40d664ea20",
          "locator": "Receive crypto; network and memo selection"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CCTP native USDC burn/attest/mint distinguished from custodian deposit/withdraw. Source-chain success not treated as destination completion."
      }
    },
    {
      "id": "stablecoin-bridge-vs-exchange-fact-completion",
      "articleSlug": "stablecoin-bridge-vs-exchange",
      "statement": "Completion: A source-chain transaction does not by itself prove destination availability.",
      "sourceIds": [
        "source-c7e6dd4bc23e4413"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7e6dd4bc23e4413",
          "locator": "CCTP overview; CCTP for non-USDC assets comparison table (Attestation)"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "CCTP native USDC burn/attest/mint distinguished from custodian deposit/withdraw. Source-chain success not treated as destination completion."
      }
    },
    {
      "id": "stablecoin-minting-vs-mining-quick-answer",
      "articleSlug": "stablecoin-minting-vs-mining",
      "statement": "Stablecoins such as USDT and USDC are not mined as Bitcoin block rewards. Their tokens are created through authorized issuer processes; collateral-backed protocol stablecoins use their own minting rules. The blockchain still validates transactions, but operating its consensus mechanism and issuing a stablecoin are separate activities.",
      "sourceIds": [
        "source-d1b96579be34c419",
        "source-3f274c8c1e62ebb9",
        "source-ba271de4f54e10e8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        },
        {
          "sourceId": "source-3f274c8c1e62ebb9",
          "locator": "USDC; redemption; third-party services and risk disclosures"
        },
        {
          "sourceId": "source-ba271de4f54e10e8",
          "locator": "Facilitator model; bucket capacity; stability module"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether issuer authority and GHO facilitator minting checked. Consensus participation separated from stablecoin issuance; no implied mining reward."
      }
    },
    {
      "id": "stablecoin-minting-vs-mining-fact-usdt",
      "articleSlug": "stablecoin-minting-vs-mining",
      "statement": "USDT: Tether describes authorized token creation and issuance from its treasury.",
      "sourceIds": [
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether issuer authority and GHO facilitator minting checked. Consensus participation separated from stablecoin issuance; no implied mining reward."
      }
    },
    {
      "id": "stablecoin-minting-vs-mining-fact-protocol-example",
      "articleSlug": "stablecoin-minting-vs-mining",
      "statement": "Protocol example: GHO uses governance-authorized facilitators with minting limits.",
      "sourceIds": [
        "source-ba271de4f54e10e8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba271de4f54e10e8",
          "locator": "Facilitator model; bucket capacity; stability module"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether issuer authority and GHO facilitator minting checked. Consensus participation separated from stablecoin issuance; no implied mining reward."
      }
    },
    {
      "id": "stablecoin-minting-vs-mining-fact-validation",
      "articleSlug": "stablecoin-minting-vs-mining",
      "statement": "Validation: The transport chain and the token issuer serve different roles.",
      "sourceIds": [
        "source-77bd1e40f0500d2d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-77bd1e40f0500d2d",
          "locator": "Ethereum; TRON"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether issuer authority and GHO facilitator minting checked. Consensus participation separated from stablecoin issuance; no implied mining reward."
      }
    },
    {
      "id": "tether-authorized-vs-issued-quick-answer",
      "articleSlug": "tether-authorized-vs-issued",
      "statement": "Tether distinguishes tokens created and held in its treasury as authorized but not issued from tokens transferred out of that treasury as issued. A creation transaction can therefore increase authorized inventory without immediately increasing circulation. Read the issuer’s reporting definitions and chain movements together; a mint headline alone does not establish new market buying.",
      "sourceIds": [
        "source-d1b96579be34c419",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Tether Tokens in Circulation; reports and reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether authorized/unissued treasury definitions checked; 100 million − 20 million = 80 million. No mint-to-market-buying inference."
      }
    },
    {
      "id": "tether-authorized-vs-issued-fact-authorized-inventory",
      "articleSlug": "tether-authorized-vs-issued",
      "statement": "Authorized inventory: Tether describes created tokens held in its treasury as authorized but not issued.",
      "sourceIds": [
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether authorized/unissued treasury definitions checked; 100 million − 20 million = 80 million. No mint-to-market-buying inference."
      }
    },
    {
      "id": "tether-authorized-vs-issued-fact-issued",
      "articleSlug": "tether-authorized-vs-issued",
      "statement": "Issued: The issuer describes transfer out of its treasury as issuance.",
      "sourceIds": [
        "source-d1b96579be34c419"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether authorized/unissued treasury definitions checked; 100 million − 20 million = 80 million. No mint-to-market-buying inference."
      }
    },
    {
      "id": "tether-authorized-vs-issued-fact-inference-limit",
      "articleSlug": "tether-authorized-vs-issued",
      "statement": "Inference limit: A token creation record alone does not identify how a recipient later uses issued tokens.",
      "sourceIds": [
        "source-d1b96579be34c419",
        "source-657588e9c7056096"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d1b96579be34c419",
          "locator": "Authorized but not issued; tokens in circulation; mining"
        },
        {
          "sourceId": "source-657588e9c7056096",
          "locator": "Tether Tokens in Circulation; reports and reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Tether authorized/unissued treasury definitions checked; 100 million − 20 million = 80 million. No mint-to-market-buying inference."
      }
    },
    {
      "id": "what-is-rlusd-quick-answer",
      "articleSlug": "what-is-rlusd",
      "statement": "Ripple USD, or RLUSD, is a privately issued stablecoin designed to track one US dollar. Ripple describes backing in dollar deposits, Treasuries and cash equivalents, with reserve reporting. Holding the token differs from being an eligible redemption customer, and a one-dollar reference does not guarantee every secondary-market trade occurs at one dollar.",
      "sourceIds": [
        "source-32878e1374d4363e",
        "source-c5af10561e079666"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-32878e1374d4363e",
          "locator": "Stablecoin overview; backing; transparency"
        },
        {
          "sourceId": "source-c5af10561e079666",
          "locator": "2. About RLUSD; Customer versus User; Reserve"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "RLUSD terms and trust-line requirement checked; 1,000 × 0.998 = 998 dollars before fees. Backing remains issuer assertion and direct access conditional."
      }
    },
    {
      "id": "what-is-rlusd-fact-reference",
      "articleSlug": "what-is-rlusd",
      "statement": "Reference: RLUSD targets one US dollar.",
      "sourceIds": [
        "source-32878e1374d4363e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-32878e1374d4363e",
          "locator": "Stablecoin overview; backing; transparency"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "RLUSD terms and trust-line requirement checked; 1,000 × 0.998 = 998 dollars before fees. Backing remains issuer assertion and direct access conditional."
      }
    },
    {
      "id": "what-is-rlusd-fact-redemption",
      "articleSlug": "what-is-rlusd",
      "statement": "Redemption: Direct redemption is subject to customer eligibility and applicable agreements.",
      "sourceIds": [
        "source-c5af10561e079666"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c5af10561e079666",
          "locator": "2. About RLUSD; Customer versus User; Reserve"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "RLUSD terms and trust-line requirement checked; 1,000 × 0.998 = 998 dollars before fees. Backing remains issuer assertion and direct access conditional."
      }
    },
    {
      "id": "what-is-rlusd-fact-xrpl",
      "articleSlug": "what-is-rlusd",
      "statement": "XRPL: Holding RLUSD on the XRP Ledger requires the relevant trust line.",
      "sourceIds": [
        "source-325b16bd956fb0f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-325b16bd956fb0f5",
          "locator": "Issued tokens; trust line setup"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "RLUSD terms and trust-line requirement checked; 1,000 × 0.998 = 998 dollars before fees. Backing remains issuer assertion and direct access conditional."
      }
    },
    {
      "id": "what-is-usdg-quick-answer",
      "articleSlug": "what-is-usdg",
      "statement": "Global Dollar, or USDG, is a dollar-referenced stablecoin associated with the Global Dollar Network. The Paxos terms checked on 2 October 2026 name Paxos Digital Singapore and Paxos Issuance Europe as its issuer entities. Direct redemption has account and regional conditions; network incentives should not be read as a guaranteed yield for every USDG holder.",
      "sourceIds": [
        "source-c0931b5548352f9c",
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c0931b5548352f9c",
          "locator": "USDG; network; issuer disclosures"
        },
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current Singapore/Europe issuer entities checked; network partner rewards not automatic holder yield. 250-unit par example subject to conditions."
      }
    },
    {
      "id": "what-is-usdg-fact-reference",
      "articleSlug": "what-is-usdg",
      "statement": "Reference: USDG is designed around one-for-one US-dollar redemption.",
      "sourceIds": [
        "source-c0931b5548352f9c",
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c0931b5548352f9c",
          "locator": "USDG; network; issuer disclosures"
        },
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current Singapore/Europe issuer entities checked; network partner rewards not automatic holder yield. 250-unit par example subject to conditions."
      }
    },
    {
      "id": "what-is-usdg-fact-entities",
      "articleSlug": "what-is-usdg",
      "statement": "Entities: The terms identify Singapore and European Paxos entities for USDG.",
      "sourceIds": [
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current Singapore/Europe issuer entities checked; network partner rewards not automatic holder yield. 250-unit par example subject to conditions."
      }
    },
    {
      "id": "what-is-usdg-fact-network",
      "articleSlug": "what-is-usdg",
      "statement": "Network: Holding a token is different from qualifying for network-partner incentives.",
      "sourceIds": [
        "source-c0931b5548352f9c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c0931b5548352f9c",
          "locator": "USDG; network; issuer disclosures"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current Singapore/Europe issuer entities checked; network partner rewards not automatic holder yield. 250-unit par example subject to conditions."
      }
    },
    {
      "id": "what-is-usdp-quick-answer",
      "articleSlug": "what-is-usdp",
      "statement": "Pax Dollar, or USDP, is a dollar-referenced stablecoin issued by Paxos. The terms checked on 2 October 2026 identify Paxos Trust Company, NA and describe one-for-one customer redemption subject to the platform’s conditions. Its reserve model, market trading price and a holder’s redemption access are separate things to assess.",
      "sourceIds": [
        "source-9917017e3714bc8f",
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9917017e3714bc8f",
          "locator": "Pax Dollar; reserves; transparency"
        },
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current NA issuer, customer account and unique redemption address checked. USDP/USDC noninterchangeability supported."
      }
    },
    {
      "id": "what-is-usdp-fact-asset",
      "articleSlug": "what-is-usdp",
      "statement": "Asset: USDP is the Pax Dollar stablecoin, distinct from other Paxos-issued tokens.",
      "sourceIds": [
        "source-9917017e3714bc8f",
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9917017e3714bc8f",
          "locator": "Pax Dollar; reserves; transparency"
        },
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current NA issuer, customer account and unique redemption address checked. USDP/USDC noninterchangeability supported."
      }
    },
    {
      "id": "what-is-usdp-fact-backing",
      "articleSlug": "what-is-usdp",
      "statement": "Backing: Paxos describes dollar reserves held in permitted cash and cash-equivalent arrangements.",
      "sourceIds": [
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current NA issuer, customer account and unique redemption address checked. USDP/USDC noninterchangeability supported."
      }
    },
    {
      "id": "what-is-usdp-fact-account-access",
      "articleSlug": "what-is-usdp",
      "statement": "Account access: Issuer redemption requires the applicable Paxos account and checks.",
      "sourceIds": [
        "source-7a8cf58deabd271c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a8cf58deabd271c",
          "locator": "Introduction; 2.7 Redemption; reserves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Paxos current NA issuer, customer account and unique redemption address checked. USDP/USDC noninterchangeability supported."
      }
    },
    {
      "id": "what-is-fdusd-quick-answer",
      "articleSlug": "what-is-fdusd",
      "statement": "First Digital USD, or FDUSD, is a stablecoin intended to track the US dollar. Its product page and August 2025 white paper identify FD121 (BVI) Limited as issuer and describe reserve custody through First Digital Trust. Direct minting and redemption are limited to eligible clients; issuer backing claims and dated reserve reports are evidence to inspect, not a guaranteed market price.",
      "sourceIds": [
        "source-dc18da81c4621920",
        "source-44dc9c090fddf2f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc18da81c4621920",
          "locator": "What is FDUSD?; redemption; reserve reports"
        },
        {
          "sourceId": "source-44dc9c090fddf2f3",
          "locator": "Sections1–4 issuer, holder rights and redemption; Sections6–7 reserves and risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "August 1 2025 currently linked PDF confirms BVI relocation and custody. Product restrictions and eligibility preserved; no old v1 issuer scope or reserve guarantee."
      }
    },
    {
      "id": "what-is-fdusd-fact-issuer-scope",
      "articleSlug": "what-is-fdusd",
      "statement": "Issuer scope: The cited August 2025 paper identifies FD121 (BVI) Limited.",
      "sourceIds": [
        "source-44dc9c090fddf2f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-44dc9c090fddf2f3",
          "locator": "Sections1–4 issuer, holder rights and redemption; Sections6–7 reserves and risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "August 1 2025 currently linked PDF confirms BVI relocation and custody. Product restrictions and eligibility preserved; no old v1 issuer scope or reserve guarantee."
      }
    },
    {
      "id": "what-is-fdusd-fact-reference",
      "articleSlug": "what-is-fdusd",
      "statement": "Reference: FDUSD is designed for one-for-one value against the US dollar.",
      "sourceIds": [
        "source-dc18da81c4621920"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc18da81c4621920",
          "locator": "What is FDUSD?; redemption; reserve reports"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "August 1 2025 currently linked PDF confirms BVI relocation and custody. Product restrictions and eligibility preserved; no old v1 issuer scope or reserve guarantee."
      }
    },
    {
      "id": "what-is-fdusd-fact-access",
      "articleSlug": "what-is-fdusd",
      "statement": "Access: The issuer describes direct access for eligible clients rather than unrestricted retail redemption.",
      "sourceIds": [
        "source-dc18da81c4621920",
        "source-44dc9c090fddf2f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc18da81c4621920",
          "locator": "What is FDUSD?; redemption; reserve reports"
        },
        {
          "sourceId": "source-44dc9c090fddf2f3",
          "locator": "Sections1–4 issuer, holder rights and redemption; Sections6–7 reserves and risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "August 1 2025 currently linked PDF confirms BVI relocation and custody. Product restrictions and eligibility preserved; no old v1 issuer scope or reserve guarantee."
      }
    },
    {
      "id": "what-is-crvusd-quick-answer",
      "articleSlug": "what-is-crvusd",
      "statement": "crvUSD is Curve’s collateral-backed stablecoin. Users can mint it through supported borrowing markets, while LLAMMA manages collateral through price bands that can progressively exchange collateral into crvUSD as prices fall. This soft-liquidation design does not eliminate losses, debt or the possibility of hard liquidation.",
      "sourceIds": [
        "source-9ca27911011b6741",
        "source-16057ef12e5bd2c1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9ca27911011b6741",
          "locator": "Infrastructure components; Controller and AMM versions"
        },
        {
          "sourceId": "source-16057ef12e5bd2c1",
          "locator": "Soft liquidation; bands; losses"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Curve soft/de-liquidation and hard liquidation read in context. No lossless-recovery claim; holder versus debt-position distinction correct."
      }
    },
    {
      "id": "what-is-crvusd-fact-issuance",
      "articleSlug": "what-is-crvusd",
      "statement": "Issuance: Supported collateral markets allow users to borrow newly minted crvUSD.",
      "sourceIds": [
        "source-9ca27911011b6741"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9ca27911011b6741",
          "locator": "Infrastructure components; Controller and AMM versions"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Curve soft/de-liquidation and hard liquidation read in context. No lossless-recovery claim; holder versus debt-position distinction correct."
      }
    },
    {
      "id": "what-is-crvusd-fact-mechanism",
      "articleSlug": "what-is-crvusd",
      "statement": "Mechanism: LLAMMA can convert collateral to crvUSD and back as prices move through bands.",
      "sourceIds": [
        "source-16057ef12e5bd2c1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16057ef12e5bd2c1",
          "locator": "Soft liquidation; bands; losses"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Curve soft/de-liquidation and hard liquidation read in context. No lossless-recovery claim; holder versus debt-position distinction correct."
      }
    },
    {
      "id": "what-is-crvusd-fact-risk",
      "articleSlug": "what-is-crvusd",
      "statement": "Risk: Soft liquidation can generate losses and does not rule out hard liquidation.",
      "sourceIds": [
        "source-16057ef12e5bd2c1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-16057ef12e5bd2c1",
          "locator": "Soft liquidation; bands; losses"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Curve soft/de-liquidation and hard liquidation read in context. No lossless-recovery claim; holder versus debt-position distinction correct."
      }
    },
    {
      "id": "what-is-gho-quick-answer",
      "articleSlug": "what-is-gho",
      "statement": "GHO is a dollar-referenced stablecoin native to the Aave ecosystem. Its token uses approved facilitators that can mint and burn within governance-defined capacities. Borrowing against Aave collateral is one issuance route; stability modules add other mechanisms. GHO’s design target is a dollar peg, not a guaranteed secondary-market quote or a fixed return for holders.",
      "sourceIds": [
        "source-ba271de4f54e10e8",
        "source-e7a5aa647af4d2b5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba271de4f54e10e8",
          "locator": "Facilitator model; bucket capacity; stability module"
        },
        {
          "sourceId": "source-e7a5aa647af4d2b5",
          "locator": "What is GHO?; how different"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "GHO facilitator cap and treasury interest checked. 10 million − 8 million = 2 million headroom, expressly not reserve or individual credit availability."
      }
    },
    {
      "id": "what-is-gho-fact-authority",
      "articleSlug": "what-is-gho",
      "statement": "Authority: Approved facilitators mint and burn GHO within assigned capacities.",
      "sourceIds": [
        "source-ba271de4f54e10e8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba271de4f54e10e8",
          "locator": "Facilitator model; bucket capacity; stability module"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "GHO facilitator cap and treasury interest checked. 10 million − 8 million = 2 million headroom, expressly not reserve or individual credit availability."
      }
    },
    {
      "id": "what-is-gho-fact-borrowing",
      "articleSlug": "what-is-gho",
      "statement": "Borrowing: Aave collateral can support a GHO borrowing position.",
      "sourceIds": [
        "source-e7a5aa647af4d2b5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e7a5aa647af4d2b5",
          "locator": "What is GHO?; how different"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "GHO facilitator cap and treasury interest checked. 10 million − 8 million = 2 million headroom, expressly not reserve or individual credit availability."
      }
    },
    {
      "id": "what-is-gho-fact-interest",
      "articleSlug": "what-is-gho",
      "statement": "Interest: Interest from the documented Aave minting route is directed to the DAO treasury.",
      "sourceIds": [
        "source-e7a5aa647af4d2b5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e7a5aa647af4d2b5",
          "locator": "What is GHO?; how different"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "GHO facilitator cap and treasury interest checked. 10 million − 8 million = 2 million headroom, expressly not reserve or individual credit availability."
      }
    },
    {
      "id": "what-is-lusd-quick-answer",
      "articleSlug": "what-is-lusd",
      "statement": "LUSD is the stablecoin of Liquity V1, created by borrowing against ETH collateral. It targets a dollar value through the protocol’s collateral and redemption mechanisms. LUSD redemption exchanges tokens for a dollar-equivalent amount of ETH under protocol rules and fees; it is not a promise of a bank-dollar payout and is different from repaying your own Trove.",
      "sourceIds": [
        "source-fbefada66afa68c7",
        "source-1620cdec6ce15ab3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fbefada66afa68c7",
          "locator": "Trove; collateral; fees; repayment"
        },
        {
          "sourceId": "source-1620cdec6ce15ab3",
          "locator": "Redemption versus repayment"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V1 ETH-only collateral, one-off fees and redemption versus repayment checked. 100/2,000 = 0.05 ETH; V1/V2 distinction retained."
      }
    },
    {
      "id": "what-is-lusd-fact-version",
      "articleSlug": "what-is-lusd",
      "statement": "Version: LUSD belongs to Liquity V1; BOLD belongs to V2.",
      "sourceIds": [
        "source-343f9861b9d0b4a3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-343f9861b9d0b4a3",
          "locator": "Differences to V1; collateral; interest"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V1 ETH-only collateral, one-off fees and redemption versus repayment checked. 100/2,000 = 0.05 ETH; V1/V2 distinction retained."
      }
    },
    {
      "id": "what-is-lusd-fact-collateral",
      "articleSlug": "what-is-lusd",
      "statement": "Collateral: V1 borrowing uses ETH in positions called Troves.",
      "sourceIds": [
        "source-fbefada66afa68c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fbefada66afa68c7",
          "locator": "Trove; collateral; fees; repayment"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V1 ETH-only collateral, one-off fees and redemption versus repayment checked. 100/2,000 = 0.05 ETH; V1/V2 distinction retained."
      }
    },
    {
      "id": "what-is-lusd-fact-redemption",
      "articleSlug": "what-is-lusd",
      "statement": "Redemption: LUSD can be exchanged for ETH at protocol face value, less applicable fees.",
      "sourceIds": [
        "source-1620cdec6ce15ab3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1620cdec6ce15ab3",
          "locator": "Redemption versus repayment"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V1 ETH-only collateral, one-off fees and redemption versus repayment checked. 100/2,000 = 0.05 ETH; V1/V2 distinction retained."
      }
    },
    {
      "id": "what-is-bold-quick-answer",
      "articleSlug": "what-is-bold",
      "statement": "BOLD is Liquity V2’s dollar-referenced stablecoin, minted against supported ETH and liquid-staking collateral. Borrowers choose interest rates, which also affect their position in redemption ordering. Protocol redemption returns collateral under the system’s allocation rules, not bank dollars, and is different from a borrower repaying their own loan.",
      "sourceIds": [
        "source-343f9861b9d0b4a3",
        "source-02b3823273839ba0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-343f9861b9d0b4a3",
          "locator": "Differences to V1; collateral; interest"
        },
        {
          "sourceId": "source-02b3823273839ba0",
          "locator": "Collateral split; lowest-interest Troves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V2 branch debt minus Stability Pool and lowest-rate ordering checked. Collateral mix and fees separated from bank-dollar redemption."
      }
    },
    {
      "id": "what-is-bold-fact-version",
      "articleSlug": "what-is-bold",
      "statement": "Version: BOLD is the V2 stablecoin, distinct from V1 LUSD.",
      "sourceIds": [
        "source-343f9861b9d0b4a3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-343f9861b9d0b4a3",
          "locator": "Differences to V1; collateral; interest"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V2 branch debt minus Stability Pool and lowest-rate ordering checked. Collateral mix and fees separated from bank-dollar redemption."
      }
    },
    {
      "id": "what-is-bold-fact-rates",
      "articleSlug": "what-is-bold",
      "statement": "Rates: V2 permits user-set borrowing interest rates.",
      "sourceIds": [
        "source-343f9861b9d0b4a3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-343f9861b9d0b4a3",
          "locator": "Differences to V1; collateral; interest"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V2 branch debt minus Stability Pool and lowest-rate ordering checked. Collateral mix and fees separated from bank-dollar redemption."
      }
    },
    {
      "id": "what-is-bold-fact-ordering",
      "articleSlug": "what-is-bold",
      "statement": "Ordering: Redemptions begin with lower-interest Troves within the applicable collateral market.",
      "sourceIds": [
        "source-02b3823273839ba0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-02b3823273839ba0",
          "locator": "Collateral split; lowest-interest Troves"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Liquity V2 branch debt minus Stability Pool and lowest-rate ordering checked. Collateral mix and fees separated from bank-dollar redemption."
      }
    },
    {
      "id": "what-is-frxusd-quick-answer",
      "articleSlug": "what-is-frxusd",
      "statement": "Frax USD, or frxUSD, is described in current Frax documentation as a fully collateralized dollar stablecoin using permitted cash-equivalent reserve assets. Enshrined custodian contracts mint and burn against those assets within assigned caps. Redemption depends on available assets and their access requirements; it does not guarantee a holder can choose any particular custodian asset at all times.",
      "sourceIds": [
        "source-896ff4b7815ecbe1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896ff4b7815ecbe1",
          "locator": "Governance and Structure; Enshrined Custodians"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current delegated Frax Inc/custodian design checked. Asset availability and reserve-token whitelist limits match explicit source warning."
      }
    },
    {
      "id": "what-is-frxusd-fact-structure",
      "articleSlug": "what-is-frxusd",
      "statement": "Structure: Frax documentation describes reserve management delegated to Frax Inc by the DAO.",
      "sourceIds": [
        "source-896ff4b7815ecbe1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896ff4b7815ecbe1",
          "locator": "Governance and Structure; Enshrined Custodians"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current delegated Frax Inc/custodian design checked. Asset availability and reserve-token whitelist limits match explicit source warning."
      }
    },
    {
      "id": "what-is-frxusd-fact-capacity",
      "articleSlug": "what-is-frxusd",
      "statement": "Capacity: Custodian arrangements have assigned minting caps.",
      "sourceIds": [
        "source-896ff4b7815ecbe1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896ff4b7815ecbe1",
          "locator": "Governance and Structure; Enshrined Custodians"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current delegated Frax Inc/custodian design checked. Asset availability and reserve-token whitelist limits match explicit source warning."
      }
    },
    {
      "id": "what-is-frxusd-fact-access",
      "articleSlug": "what-is-frxusd",
      "statement": "Access: An underlying reserve token can impose whitelist or other holder requirements.",
      "sourceIds": [
        "source-896ff4b7815ecbe1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896ff4b7815ecbe1",
          "locator": "Governance and Structure; Enshrined Custodians"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "Current delegated Frax Inc/custodian design checked. Asset availability and reserve-token whitelist limits match explicit source warning."
      }
    },
    {
      "id": "what-is-pax-gold-quick-answer",
      "articleSlug": "what-is-pax-gold",
      "statement": "PAX Gold, or PAXG, is a token representing an interest in allocated gold under Paxos’s terms. Each token corresponds to one fine troy ounce of London Good Delivery gold. Its dollar value follows gold-market exposure rather than a one-dollar peg, so it belongs to a different category from dollar stablecoins and can lose value in dollar terms.",
      "sourceIds": [
        "source-23727df2c2a643dc",
        "source-f672b7986d07210e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-23727df2c2a643dc",
          "locator": "Allocated gold; allocation lookup"
        },
        {
          "sourceId": "source-f672b7986d07210e",
          "locator": "Gold allocation; redemption; risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "PAXG allocated gold, lookup scope and conversion conditions checked. 0.5 PAXG = 0.5 fine troy ounce; currency risk retained."
      }
    },
    {
      "id": "what-is-pax-gold-fact-reference",
      "articleSlug": "what-is-pax-gold",
      "statement": "Reference: One PAXG corresponds to one fine troy ounce of the specified gold.",
      "sourceIds": [
        "source-f672b7986d07210e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f672b7986d07210e",
          "locator": "Gold allocation; redemption; risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "PAXG allocated gold, lookup scope and conversion conditions checked. 0.5 PAXG = 0.5 fine troy ounce; currency risk retained."
      }
    },
    {
      "id": "what-is-pax-gold-fact-price",
      "articleSlug": "what-is-pax-gold",
      "statement": "Price: Gold prices can change against national currencies.",
      "sourceIds": [
        "source-f672b7986d07210e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f672b7986d07210e",
          "locator": "Gold allocation; redemption; risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "PAXG allocated gold, lookup scope and conversion conditions checked. 0.5 PAXG = 0.5 fine troy ounce; currency risk retained."
      }
    },
    {
      "id": "what-is-pax-gold-fact-redemption",
      "articleSlug": "what-is-pax-gold",
      "statement": "Redemption: Physical or other issuer conversion routes have eligibility and operational conditions.",
      "sourceIds": [
        "source-f672b7986d07210e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f672b7986d07210e",
          "locator": "Gold allocation; redemption; risks"
        }
      ],
      "scope": {
        "collection": "stablecoins",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:26:58.461Z",
        "reviewer": "Independent automated verification — Codex DeFi agent, separate from the stablecoin drafting agent",
        "notes": "PAXG allocated gold, lookup scope and conversion conditions checked. 0.5 PAXG = 0.5 fine troy ounce; currency risk retained."
      }
    },
    {
      "id": "exact-input-vs-exact-output-swaps-quick-answer",
      "articleSlug": "exact-input-vs-exact-output-swaps",
      "statement": "An exact-input swap fixes the amount offered and enforces a minimum received. An exact-output swap targets a receiving amount and enforces a maximum spent. In the documented Uniswap v3 router flows, a trade that cannot satisfy its bound fails; the displayed quote is not a promise of execution.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked exact-input and exact-output bounds against Uniswap v3 single-swap tutorial; 50 × 0.99 = 49.5. Requested explicit zero-price-limit scope for exact-output completeness."
        ]
      }
    },
    {
      "id": "exact-input-vs-exact-output-swaps-fact-exact-input",
      "articleSlug": "exact-input-vs-exact-output-swaps",
      "statement": "Exact input: The usual protection is amountOutMinimum.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked exact-input and exact-output bounds against Uniswap v3 single-swap tutorial; 50 × 0.99 = 49.5. Requested explicit zero-price-limit scope for exact-output completeness."
        ]
      }
    },
    {
      "id": "exact-input-vs-exact-output-swaps-fact-exact-output",
      "articleSlug": "exact-input-vs-exact-output-swaps",
      "statement": "Exact output: The input is limited by amountInMaximum.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked exact-input and exact-output bounds against Uniswap v3 single-swap tutorial; 50 × 0.99 = 49.5. Requested explicit zero-price-limit scope for exact-output completeness."
        ]
      }
    },
    {
      "id": "exact-input-vs-exact-output-swaps-fact-unused-input",
      "articleSlug": "exact-input-vs-exact-output-swaps",
      "statement": "Unused input: A prefunded exact-output integration must return any unspent input.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked exact-input and exact-output bounds against Uniswap v3 single-swap tutorial; 50 × 0.99 = 49.5. Requested explicit zero-price-limit scope for exact-output completeness."
        ]
      }
    },
    {
      "id": "dex-swap-fee-breakdown-quick-answer",
      "articleSlug": "dex-swap-fee-breakdown",
      "statement": "A DEX swap can involve a pool trading fee and network execution cost. Aave’s documented swap interface also shows that some integrations charge a separate service fee. Price impact is another source of a worse exchange rate, but it is not the same as a named fee. Compare the final amount received and separately paid costs; some fees are already included in the quote.",
      "sourceIds": [
        "source-37357b0a11d2e087",
        "source-5cadd0da692ffaa8",
        "source-30ee786187b1a90d",
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas; transaction fees; failed transactions"
        },
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        },
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked embedded pool fees, separate network cost and filler model. 997 − 2 = 995; no double subtraction. Requested primary evidence for interface fees and UniswapX citation."
        ]
      }
    },
    {
      "id": "dex-swap-fee-breakdown-fact-pool-fee",
      "articleSlug": "dex-swap-fee-breakdown",
      "statement": "Pool fee: The fee allocation depends on the pool and protocol version.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked embedded pool fees, separate network cost and filler model. 997 − 2 = 995; no double subtraction. Requested primary evidence for interface fees and UniswapX citation."
        ]
      }
    },
    {
      "id": "dex-swap-fee-breakdown-fact-network-fee",
      "articleSlug": "dex-swap-fee-breakdown",
      "statement": "Network fee: Executing a transaction consumes gas independently of the pool fee.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas; transaction fees; failed transactions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked embedded pool fees, separate network cost and filler model. 997 − 2 = 995; no double subtraction. Requested primary evidence for interface fees and UniswapX citation."
        ]
      }
    },
    {
      "id": "dex-swap-fee-breakdown-fact-protocol-share",
      "articleSlug": "dex-swap-fee-breakdown",
      "statement": "Protocol share: A protocol fee may be taken from the trading fee rather than added as a separate identical charge.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked embedded pool fees, separate network cost and filler model. 997 − 2 = 995; no double subtraction. Requested primary evidence for interface fees and UniswapX citation."
        ]
      }
    },
    {
      "id": "swap-deadlines-expired-quotes-quick-answer",
      "articleSlug": "swap-deadlines-expired-quotes",
      "statement": "A swap deadline is a time condition enforced by a particular router or order contract. The documented Uniswap v3 router parameters reject execution after the specified Unix time. A deadline limits how long an instruction remains usable; the minimum-output or maximum-input bound separately limits its price.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked router deadline and minimum/maximum amount are distinct controls; expiry is not a cancellation transaction or market reservation."
        ]
      }
    },
    {
      "id": "swap-deadlines-expired-quotes-fact-time-bound",
      "articleSlug": "swap-deadlines-expired-quotes",
      "statement": "Time bound: The v3 deadline is expressed as a Unix timestamp.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked router deadline and minimum/maximum amount are distinct controls; expiry is not a cancellation transaction or market reservation."
        ]
      }
    },
    {
      "id": "swap-deadlines-expired-quotes-fact-price-bound",
      "articleSlug": "swap-deadlines-expired-quotes",
      "statement": "Price bound: Output and input limits remain separate parameters.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked router deadline and minimum/maximum amount are distinct controls; expiry is not a cancellation transaction or market reservation."
        ]
      }
    },
    {
      "id": "swap-deadlines-expired-quotes-fact-failure-cost",
      "articleSlug": "swap-deadlines-expired-quotes",
      "statement": "Failure cost: An included transaction that reverts may still use chargeable gas.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas; transaction fees; failed transactions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked router deadline and minimum/maximum amount are distinct controls; expiry is not a cancellation transaction or market reservation."
        ]
      }
    },
    {
      "id": "insufficient-dex-liquidity-quick-answer",
      "articleSlug": "insufficient-dex-liquidity",
      "statement": "An insufficient-liquidity message can mean the selected service cannot find a usable route, the available inventory cannot support the requested size within its limits, or the token is incompatible with that execution path. A token’s market capitalization or total pool value does not establish liquidity at the price and route you need.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f",
        "source-30ee786187b1a90d",
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        },
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        },
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Nonstandard token behavior; rebasing; fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked active concentrated liquidity and price range boundaries; thin depth does not prove a token contract transfer failure."
        ]
      }
    },
    {
      "id": "insufficient-dex-liquidity-fact-active-range",
      "articleSlug": "insufficient-dex-liquidity",
      "statement": "Active range: Concentrated liquidity outside the current range is inactive.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked active concentrated liquidity and price range boundaries; thin depth does not prove a token contract transfer failure."
        ]
      }
    },
    {
      "id": "insufficient-dex-liquidity-fact-trade-size",
      "articleSlug": "insufficient-dex-liquidity",
      "statement": "Trade size: A route must satisfy the actual input/output limits.",
      "sourceIds": [
        "source-30ee786187b1a90d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30ee786187b1a90d",
          "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked active concentrated liquidity and price range boundaries; thin depth does not prove a token contract transfer failure."
        ]
      }
    },
    {
      "id": "insufficient-dex-liquidity-fact-token-behavior",
      "articleSlug": "insufficient-dex-liquidity",
      "statement": "Token behavior: Nonstandard transfers and rebasing can create integration limitations.",
      "sourceIds": [
        "source-1dfb73e432851474"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1dfb73e432851474",
          "locator": "Nonstandard token behavior; rebasing; fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked active concentrated liquidity and price range boundaries; thin depth does not prove a token contract transfer failure."
        ]
      }
    },
    {
      "id": "identifying-dex-pools-quick-answer",
      "articleSlug": "identifying-dex-pools",
      "statement": "A useful pool identifier includes the network, protocol version, token contract addresses and the version-specific pool parameters. In Uniswap v3, a factory creates distinct pools for a token pair and fee. Two screens showing the same token symbols can therefore describe different liquidity and execution.",
      "sourceIds": [
        "source-1abf5b1626a79b4b",
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1abf5b1626a79b4b",
          "locator": "uniswap-v3-core / Factory paragraph in the redirected v3 contracts overview"
        },
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Uniswap v3 overview Factory paragraph: pair and fee distinguish pools. Source redirects to overview, so requested current Factory-section locator; article makes no unsupported getPool API claim."
        ]
      }
    },
    {
      "id": "identifying-dex-pools-fact-v3-identity",
      "articleSlug": "identifying-dex-pools",
      "statement": "v3 identity: A pool is defined by two token contracts and a fee within its factory.",
      "sourceIds": [
        "source-1abf5b1626a79b4b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1abf5b1626a79b4b",
          "locator": "uniswap-v3-core / Factory paragraph in the redirected v3 contracts overview"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Uniswap v3 overview Factory paragraph: pair and fee distinguish pools. Source redirects to overview, so requested current Factory-section locator; article makes no unsupported getPool API claim."
        ]
      }
    },
    {
      "id": "identifying-dex-pools-fact-multiple-pools",
      "articleSlug": "identifying-dex-pools",
      "statement": "Multiple pools: The same asset pair can have different fee-tier pools.",
      "sourceIds": [
        "source-1abf5b1626a79b4b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1abf5b1626a79b4b",
          "locator": "uniswap-v3-core / Factory paragraph in the redirected v3 contracts overview"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Uniswap v3 overview Factory paragraph: pair and fee distinguish pools. Source redirects to overview, so requested current Factory-section locator; article makes no unsupported getPool API claim."
        ]
      }
    },
    {
      "id": "identifying-dex-pools-fact-version-matters",
      "articleSlug": "identifying-dex-pools",
      "statement": "Version matters: v4 fee and hook arrangements differ from v3.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Uniswap v3 overview Factory paragraph: pair and fee distinguish pools. Source redirects to overview, so requested current Factory-section locator; article makes no unsupported getPool API claim."
        ]
      }
    },
    {
      "id": "collecting-lp-fees-quick-answer",
      "articleSlug": "collecting-lp-fees",
      "statement": "In standard Uniswap v3 positions, earned fees accumulate as claimable token balances and are collected separately. Collecting them transfers the owed tokens; it does not automatically increase the position’s active liquidity. Reinvestment requires an additional liquidity action, possibly with a swap to obtain the needed asset mix.",
      "sourceIds": [
        "source-37357b0a11d2e087",
        "source-c42fa9f513123ad5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        },
        {
          "sourceId": "source-c42fa9f513123ad5",
          "locator": "Collecting fees; collect"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked position-manager collect method and fee-growth claim versus principal; v3 collecting fees does not by itself compound liquidity."
        ]
      }
    },
    {
      "id": "collecting-lp-fees-fact-separate-balance",
      "articleSlug": "collecting-lp-fees",
      "statement": "Separate balance: v3 fees are claimable separately from position liquidity.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked position-manager collect method and fee-growth claim versus principal; v3 collecting fees does not by itself compound liquidity."
        ]
      }
    },
    {
      "id": "collecting-lp-fees-fact-collection",
      "articleSlug": "collecting-lp-fees",
      "statement": "Collection: The position-manager collect flow specifies recipient and token amount limits.",
      "sourceIds": [
        "source-c42fa9f513123ad5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c42fa9f513123ad5",
          "locator": "Collecting fees; collect"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked position-manager collect method and fee-growth claim versus principal; v3 collecting fees does not by itself compound liquidity."
        ]
      }
    },
    {
      "id": "collecting-lp-fees-fact-contrast",
      "articleSlug": "collecting-lp-fees",
      "statement": "Contrast: v2 trading fees enter reserves, so its accounting differs.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked position-manager collect method and fee-growth claim versus principal; v3 collecting fees does not by itself compound liquidity."
        ]
      }
    },
    {
      "id": "out-of-range-liquidity-quick-answer",
      "articleSlug": "out-of-range-liquidity",
      "statement": "When price leaves a standard concentrated-liquidity position’s range, its liquidity becomes inactive and stops earning swap fees. The position is then composed of one of the pair’s assets at that boundary. It still exists and can become active again if price returns; being out of range is not itself a liquidation.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked concentrated-liquidity active range, one-sided inventory at boundaries and already accrued fees; price quoted as B per A maintains direction."
        ]
      }
    },
    {
      "id": "out-of-range-liquidity-fact-fees",
      "articleSlug": "out-of-range-liquidity",
      "statement": "Fees: Inactive out-of-range liquidity does not earn new swap fees.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked concentrated-liquidity active range, one-sided inventory at boundaries and already accrued fees; price quoted as B per A maintains direction."
        ]
      }
    },
    {
      "id": "out-of-range-liquidity-fact-inventory",
      "articleSlug": "out-of-range-liquidity",
      "statement": "Inventory: Movement through a range changes the token mix until only one asset remains.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked concentrated-liquidity active range, one-sided inventory at boundaries and already accrued fees; price quoted as B per A maintains direction."
        ]
      }
    },
    {
      "id": "out-of-range-liquidity-fact-re-entry",
      "articleSlug": "out-of-range-liquidity",
      "statement": "Re-entry: Liquidity becomes active again when price returns to the range.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked concentrated-liquidity active range, one-sided inventory at boundaries and already accrued fees; price quoted as B per A maintains direction."
        ]
      }
    },
    {
      "id": "remove-liquidity-vs-sell-quick-answer",
      "articleSlug": "remove-liquidity-vs-sell",
      "statement": "Removing liquidity redeems or reduces a claim on pool inventory. Selling tokens exchanges one asset for another. In a standard Uniswap v3 exit, decreasing liquidity and collecting the resulting amounts are distinct operations; receiving those tokens does not automatically sell them for a single preferred asset.",
      "sourceIds": [
        "source-bbbd51458d1629f3",
        "source-c42fa9f513123ad5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbbd51458d1629f3",
          "locator": "Decrease liquidity; collect"
        },
        {
          "sourceId": "source-c42fa9f513123ad5",
          "locator": "Collecting fees; collect"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked decreaseLiquidity and collect operations; withdrawal of a two-token balance is distinct from sale into one token."
        ]
      }
    },
    {
      "id": "remove-liquidity-vs-sell-fact-partial-exit",
      "articleSlug": "remove-liquidity-vs-sell",
      "statement": "Partial exit: A v3 position can have only part of its liquidity removed.",
      "sourceIds": [
        "source-bbbd51458d1629f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbbd51458d1629f3",
          "locator": "Decrease liquidity; collect"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked decreaseLiquidity and collect operations; withdrawal of a two-token balance is distinct from sale into one token."
        ]
      }
    },
    {
      "id": "remove-liquidity-vs-sell-fact-collection",
      "articleSlug": "remove-liquidity-vs-sell",
      "statement": "Collection: Amounts released by the decrease can be collected to a recipient.",
      "sourceIds": [
        "source-bbbd51458d1629f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bbbd51458d1629f3",
          "locator": "Decrease liquidity; collect"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked decreaseLiquidity and collect operations; withdrawal of a two-token balance is distinct from sale into one token."
        ]
      }
    },
    {
      "id": "remove-liquidity-vs-sell-fact-asset-mix",
      "articleSlug": "remove-liquidity-vs-sell",
      "statement": "Asset mix: The tokens returned depend on the position and current price.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked decreaseLiquidity and collect operations; withdrawal of a two-token balance is distinct from sale into one token."
        ]
      }
    },
    {
      "id": "lp-fee-break-even-quick-answer",
      "articleSlug": "lp-fee-break-even",
      "statement": "LP break-even fees depend on the comparison you choose. To match holding the original assets, subtract the LP inventory value before fees from the same-date holding value, then add costs not already included. Fees covering that gap do not establish a positive dollar return or predict future profitability.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f",
        "source-37357b0a11d2e087",
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        },
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        },
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas; transaction fees; failed transactions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed benchmark: 1200 − 1160 + 8 = 48 required fees; 1160 + 55 − 8 = 1207, seven ahead. Hypothetical and price/unit assumptions retained."
        ]
      }
    },
    {
      "id": "lp-fee-break-even-fact-benchmark",
      "articleSlug": "lp-fee-break-even",
      "statement": "Benchmark: A pool changes its asset composition as prices move.",
      "sourceIds": [
        "source-30d257b4fb4b7c1f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30d257b4fb4b7c1f",
          "locator": "Active liquidity; ticks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed benchmark: 1200 − 1160 + 8 = 48 required fees; 1160 + 55 − 8 = 1207, seven ahead. Hypothetical and price/unit assumptions retained."
        ]
      }
    },
    {
      "id": "lp-fee-break-even-fact-fee-accounting",
      "articleSlug": "lp-fee-break-even",
      "statement": "Fee accounting: v2 reserve growth and v3 claimable fees require different bookkeeping.",
      "sourceIds": [
        "source-37357b0a11d2e087"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-37357b0a11d2e087",
          "locator": "Swap fees; Pool fees tiers; Protocol fees"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed benchmark: 1200 − 1160 + 8 = 48 required fees; 1160 + 55 − 8 = 1207, seven ahead. Hypothetical and price/unit assumptions retained."
        ]
      }
    },
    {
      "id": "lp-fee-break-even-fact-costs",
      "articleSlug": "lp-fee-break-even",
      "statement": "Costs: Collection and other transactions can incur network costs.",
      "sourceIds": [
        "source-5cadd0da692ffaa8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5cadd0da692ffaa8",
          "locator": "Gas; transaction fees; failed transactions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed benchmark: 1200 − 1160 + 8 = 48 required fees; 1160 + 55 − 8 = 1207, seven ahead. Hypothetical and price/unit assumptions retained."
        ]
      }
    },
    {
      "id": "weighted-liquidity-pools-quick-answer",
      "articleSlug": "weighted-liquidity-pools",
      "statement": "A weighted pool generalizes the constant-product AMM by assigning normalized weights to its assets. Balancer’s weighted math derives prices from balances divided by their weights. An 80/20 pool is therefore not priced by the raw token-count ratio used for a simple equal-weight pair.",
      "sourceIds": [
        "source-44508aa15cf95cd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-44508aa15cf95cd2",
          "locator": "Invariant; Spot price; Swap equations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer weighted invariant and normalized weights; 80/0.8 and 20/0.2 both equal100, giving the stated marginal ratio before fees."
        ]
      }
    },
    {
      "id": "weighted-liquidity-pools-fact-weights",
      "articleSlug": "weighted-liquidity-pools",
      "statement": "Weights: Normalized asset weights sum to one.",
      "sourceIds": [
        "source-44508aa15cf95cd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-44508aa15cf95cd2",
          "locator": "Invariant; Spot price; Swap equations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer weighted invariant and normalized weights; 80/0.8 and 20/0.2 both equal100, giving the stated marginal ratio before fees."
        ]
      }
    },
    {
      "id": "weighted-liquidity-pools-fact-invariant",
      "articleSlug": "weighted-liquidity-pools",
      "statement": "Invariant: The weighted invariant multiplies balances raised to their respective weights.",
      "sourceIds": [
        "source-44508aa15cf95cd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-44508aa15cf95cd2",
          "locator": "Invariant; Spot price; Swap equations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer weighted invariant and normalized weights; 80/0.8 and 20/0.2 both equal100, giving the stated marginal ratio before fees."
        ]
      }
    },
    {
      "id": "weighted-liquidity-pools-fact-spot-price",
      "articleSlug": "weighted-liquidity-pools",
      "statement": "Spot price: Pair prices depend on both balances and weights.",
      "sourceIds": [
        "source-44508aa15cf95cd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-44508aa15cf95cd2",
          "locator": "Invariant; Spot price; Swap equations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer weighted invariant and normalized weights; 80/0.8 and 20/0.2 both equal100, giving the stated marginal ratio before fees."
        ]
      }
    },
    {
      "id": "stableswap-pools-quick-answer",
      "articleSlug": "stableswap-pools",
      "statement": "StableSwap concentrates exchange liquidity near an intended balance between related assets. Its invariant behaves more like constant sum near balance and moves toward constant-product behavior as inventory becomes uneven. The amplification parameter controls that shape; it cannot make a failing asset worth its intended reference value.",
      "sourceIds": [
        "source-09a449a9370225aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-09a449a9370225aa",
          "locator": "Invariant comparison; Amplification coefficient"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Curve StableSwap paper: near-peg efficiency and imbalance response; amplification does not supply collateral or guarantee peg."
        ]
      }
    },
    {
      "id": "stableswap-pools-fact-near-balance",
      "articleSlug": "stableswap-pools",
      "statement": "Near balance: The curve is relatively flat near its intended balance.",
      "sourceIds": [
        "source-09a449a9370225aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-09a449a9370225aa",
          "locator": "Invariant comparison; Amplification coefficient"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Curve StableSwap paper: near-peg efficiency and imbalance response; amplification does not supply collateral or guarantee peg."
        ]
      }
    },
    {
      "id": "stableswap-pools-fact-amplification",
      "articleSlug": "stableswap-pools",
      "statement": "Amplification: Lower amplification moves the design closer to constant product.",
      "sourceIds": [
        "source-09a449a9370225aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-09a449a9370225aa",
          "locator": "Invariant comparison; Amplification coefficient"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Curve StableSwap paper: near-peg efficiency and imbalance response; amplification does not supply collateral or guarantee peg."
        ]
      }
    },
    {
      "id": "stableswap-pools-fact-imbalance",
      "articleSlug": "stableswap-pools",
      "statement": "Imbalance: The curve changes behavior as one asset becomes scarce.",
      "sourceIds": [
        "source-09a449a9370225aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-09a449a9370225aa",
          "locator": "Invariant comparison; Amplification coefficient"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Curve StableSwap paper: near-peg efficiency and imbalance response; amplification does not supply collateral or guarantee peg."
        ]
      }
    },
    {
      "id": "single-sided-pool-deposits-quick-answer",
      "articleSlug": "single-sided-pool-deposits",
      "statement": "A single-sided deposit supplies one asset to a pool that represents exposure to several assets. Unlike a proportional join, it changes the pool’s balance proportions and can incur swap-like costs or fees. Supported behavior depends on the pool; receiving an LP token is different from merely storing the supplied token.",
      "sourceIds": [
        "source-b02e5a0b18885844",
        "source-44508aa15cf95cd2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b02e5a0b18885844",
          "locator": "Unbalanced; Single token exact out; Proportional"
        },
        {
          "sourceId": "source-44508aa15cf95cd2",
          "locator": "Invariant; Spot price; Swap equations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer current add-liquidity kinds, exact-BPT-out single-token path and donation with no BPT. Pool permissions and other designs remain qualified."
        ]
      }
    },
    {
      "id": "single-sided-pool-deposits-fact-proportional-join",
      "articleSlug": "single-sided-pool-deposits",
      "statement": "Proportional join: Deposits follow the pool’s existing asset proportions.",
      "sourceIds": [
        "source-b02e5a0b18885844"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b02e5a0b18885844",
          "locator": "Unbalanced; Single token exact out; Proportional"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer current add-liquidity kinds, exact-BPT-out single-token path and donation with no BPT. Pool permissions and other designs remain qualified."
        ]
      }
    },
    {
      "id": "single-sided-pool-deposits-fact-single-token-join",
      "articleSlug": "single-sided-pool-deposits",
      "statement": "Single-token join: Balancer documents a join using one token for an exact BPT output.",
      "sourceIds": [
        "source-b02e5a0b18885844"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b02e5a0b18885844",
          "locator": "Unbalanced; Single token exact out; Proportional"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer current add-liquidity kinds, exact-BPT-out single-token path and donation with no BPT. Pool permissions and other designs remain qualified."
        ]
      }
    },
    {
      "id": "single-sided-pool-deposits-fact-donation",
      "articleSlug": "single-sided-pool-deposits",
      "statement": "Donation: A donation join explicitly receives no BPT and is a different operation.",
      "sourceIds": [
        "source-b02e5a0b18885844"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b02e5a0b18885844",
          "locator": "Unbalanced; Single token exact out; Proportional"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Balancer current add-liquidity kinds, exact-BPT-out single-token path and donation with no BPT. Pool permissions and other designs remain qualified."
        ]
      }
    },
    {
      "id": "batch-auction-swaps-quick-answer",
      "articleSlug": "batch-auction-swaps",
      "statement": "A batch-auction swap groups trade intents so solvers can propose joint execution. Opposing user demand may match directly, while remaining demand uses other liquidity. CoW’s current competition rules enforce order limits and solution-level pricing constraints; batching does not mean every order is filled or that all winning solutions share one universal price.",
      "sourceIds": [
        "source-c1b286b673b2a357",
        "source-772abf60eddbf0c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c1b286b673b2a357",
          "locator": "Intents; batch auctions; solvers; liquidity sources"
        },
        {
          "sourceId": "source-772abf60eddbf0c7",
          "locator": "Uniform directed clearing prices; valid solutions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current CoW rules: uniform directional clearing applies within each solution, not universally across all solutions; combinatorial winning mechanism scoped."
        ]
      }
    },
    {
      "id": "batch-auction-swaps-fact-intents",
      "articleSlug": "batch-auction-swaps",
      "statement": "Intents: Users specify trade conditions in signed messages.",
      "sourceIds": [
        "source-c1b286b673b2a357"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c1b286b673b2a357",
          "locator": "Intents; batch auctions; solvers; liquidity sources"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current CoW rules: uniform directional clearing applies within each solution, not universally across all solutions; combinatorial winning mechanism scoped."
        ]
      }
    },
    {
      "id": "batch-auction-swaps-fact-residual-demand",
      "articleSlug": "batch-auction-swaps",
      "statement": "Residual demand: Solvers can use AMMs and other liquidity sources.",
      "sourceIds": [
        "source-c1b286b673b2a357"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c1b286b673b2a357",
          "locator": "Intents; batch auctions; solvers; liquidity sources"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current CoW rules: uniform directional clearing applies within each solution, not universally across all solutions; combinatorial winning mechanism scoped."
        ]
      }
    },
    {
      "id": "batch-auction-swaps-fact-pricing-scope",
      "articleSlug": "batch-auction-swaps",
      "statement": "Pricing scope: Uniform directional clearing-price rules apply within each solution, with stated exceptions.",
      "sourceIds": [
        "source-772abf60eddbf0c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-772abf60eddbf0c7",
          "locator": "Uniform directed clearing prices; valid solutions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current CoW rules: uniform directional clearing applies within each solution, not universally across all solutions; combinatorial winning mechanism scoped."
        ]
      }
    },
    {
      "id": "intent-based-swaps-quick-answer",
      "articleSlug": "intent-based-swaps",
      "statement": "A swap intent specifies an acceptable outcome while leaving an executor to choose how to produce it. In CoW and UniswapX examples, users sign orders with constraints and solvers or fillers arrange settlement. The security question is which limits the authorized transfer path actually enforces—not whether the interface calls the action gasless.",
      "sourceIds": [
        "source-c1b286b673b2a357",
        "source-772abf60eddbf0c7",
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c1b286b673b2a357",
          "locator": "Intents; batch auctions; solvers; liquidity sources"
        },
        {
          "sourceId": "source-772abf60eddbf0c7",
          "locator": "Uniform directed clearing prices; valid solutions"
        },
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked signed-intent limits, fillers and Permit2 in current UniswapX docs; no signature-as-fill or gasless-as-costless claim."
        ]
      }
    },
    {
      "id": "intent-based-swaps-fact-outcome",
      "articleSlug": "intent-based-swaps",
      "statement": "Outcome: Signed orders constrain what assets and amounts may be exchanged.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked signed-intent limits, fillers and Permit2 in current UniswapX docs; no signature-as-fill or gasless-as-costless claim."
        ]
      }
    },
    {
      "id": "intent-based-swaps-fact-execution",
      "articleSlug": "intent-based-swaps",
      "statement": "Execution: Fillers can use their inventory or external liquidity.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked signed-intent limits, fillers and Permit2 in current UniswapX docs; no signature-as-fill or gasless-as-costless claim."
        ]
      }
    },
    {
      "id": "intent-based-swaps-fact-rules",
      "articleSlug": "intent-based-swaps",
      "statement": "Rules: CoW distinguishes contract-enforced limits from other competition rules.",
      "sourceIds": [
        "source-772abf60eddbf0c7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-772abf60eddbf0c7",
          "locator": "Uniform directed clearing prices; valid solutions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked signed-intent limits, fillers and Permit2 in current UniswapX docs; no signature-as-fill or gasless-as-costless claim."
        ]
      }
    },
    {
      "id": "dutch-auction-swap-orders-quick-answer",
      "articleSlug": "dutch-auction-swap-orders",
      "statement": "A Dutch-auction swap order changes its acceptable exchange amounts over time until a filler finds execution worthwhile. The documented UniswapX example starts with a higher requested output and decays toward a minimum. A later fill can satisfy the signed order while producing less output than the initial auction amount.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked UniswapX Dutch auction is an example among chain-specific mechanisms; 102 to99 over30seconds gives100 at20seconds in invented linear case."
        ]
      }
    },
    {
      "id": "dutch-auction-swap-orders-fact-curve",
      "articleSlug": "dutch-auction-swap-orders",
      "statement": "Curve: UniswapX’s Dutch-auction example defines output amounts over time.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked UniswapX Dutch auction is an example among chain-specific mechanisms; 102 to99 over30seconds gives100 at20seconds in invented linear case."
        ]
      }
    },
    {
      "id": "dutch-auction-swap-orders-fact-executor",
      "articleSlug": "dutch-auction-swap-orders",
      "statement": "Executor: Fillers compete to settle an economically viable order.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked UniswapX Dutch auction is an example among chain-specific mechanisms; 102 to99 over30seconds gives100 at20seconds in invented linear case."
        ]
      }
    },
    {
      "id": "dutch-auction-swap-orders-fact-scope",
      "articleSlug": "dutch-auction-swap-orders",
      "statement": "Scope: UniswapX uses different auction mechanisms on different supported chains.",
      "sourceIds": [
        "source-2ffecd3d628a4d03"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2ffecd3d628a4d03",
          "locator": "Signed orders; fillers; auctions"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked UniswapX Dutch auction is an example among chain-specific mechanisms; 102 to99 over30seconds gives100 at20seconds in invented linear case."
        ]
      }
    },
    {
      "id": "order-book-depth-spread-quick-answer",
      "articleSlug": "order-book-depth-spread",
      "statement": "An order book lists bids to buy and asks to sell at specified prices and sizes. The spread is the gap between the best bid and best ask. Depth measures the quantity available across price levels; a trade larger than the best level can execute at several prices and have a worse average than the top quote.",
      "sourceIds": [
        "source-08e71d7fe0f46d5d",
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-08e71d7fe0f46d5d",
          "locator": "Orderbook; Position information; Stats"
        },
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed order-book example: 3×101 +2×102 =507, average101.4; visible depth not reserved and limit leaves unfilled quantity."
        ]
      }
    },
    {
      "id": "order-book-depth-spread-fact-bid",
      "articleSlug": "order-book-depth-spread",
      "statement": "Bid: A bid is a resting offer to buy.",
      "sourceIds": [
        "source-08e71d7fe0f46d5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-08e71d7fe0f46d5d",
          "locator": "Orderbook; Position information; Stats"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed order-book example: 3×101 +2×102 =507, average101.4; visible depth not reserved and limit leaves unfilled quantity."
        ]
      }
    },
    {
      "id": "order-book-depth-spread-fact-ask",
      "articleSlug": "order-book-depth-spread",
      "statement": "Ask: An ask is a resting offer to sell.",
      "sourceIds": [
        "source-08e71d7fe0f46d5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-08e71d7fe0f46d5d",
          "locator": "Orderbook; Position information; Stats"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed order-book example: 3×101 +2×102 =507, average101.4; visible depth not reserved and limit leaves unfilled quantity."
        ]
      }
    },
    {
      "id": "order-book-depth-spread-fact-depth-chart",
      "articleSlug": "order-book-depth-spread",
      "statement": "Depth chart: The chart aggregates orders by price level.",
      "sourceIds": [
        "source-08e71d7fe0f46d5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-08e71d7fe0f46d5d",
          "locator": "Orderbook; Position information; Stats"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed order-book example: 3×101 +2×102 =507, average101.4; visible depth not reserved and limit leaves unfilled quantity."
        ]
      }
    },
    {
      "id": "order-time-in-force-quick-answer",
      "articleSlug": "order-time-in-force",
      "statement": "Time in force describes how long an order remains eligible and what happens to unfilled quantity. GTC means good until cancelled, subject to venue rules; IOC immediately fills what it can and cancels the rest; FOK requires the entire order to fill immediately or cancels it. Supported policies and expiry limits vary by venue.",
      "sourceIds": [
        "source-a450844a7ee115f1",
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a450844a7ee115f1",
          "locator": "Time in force; post only; fill or kill"
        },
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Coinbase API GTC/IOC/FOK and current dYdX GTD distinction; IOC6 of10 versus FOK0 if only6 executable."
        ]
      }
    },
    {
      "id": "order-time-in-force-fact-ioc",
      "articleSlug": "order-time-in-force",
      "statement": "IOC: Partial execution is permitted; the unfilled remainder is cancelled.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Coinbase API GTC/IOC/FOK and current dYdX GTD distinction; IOC6 of10 versus FOK0 if only6 executable."
        ]
      }
    },
    {
      "id": "order-time-in-force-fact-gtd",
      "articleSlug": "order-time-in-force",
      "statement": "GTD: dYdX documents orders that expire at a specified date.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Coinbase API GTC/IOC/FOK and current dYdX GTD distinction; IOC6 of10 versus FOK0 if only6 executable."
        ]
      }
    },
    {
      "id": "order-time-in-force-fact-fok",
      "articleSlug": "order-time-in-force",
      "statement": "FOK: Fill-or-kill requires complete immediate execution.",
      "sourceIds": [
        "source-a450844a7ee115f1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a450844a7ee115f1",
          "locator": "Time in force; post only; fill or kill"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Coinbase API GTC/IOC/FOK and current dYdX GTD distinction; IOC6 of10 versus FOK0 if only6 executable."
        ]
      }
    },
    {
      "id": "post-only-orders-quick-answer",
      "articleSlug": "post-only-orders",
      "statement": "A post-only order is intended to add resting liquidity rather than immediately match an existing order. In the documented dYdX behavior, an order that would match any existing quantity is cancelled instead of taking that liquidity. Post-only constrains execution style; it does not guarantee a future fill or a positive maker rebate.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX post-only rejection when matching and current reduce-only IOC restriction; maker classification does not promise zero/negative fees."
        ]
      }
    },
    {
      "id": "post-only-orders-fact-maker-intent",
      "articleSlug": "post-only-orders",
      "statement": "Maker intent: The order should rest on the book.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX post-only rejection when matching and current reduce-only IOC restriction; maker classification does not promise zero/negative fees."
        ]
      }
    },
    {
      "id": "post-only-orders-fact-crossing",
      "articleSlug": "post-only-orders",
      "statement": "Crossing: A dYdX post-only order is cancelled if it immediately matches an existing order.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX post-only rejection when matching and current reduce-only IOC restriction; maker classification does not promise zero/negative fees."
        ]
      }
    },
    {
      "id": "post-only-orders-fact-separate-price",
      "articleSlug": "post-only-orders",
      "statement": "Separate price: The limit price still bounds acceptable execution.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX post-only rejection when matching and current reduce-only IOC restriction; maker classification does not promise zero/negative fees."
        ]
      }
    },
    {
      "id": "reduce-only-orders-quick-answer",
      "articleSlug": "reduce-only-orders",
      "statement": "Reduce-only restricts an order to decreasing an existing position rather than increasing exposure or reversing its direction. It is useful when several closing instructions coexist, but the exact rejection, resizing and time-in-force rules are implementation-specific. The retrieved dYdX guide requires IOC for reduce-only orders.",
      "sourceIds": [
        "source-c3db43b5e8f8e4aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c3db43b5e8f8e4aa",
          "locator": "Requirements; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX reduce-only market/limit rejection versus conditional-order resizing; position cannot flip under documented constraint."
        ]
      }
    },
    {
      "id": "reduce-only-orders-fact-exposure",
      "articleSlug": "reduce-only-orders",
      "statement": "Exposure: A reduce-only order cannot enlarge or flip the position under the documented rule.",
      "sourceIds": [
        "source-c3db43b5e8f8e4aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c3db43b5e8f8e4aa",
          "locator": "Requirements; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX reduce-only market/limit rejection versus conditional-order resizing; position cannot flip under documented constraint."
        ]
      }
    },
    {
      "id": "reduce-only-orders-fact-policy",
      "articleSlug": "reduce-only-orders",
      "statement": "Policy: The cited dYdX guide supports reduce-only with IOC.",
      "sourceIds": [
        "source-c3db43b5e8f8e4aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c3db43b5e8f8e4aa",
          "locator": "Requirements; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX reduce-only market/limit rejection versus conditional-order resizing; position cannot flip under documented constraint."
        ]
      }
    },
    {
      "id": "reduce-only-orders-fact-conditional-orders",
      "articleSlug": "reduce-only-orders",
      "statement": "Conditional orders: Documented stop/take-profit orders can resize to remaining position size when triggered.",
      "sourceIds": [
        "source-c3db43b5e8f8e4aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c3db43b5e8f8e4aa",
          "locator": "Requirements; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX reduce-only market/limit rejection versus conditional-order resizing; position cannot flip under documented constraint."
        ]
      }
    },
    {
      "id": "stop-loss-vs-stop-limit-quick-answer",
      "articleSlug": "stop-loss-vs-stop-limit",
      "statement": "A stop-market order activates a market-style order when its trigger condition is met. A stop-limit activates a limit order instead. The trigger is not a guaranteed fill price: market-style execution can be worse, while a limit can remain unfilled. The trigger price source and execution protections depend on the venue.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX oracle/last-traded trigger and clamping rule; stop activation differs from fill and stop-limit can remain unfilled at87 below89 limit."
        ]
      }
    },
    {
      "id": "stop-loss-vs-stop-limit-fact-trigger",
      "articleSlug": "stop-loss-vs-stop-limit",
      "statement": "Trigger: The activation condition is distinct from the resulting order.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX oracle/last-traded trigger and clamping rule; stop activation differs from fill and stop-limit can remain unfilled at87 below89 limit."
        ]
      }
    },
    {
      "id": "stop-loss-vs-stop-limit-fact-stop-limit",
      "articleSlug": "stop-loss-vs-stop-limit",
      "statement": "Stop-limit: After triggering, its price bound still applies.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX oracle/last-traded trigger and clamping rule; stop activation differs from fill and stop-limit can remain unfilled at87 below89 limit."
        ]
      }
    },
    {
      "id": "stop-loss-vs-stop-limit-fact-price-source",
      "articleSlug": "stop-loss-vs-stop-limit",
      "statement": "Price source: dYdX documents oracle/last-price trigger rules with safeguards.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX oracle/last-traded trigger and clamping rule; stop activation differs from fill and stop-limit can remain unfilled at87 below89 limit."
        ]
      }
    },
    {
      "id": "take-profit-orders-quick-answer",
      "articleSlug": "take-profit-orders",
      "statement": "A take-profit order activates an exit when its chosen price condition is reached. For a long position the target is normally above the entry price; for a short it is below. A take-profit market order seeks matching when triggered, while a take-profit limit order retains a price bound and may not fill.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked take-profit direction, limit-execution constraint and remaining-position accounting; conditional reduce-only resizing is venue-specific."
        ]
      }
    },
    {
      "id": "take-profit-orders-fact-activation",
      "articleSlug": "take-profit-orders",
      "statement": "Activation: Reaching a trigger activates an order; it does not prove execution.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked take-profit direction, limit-execution constraint and remaining-position accounting; conditional reduce-only resizing is venue-specific."
        ]
      }
    },
    {
      "id": "take-profit-orders-fact-price-bound",
      "articleSlug": "take-profit-orders",
      "statement": "Price bound: A take-profit limit can remain unfilled.",
      "sourceIds": [
        "source-a2545baf2d42e7b4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a2545baf2d42e7b4",
          "locator": "Market; Limit; Stop; Take Profit; execution policies"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked take-profit direction, limit-execution constraint and remaining-position accounting; conditional reduce-only resizing is venue-specific."
        ]
      }
    },
    {
      "id": "take-profit-orders-fact-position-control",
      "articleSlug": "take-profit-orders",
      "statement": "Position control: Reduce-only can prevent an exit from creating opposite exposure.",
      "sourceIds": [
        "source-c3db43b5e8f8e4aa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c3db43b5e8f8e4aa",
          "locator": "Requirements; How it works"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked take-profit direction, limit-execution constraint and remaining-position accounting; conditional reduce-only resizing is venue-specific."
        ]
      }
    },
    {
      "id": "perpetual-futures-quick-answer",
      "articleSlug": "perpetual-futures",
      "statement": "A perpetual future is a derivative with no scheduled expiry. It gives long or short exposure under a contract’s margin and settlement rules, while funding payments help keep its market price near a reference price. Holding a perpetual does not give the same asset ownership or withdrawal rights as buying the underlying token.",
      "sourceIds": [
        "source-18542509002f6af2",
        "source-ba9f2069b72fa7c0",
        "source-ec50b60aee003176"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        },
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        },
        {
          "sourceId": "source-ec50b60aee003176",
          "locator": "Daily settlement versus expiration"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX perpetual no scheduled expiry/funding and Deribit daily realization without closure; margin is not spot-token ownership."
        ]
      }
    },
    {
      "id": "perpetual-futures-fact-expiry",
      "articleSlug": "perpetual-futures",
      "statement": "Expiry: A perpetual has no scheduled final expiry.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX perpetual no scheduled expiry/funding and Deribit daily realization without closure; margin is not spot-token ownership."
        ]
      }
    },
    {
      "id": "perpetual-futures-fact-funding",
      "articleSlug": "perpetual-futures",
      "statement": "Funding: Payments can move between long and short holders.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX perpetual no scheduled expiry/funding and Deribit daily realization without closure; margin is not spot-token ownership."
        ]
      }
    },
    {
      "id": "perpetual-futures-fact-margin",
      "articleSlug": "perpetual-futures",
      "statement": "Margin: Insufficient equity can lead to forced position reduction.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX perpetual no scheduled expiry/funding and Deribit daily realization without closure; margin is not spot-token ownership."
        ]
      }
    },
    {
      "id": "perpetual-funding-payments-quick-answer",
      "articleSlug": "perpetual-funding-payments",
      "statement": "Perpetual funding is a transfer tied to an open contract position and a periodic rate. In the cited dYdX design, positive funding generally means longs pay shorts and negative funding reverses that direction. The amount depends on the position’s notional and the applicable rate, not just the margin deposited.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX funding direction, hourly/8hour/annualized displays and funding realized while open. 10000×0.0001=1;1/1000=0.1% margin."
        ]
      }
    },
    {
      "id": "perpetual-funding-payments-fact-purpose",
      "articleSlug": "perpetual-funding-payments",
      "statement": "Purpose: Funding encourages the perpetual to trade near its reference price.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX funding direction, hourly/8hour/annualized displays and funding realized while open. 10000×0.0001=1;1/1000=0.1% margin."
        ]
      }
    },
    {
      "id": "perpetual-funding-payments-fact-direction",
      "articleSlug": "perpetual-funding-payments",
      "statement": "Direction: The rate’s sign determines which side pays under the stated convention.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX funding direction, hourly/8hour/annualized displays and funding realized while open. 10000×0.0001=1;1/1000=0.1% margin."
        ]
      }
    },
    {
      "id": "perpetual-funding-payments-fact-period",
      "articleSlug": "perpetual-funding-payments",
      "statement": "Period: Rate displays can show hourly, eight-hour or annualized figures.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX funding direction, hourly/8hour/annualized displays and funding realized while open. 10000×0.0001=1;1/1000=0.1% margin."
        ]
      }
    },
    {
      "id": "mark-index-last-price-quick-answer",
      "articleSlug": "mark-index-last-price",
      "statement": "Last price is the price of a recent completed trade. An index or oracle price is a reference assembled under a published method. A mark price is a venue-defined valuation used for risk or P&L. These prices can differ, and the contract rules determine which one triggers orders or liquidation.",
      "sourceIds": [
        "source-a450844a7ee115f1",
        "source-bf52a8b292c98379",
        "source-f2ccdf54bf686a07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a450844a7ee115f1",
          "locator": "Time in force; post only; fill or kill"
        },
        {
          "sourceId": "source-bf52a8b292c98379",
          "locator": "Oracle determination; liquidation and trigger uses"
        },
        {
          "sourceId": "source-f2ccdf54bf686a07",
          "locator": "What is the Mark Price; building blocks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Deribit mark smoothing and out-of-spread warning plus dYdX oracle valuation; mark not executable offer."
        ]
      }
    },
    {
      "id": "mark-index-last-price-fact-last",
      "articleSlug": "mark-index-last-price",
      "statement": "Last: An executed trade supplies the last-trade observation.",
      "sourceIds": [
        "source-a450844a7ee115f1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a450844a7ee115f1",
          "locator": "Time in force; post only; fill or kill"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Deribit mark smoothing and out-of-spread warning plus dYdX oracle valuation; mark not executable offer."
        ]
      }
    },
    {
      "id": "mark-index-last-price-fact-oracle",
      "articleSlug": "mark-index-last-price",
      "statement": "Oracle: dYdX uses its oracle for collateral valuation and liquidation checks.",
      "sourceIds": [
        "source-bf52a8b292c98379"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bf52a8b292c98379",
          "locator": "Oracle determination; liquidation and trigger uses"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Deribit mark smoothing and out-of-spread warning plus dYdX oracle valuation; mark not executable offer."
        ]
      }
    },
    {
      "id": "mark-index-last-price-fact-mark",
      "articleSlug": "mark-index-last-price",
      "statement": "Mark: Deribit’s mark incorporates market signals and stabilizing rules.",
      "sourceIds": [
        "source-f2ccdf54bf686a07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f2ccdf54bf686a07",
          "locator": "What is the Mark Price; building blocks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Deribit mark smoothing and out-of-spread warning plus dYdX oracle valuation; mark not executable offer."
        ]
      }
    },
    {
      "id": "leverage-margin-notional-quick-answer",
      "articleSlug": "leverage-margin-notional",
      "statement": "Notional measures the size of contract exposure; margin is the collateral or equity supporting it. A simple leverage ratio is notional divided by supporting equity. A small underlying price move can therefore create a much larger percentage change in equity, and maintenance requirements can force liquidation before equity reaches zero.",
      "sourceIds": [
        "source-abf997db4e47a939",
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        },
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed linear leverage:100×100=10000, /2000=5; loss500 leaves1500, current9500/1500≈6.33. Inverse conventions explicitly separate."
        ]
      }
    },
    {
      "id": "leverage-margin-notional-fact-initial-margin",
      "articleSlug": "leverage-margin-notional",
      "statement": "Initial margin: Opening exposure requires the applicable initial margin.",
      "sourceIds": [
        "source-abf997db4e47a939"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed linear leverage:100×100=10000, /2000=5; loss500 leaves1500, current9500/1500≈6.33. Inverse conventions explicitly separate."
        ]
      }
    },
    {
      "id": "leverage-margin-notional-fact-maintenance",
      "articleSlug": "leverage-margin-notional",
      "statement": "Maintenance: Continuing exposure requires sufficient account equity.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed linear leverage:100×100=10000, /2000=5; loss500 leaves1500, current9500/1500≈6.33. Inverse conventions explicitly separate."
        ]
      }
    },
    {
      "id": "leverage-margin-notional-fact-valuation",
      "articleSlug": "leverage-margin-notional",
      "statement": "Valuation: The cited liquidation model uses oracle-valued positions.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed linear leverage:100×100=10000, /2000=5; loss500 leaves1500, current9500/1500≈6.33. Inverse conventions explicitly separate."
        ]
      }
    },
    {
      "id": "cross-vs-isolated-margin-quick-answer",
      "articleSlug": "cross-vs-isolated-margin",
      "statement": "Cross margin lets multiple positions share supporting collateral, so one position’s losses can consume equity supporting others. Isolated margin separates collateral into a defined account or market boundary. The cited dYdX market design also distinguishes shared versus separate insurance funds; isolation does not remove market, execution or protocol risk.",
      "sourceIds": [
        "source-abf997db4e47a939",
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        },
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX cross versus isolated market collateral/fund boundaries;700 loss consumes shared equity while isolation remains implementation-specific."
        ]
      }
    },
    {
      "id": "cross-vs-isolated-margin-fact-cross",
      "articleSlug": "cross-vs-isolated-margin",
      "statement": "Cross: The cited cross markets share collateral and an insurance fund.",
      "sourceIds": [
        "source-abf997db4e47a939"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX cross versus isolated market collateral/fund boundaries;700 loss consumes shared equity while isolation remains implementation-specific."
        ]
      }
    },
    {
      "id": "cross-vs-isolated-margin-fact-isolated",
      "articleSlug": "cross-vs-isolated-margin",
      "statement": "Isolated: The cited isolated markets have segregated collateral and their own fund.",
      "sourceIds": [
        "source-abf997db4e47a939"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX cross versus isolated market collateral/fund boundaries;700 loss consumes shared equity while isolation remains implementation-specific."
        ]
      }
    },
    {
      "id": "cross-vs-isolated-margin-fact-interaction",
      "articleSlug": "cross-vs-isolated-margin",
      "statement": "Interaction: Cross liquidation calculations account for other positions’ requirements.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX cross versus isolated market collateral/fund boundaries;700 loss consumes shared equity while isolation remains implementation-specific."
        ]
      }
    },
    {
      "id": "initial-vs-maintenance-margin-quick-answer",
      "articleSlug": "initial-vs-maintenance-margin",
      "statement": "Initial margin is the requirement for opening or increasing exposure. Maintenance margin is the minimum equity requirement for keeping exposure open under the venue’s risk rules. An account can fall below maintenance while still having positive equity, so liquidation is not restricted to accounts that have already lost everything.",
      "sourceIds": [
        "source-abf997db4e47a939",
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        },
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed invented initial1000 and maintenance600 on10000notional;550 remains positive but insufficient. Threshold distinguished from closing price."
        ]
      }
    },
    {
      "id": "initial-vs-maintenance-margin-fact-opening",
      "articleSlug": "initial-vs-maintenance-margin",
      "statement": "Opening: Initial margin constrains new exposure.",
      "sourceIds": [
        "source-abf997db4e47a939"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed invented initial1000 and maintenance600 on10000notional;550 remains positive but insufficient. Threshold distinguished from closing price."
        ]
      }
    },
    {
      "id": "initial-vs-maintenance-margin-fact-ongoing",
      "articleSlug": "initial-vs-maintenance-margin",
      "statement": "Ongoing: Maintenance is evaluated against current account value.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed invented initial1000 and maintenance600 on10000notional;550 remains positive but insufficient. Threshold distinguished from closing price."
        ]
      }
    },
    {
      "id": "initial-vs-maintenance-margin-fact-reduction",
      "articleSlug": "initial-vs-maintenance-margin",
      "statement": "Reduction: A liquidation can close part or all of a position.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed invented initial1000 and maintenance600 on10000notional;550 remains positive but insufficient. Threshold distinguished from closing price."
        ]
      }
    },
    {
      "id": "realized-unrealized-trading-pnl-quick-answer",
      "articleSlug": "realized-unrealized-trading-pnl",
      "statement": "Unrealized P&L values exposure that is still open using the venue’s chosen reference. Realized P&L records amounts recognized through trades, funding or settlement under its accounting rules. Realized does not always mean the position is closed or the amount is immediately withdrawable; the cited Deribit daily settlement is a concrete example.",
      "sourceIds": [
        "source-f2ccdf54bf686a07",
        "source-ec50b60aee003176",
        "source-e1e8263d81aee299",
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f2ccdf54bf686a07",
          "locator": "What is the Mark Price; building blocks"
        },
        {
          "sourceId": "source-ec50b60aee003176",
          "locator": "Daily settlement versus expiration"
        },
        {
          "sourceId": "source-e1e8263d81aee299",
          "locator": "Cash Flow; price; Funding"
        },
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Deribit daily session reset and transaction-log definitions plus dYdX funding;2×8−3−1=12, no double counting; UI/CSV rounding source explicit."
        ]
      }
    },
    {
      "id": "realized-unrealized-trading-pnl-fact-valuation",
      "articleSlug": "realized-unrealized-trading-pnl",
      "statement": "Valuation: A mark can value unrealized P&L.",
      "sourceIds": [
        "source-f2ccdf54bf686a07"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f2ccdf54bf686a07",
          "locator": "What is the Mark Price; building blocks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Deribit daily session reset and transaction-log definitions plus dYdX funding;2×8−3−1=12, no double counting; UI/CSV rounding source explicit."
        ]
      }
    },
    {
      "id": "realized-unrealized-trading-pnl-fact-funding",
      "articleSlug": "realized-unrealized-trading-pnl",
      "statement": "Funding: dYdX funding changes realized P&L while a position is open.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Deribit daily session reset and transaction-log definitions plus dYdX funding;2×8−3−1=12, no double counting; UI/CSV rounding source explicit."
        ]
      }
    },
    {
      "id": "realized-unrealized-trading-pnl-fact-settlement",
      "articleSlug": "realized-unrealized-trading-pnl",
      "statement": "Settlement: Deribit daily settlement can realize P&L without closing exposure.",
      "sourceIds": [
        "source-ec50b60aee003176"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ec50b60aee003176",
          "locator": "Daily settlement versus expiration"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Deribit daily session reset and transaction-log definitions plus dYdX funding;2×8−3−1=12, no double counting; UI/CSV rounding source explicit."
        ]
      }
    },
    {
      "id": "open-interest-vs-volume-quick-answer",
      "articleSlug": "open-interest-vs-volume",
      "statement": "Open interest counts derivative contracts that remain outstanding. Volume counts contracts traded during a specified period. The same exposure can change hands repeatedly and generate substantial volume without increasing open interest; neither measure alone identifies whether future prices will rise or fall.",
      "sourceIds": [
        "source-dc8e00e03bd323fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc8e00e03bd323fe",
          "locator": "Understanding Open Interest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked CME open-interest versus turnover and counting matched contracts once. Currency valuation and forecast caveats are explained deductions."
        ]
      }
    },
    {
      "id": "open-interest-vs-volume-fact-stock-measure",
      "articleSlug": "open-interest-vs-volume",
      "statement": "Stock measure: Open interest describes outstanding contracts at a point in time.",
      "sourceIds": [
        "source-dc8e00e03bd323fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc8e00e03bd323fe",
          "locator": "Understanding Open Interest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked CME open-interest versus turnover and counting matched contracts once. Currency valuation and forecast caveats are explained deductions."
        ]
      }
    },
    {
      "id": "open-interest-vs-volume-fact-flow-measure",
      "articleSlug": "open-interest-vs-volume",
      "statement": "Flow measure: Volume counts trading during a period.",
      "sourceIds": [
        "source-dc8e00e03bd323fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc8e00e03bd323fe",
          "locator": "Understanding Open Interest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked CME open-interest versus turnover and counting matched contracts once. Currency valuation and forecast caveats are explained deductions."
        ]
      }
    },
    {
      "id": "open-interest-vs-volume-fact-different-questions",
      "articleSlug": "open-interest-vs-volume",
      "statement": "Different questions: Turnover and remaining exposure need not move together.",
      "sourceIds": [
        "source-dc8e00e03bd323fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dc8e00e03bd323fe",
          "locator": "Understanding Open Interest"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked CME open-interest versus turnover and counting matched contracts once. Currency valuation and forecast caveats are explained deductions."
        ]
      }
    },
    {
      "id": "insurance-funds-auto-deleveraging-quick-answer",
      "articleSlug": "insurance-funds-auto-deleveraging",
      "statement": "A derivatives insurance fund is a protocol or venue reserve used under its rules to absorb losses that remain after liquidation. It is not a personal insurance policy guaranteeing every trader’s balance. In the cited dYdX design, depletion can lead to auto-deleveraging, where selected opposing positions are reduced to offset underwater accounts.",
      "sourceIds": [
        "source-cb664621af4b8979"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb664621af4b8979",
          "locator": "Insurance fund; liquidations config; deleveraging"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX first insurance backstop and last-resort deleveraging of opposing profitable leveraged accounts; compared Deribit pro-rata socialized-loss policy."
        ]
      }
    },
    {
      "id": "insurance-funds-auto-deleveraging-fact-first-backstop",
      "articleSlug": "insurance-funds-auto-deleveraging",
      "statement": "First backstop: The documented fund absorbs negative-account losses before deleveraging.",
      "sourceIds": [
        "source-cb664621af4b8979"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb664621af4b8979",
          "locator": "Insurance fund; liquidations config; deleveraging"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX first insurance backstop and last-resort deleveraging of opposing profitable leveraged accounts; compared Deribit pro-rata socialized-loss policy."
        ]
      }
    },
    {
      "id": "insurance-funds-auto-deleveraging-fact-last-resort",
      "articleSlug": "insurance-funds-auto-deleveraging",
      "statement": "Last resort: Deleveraging can affect selected profitable, leveraged counterparties.",
      "sourceIds": [
        "source-cb664621af4b8979"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb664621af4b8979",
          "locator": "Insurance fund; liquidations config; deleveraging"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX first insurance backstop and last-resort deleveraging of opposing profitable leveraged accounts; compared Deribit pro-rata socialized-loss policy."
        ]
      }
    },
    {
      "id": "insurance-funds-auto-deleveraging-fact-scope",
      "articleSlug": "insurance-funds-auto-deleveraging",
      "statement": "Scope: dYdX distinguishes cross-market and isolated-market funds.",
      "sourceIds": [
        "source-abf997db4e47a939"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-abf997db4e47a939",
          "locator": "Liquidity tiers; Market types"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked dYdX first insurance backstop and last-resort deleveraging of opposing profitable leveraged accounts; compared Deribit pro-rata socialized-loss policy."
        ]
      }
    },
    {
      "id": "crypto-call-put-options-quick-answer",
      "articleSlug": "crypto-call-put-options",
      "statement": "A call gives its buyer a contractual right tied to buying the underlying at a strike price; a put gives a right tied to selling. The buyer pays a premium, while the seller assumes the corresponding obligation. Crypto options can settle a cash-equivalent payoff instead of transferring the underlying, so exercise style and settlement specifications matter.",
      "sourceIds": [
        "source-b64d9dc1fc29e2b8",
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b64d9dc1fc29e2b8",
          "locator": "Calls; Puts; Premium"
        },
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OCC/OIC call/put rights and Deribit European/inverse conventions. Call payoff20 minuspremium8=12;payoff5 minus8=−3; short-writing distinguished from selling to close."
        ]
      }
    },
    {
      "id": "crypto-call-put-options-fact-call",
      "articleSlug": "crypto-call-put-options",
      "statement": "Call: A call’s expiry payoff benefits from prices above its strike.",
      "sourceIds": [
        "source-b64d9dc1fc29e2b8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b64d9dc1fc29e2b8",
          "locator": "Calls; Puts; Premium"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OCC/OIC call/put rights and Deribit European/inverse conventions. Call payoff20 minuspremium8=12;payoff5 minus8=−3; short-writing distinguished from selling to close."
        ]
      }
    },
    {
      "id": "crypto-call-put-options-fact-put",
      "articleSlug": "crypto-call-put-options",
      "statement": "Put: A put’s expiry payoff benefits from prices below its strike.",
      "sourceIds": [
        "source-b64d9dc1fc29e2b8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b64d9dc1fc29e2b8",
          "locator": "Calls; Puts; Premium"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OCC/OIC call/put rights and Deribit European/inverse conventions. Call payoff20 minuspremium8=12;payoff5 minus8=−3; short-writing distinguished from selling to close."
        ]
      }
    },
    {
      "id": "crypto-call-put-options-fact-expiry",
      "articleSlug": "crypto-call-put-options",
      "statement": "Expiry: European-style options exercise only at expiry.",
      "sourceIds": [
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OCC/OIC call/put rights and Deribit European/inverse conventions. Call payoff20 minuspremium8=12;payoff5 minus8=−3; short-writing distinguished from selling to close."
        ]
      }
    },
    {
      "id": "option-premium-intrinsic-time-value-quick-answer",
      "articleSlug": "option-premium-intrinsic-time-value",
      "statement": "An option premium is its purchase price. In the standard introductory decomposition, intrinsic value is the favorable difference between underlying and strike, floored at zero; time or extrinsic value is the remaining premium. An out-of-the-money option can therefore have a positive price before expiry despite having no intrinsic value.",
      "sourceIds": [
        "source-99e91c0eeecf6841",
        "source-b64d9dc1fc29e2b8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99e91c0eeecf6841",
          "locator": "Intrinsic value; Time value; Premium inputs"
        },
        {
          "sourceId": "source-b64d9dc1fc29e2b8",
          "locator": "Calls; Puts; Premium"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC introductory intrinsic/extrinsic decomposition;108−100=8 and13−8=5. Currency and exercise limitations explicitly preserved."
        ]
      }
    },
    {
      "id": "option-premium-intrinsic-time-value-fact-call-intrinsic",
      "articleSlug": "option-premium-intrinsic-time-value",
      "statement": "Call intrinsic: For one unit, max(underlying price − strike, 0).",
      "sourceIds": [
        "source-99e91c0eeecf6841"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99e91c0eeecf6841",
          "locator": "Intrinsic value; Time value; Premium inputs"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC introductory intrinsic/extrinsic decomposition;108−100=8 and13−8=5. Currency and exercise limitations explicitly preserved."
        ]
      }
    },
    {
      "id": "option-premium-intrinsic-time-value-fact-put-intrinsic",
      "articleSlug": "option-premium-intrinsic-time-value",
      "statement": "Put intrinsic: For one unit, max(strike − underlying price, 0).",
      "sourceIds": [
        "source-99e91c0eeecf6841"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99e91c0eeecf6841",
          "locator": "Intrinsic value; Time value; Premium inputs"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC introductory intrinsic/extrinsic decomposition;108−100=8 and13−8=5. Currency and exercise limitations explicitly preserved."
        ]
      }
    },
    {
      "id": "option-premium-intrinsic-time-value-fact-extra-premium",
      "articleSlug": "option-premium-intrinsic-time-value",
      "statement": "Extra premium: Time value is premium above intrinsic value in this decomposition.",
      "sourceIds": [
        "source-99e91c0eeecf6841"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99e91c0eeecf6841",
          "locator": "Intrinsic value; Time value; Premium inputs"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC introductory intrinsic/extrinsic decomposition;108−100=8 and13−8=5. Currency and exercise limitations explicitly preserved."
        ]
      }
    },
    {
      "id": "implied-volatility-options-quick-answer",
      "articleSlug": "implied-volatility-options",
      "statement": "Implied volatility is the volatility input consistent with an option’s observed price under a chosen pricing model and other inputs. It differs from historical volatility measured from past returns. Higher implied volatility generally raises otherwise comparable call and put values; it does not specify whether the underlying will rise or fall.",
      "sourceIds": [
        "source-3bf006394c654a9f",
        "source-99e91c0eeecf6841",
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bf006394c654a9f",
          "locator": "Historical versus implied volatility"
        },
        {
          "sourceId": "source-99e91c0eeecf6841",
          "locator": "Intrinsic value; Time value; Premium inputs"
        },
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC historical/implied volatility and vega, Deribit forward input.0.20×3=0.60 local estimate;IV not directional probability."
        ]
      }
    },
    {
      "id": "implied-volatility-options-fact-historical",
      "articleSlug": "implied-volatility-options",
      "statement": "Historical: Historical volatility is calculated from observed past price changes.",
      "sourceIds": [
        "source-3bf006394c654a9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bf006394c654a9f",
          "locator": "Historical versus implied volatility"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC historical/implied volatility and vega, Deribit forward input.0.20×3=0.60 local estimate;IV not directional probability."
        ]
      }
    },
    {
      "id": "implied-volatility-options-fact-implied",
      "articleSlug": "implied-volatility-options",
      "statement": "Implied: Implied volatility is inferred from option pricing.",
      "sourceIds": [
        "source-3bf006394c654a9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bf006394c654a9f",
          "locator": "Historical versus implied volatility"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC historical/implied volatility and vega, Deribit forward input.0.20×3=0.60 local estimate;IV not directional probability."
        ]
      }
    },
    {
      "id": "implied-volatility-options-fact-vega",
      "articleSlug": "implied-volatility-options",
      "statement": "Vega: Vega describes modeled sensitivity to an implied-volatility change.",
      "sourceIds": [
        "source-3bf006394c654a9f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3bf006394c654a9f",
          "locator": "Historical versus implied volatility"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OIC historical/implied volatility and vega, Deribit forward input.0.20×3=0.60 local estimate;IV not directional probability."
        ]
      }
    },
    {
      "id": "options-settlement-currency-quick-answer",
      "articleSlug": "options-settlement-currency",
      "statement": "An option’s settlement currency determines the asset used to pay its result. Quotation currency, strike denomination and settlement currency can differ. Deribit’s documented inverse BTC and ETH options settle economically in the base coin; since 1 August 2026, in-the-money expiries pass through an inverse future before that future cash-settles.",
      "sourceIds": [
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Fresh Deribit inverse-option source confirms1August2026 two-step option-to-future then base-coin settlement;15000/75000=.2BTC, minus.03=.17BTC with fiat timing caveat."
        ]
      }
    },
    {
      "id": "options-settlement-currency-fact-base-coin",
      "articleSlug": "options-settlement-currency",
      "statement": "Base coin: Inverse BTC options settle economically in BTC; inverse ETH options in ETH.",
      "sourceIds": [
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Fresh Deribit inverse-option source confirms1August2026 two-step option-to-future then base-coin settlement;15000/75000=.2BTC, minus.03=.17BTC with fiat timing caveat."
        ]
      }
    },
    {
      "id": "options-settlement-currency-fact-two-steps",
      "articleSlug": "options-settlement-currency",
      "statement": "Two steps: The cited post-August-2026 process creates a future then settles it.",
      "sourceIds": [
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Fresh Deribit inverse-option source confirms1August2026 two-step option-to-future then base-coin settlement;15000/75000=.2BTC, minus.03=.17BTC with fiat timing caveat."
        ]
      }
    },
    {
      "id": "options-settlement-currency-fact-exercise-style",
      "articleSlug": "options-settlement-currency",
      "statement": "Exercise style: European exercise occurs at expiry, while market trading can close a position earlier.",
      "sourceIds": [
        "source-1db71f7a31d87f8e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1db71f7a31d87f8e",
          "locator": "Settlement process change; Settlement examples"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Fresh Deribit inverse-option source confirms1August2026 two-step option-to-future then base-coin settlement;15000/75000=.2BTC, minus.03=.17BTC with fiat timing caveat."
        ]
      }
    },
    {
      "id": "spot-perpetual-basis-risk-quick-answer",
      "articleSlug": "spot-perpetual-basis-risk",
      "statement": "Spot-perpetual basis is the difference between a perpetual’s price and its spot or reference price. Opposing spot and perpetual exposure can reduce directional sensitivity, but the difference between their prices can change. Funding, execution, collateral and forced-position-reduction risks remain; there is no scheduled expiry forcing a perpetual basis to converge.",
      "sourceIds": [
        "source-18542509002f6af2",
        "source-ba9f2069b72fa7c0",
        "source-cb664621af4b8979"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        },
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        },
        {
          "sourceId": "source-cb664621af4b8979",
          "locator": "Insurance fund; liquidations config; deleveraging"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed hedge: spot+10,short−11,total−1;basis2→3. Funding,noexpiry,separate margin and forced reduction risks checked."
        ]
      }
    },
    {
      "id": "spot-perpetual-basis-risk-fact-basis",
      "articleSlug": "spot-perpetual-basis-risk",
      "statement": "Basis: Funding is designed to encourage alignment, not guarantee identical prices.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed hedge: spot+10,short−11,total−1;basis2→3. Funding,noexpiry,separate margin and forced reduction risks checked."
        ]
      }
    },
    {
      "id": "spot-perpetual-basis-risk-fact-no-maturity",
      "articleSlug": "spot-perpetual-basis-risk",
      "statement": "No maturity: Perpetuals have no scheduled final expiry.",
      "sourceIds": [
        "source-18542509002f6af2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18542509002f6af2",
          "locator": "Funding rates; premium; time intervals"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed hedge: spot+10,short−11,total−1;basis2→3. Funding,noexpiry,separate margin and forced reduction risks checked."
        ]
      }
    },
    {
      "id": "spot-perpetual-basis-risk-fact-separate-margin",
      "articleSlug": "spot-perpetual-basis-risk",
      "statement": "Separate margin: A hedged economic position can still face contract liquidation.",
      "sourceIds": [
        "source-ba9f2069b72fa7c0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ba9f2069b72fa7c0",
          "locator": "Margin; fillable price; liquidation"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Recomputed hedge: spot+10,short−11,total−1;basis2→3. Funding,noexpiry,separate margin and forced reduction risks checked."
        ]
      }
    },
    {
      "id": "withdraw-lending-supply-quick-answer",
      "articleSlug": "withdraw-lending-supply",
      "statement": "Withdrawing a lending supply redeems a claim for underlying assets. In Aave V3, it requires enough unborrowed reserve liquidity and must not leave an active borrowing position below its allowed health constraint. A positive supplied balance is therefore not the same as an unconditional right to withdraw that amount immediately.",
      "sourceIds": [
        "source-22552628b3846914",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-22552628b3846914",
          "locator": "Available liquidity; Collateral constraints; Confirm withdrawal"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal available-liquidity and remaining-health constraints, aToken burn and gateway/adapter differences."
        ]
      }
    },
    {
      "id": "withdraw-lending-supply-fact-available-cash",
      "articleSlug": "withdraw-lending-supply",
      "statement": "Available cash: Borrowed-out assets reduce immediate withdrawal liquidity.",
      "sourceIds": [
        "source-22552628b3846914"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-22552628b3846914",
          "locator": "Available liquidity; Collateral constraints; Confirm withdrawal"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal available-liquidity and remaining-health constraints, aToken burn and gateway/adapter differences."
        ]
      }
    },
    {
      "id": "withdraw-lending-supply-fact-collateral-test",
      "articleSlug": "withdraw-lending-supply",
      "statement": "Collateral test: Removing backing must satisfy the remaining position’s health check.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal available-liquidity and remaining-health constraints, aToken burn and gateway/adapter differences."
        ]
      }
    },
    {
      "id": "withdraw-lending-supply-fact-receipt",
      "articleSlug": "withdraw-lending-supply",
      "statement": "Receipt: A normal withdrawal burns the corresponding aTokens.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal available-liquidity and remaining-health constraints, aToken burn and gateway/adapter differences."
        ]
      }
    },
    {
      "id": "toggle-lending-collateral-quick-answer",
      "articleSlug": "toggle-lending-collateral",
      "statement": "A collateral toggle changes whether a supplied asset counts toward borrowing capacity. It does not itself withdraw the asset or repay debt. In Aave V3, disabling collateral is subject to the remaining position’s health constraints, so an asset supporting an outstanding loan cannot always be switched off immediately.",
      "sourceIds": [
        "source-a679a4dc85247e88",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a679a4dc85247e88",
          "locator": "Enable; Disable; health factor"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked collateral toggle is not withdrawal or debt repayment;1200/900≈1.33 and800/900≈.89 after disabling B."
        ]
      }
    },
    {
      "id": "toggle-lending-collateral-fact-separate-status",
      "articleSlug": "toggle-lending-collateral",
      "statement": "Separate status: Supply balance and collateral eligibility are distinct.",
      "sourceIds": [
        "source-a679a4dc85247e88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a679a4dc85247e88",
          "locator": "Enable; Disable; health factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked collateral toggle is not withdrawal or debt repayment;1200/900≈1.33 and800/900≈.89 after disabling B."
        ]
      }
    },
    {
      "id": "toggle-lending-collateral-fact-borrowing-power",
      "articleSlug": "toggle-lending-collateral",
      "statement": "Borrowing power: LTV and liquidation threshold govern different constraints.",
      "sourceIds": [
        "source-a679a4dc85247e88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a679a4dc85247e88",
          "locator": "Enable; Disable; health factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked collateral toggle is not withdrawal or debt repayment;1200/900≈1.33 and800/900≈.89 after disabling B."
        ]
      }
    },
    {
      "id": "toggle-lending-collateral-fact-validation",
      "articleSlug": "toggle-lending-collateral",
      "statement": "Validation: The Pool validates a collateral-status change.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked collateral toggle is not withdrawal or debt repayment;1200/900≈1.33 and800/900≈.89 after disabling B."
        ]
      }
    },
    {
      "id": "repay-defi-loan-quick-answer",
      "articleSlug": "repay-defi-loan",
      "statement": "A normal DeFi loan repayment transfers the owed asset to the lending protocol and reduces the borrower’s recorded debt. Aave V3 supports partial and full repayment, with the corresponding debt tokens burned. Approving a token transfer is only permission; debt changes when the repayment operation succeeds.",
      "sourceIds": [
        "source-18f0ca8b98b01b71",
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-18f0ca8b98b01b71",
          "locator": "Partial/full repayment; confirmation"
        },
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay burns debt and requires allowance; max sentinel documented only for own standard repayment;100.02−100 leaves.02."
        ]
      }
    },
    {
      "id": "repay-defi-loan-fact-asset",
      "articleSlug": "repay-defi-loan",
      "statement": "Asset: The Pool repayment identifies the borrowed underlying asset.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay burns debt and requires allowance; max sentinel documented only for own standard repayment;100.02−100 leaves.02."
        ]
      }
    },
    {
      "id": "repay-defi-loan-fact-debt",
      "articleSlug": "repay-defi-loan",
      "statement": "Debt: Successful repayment burns the corresponding debt balance.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay burns debt and requires allowance; max sentinel documented only for own standard repayment;100.02−100 leaves.02."
        ]
      }
    },
    {
      "id": "repay-defi-loan-fact-permission",
      "articleSlug": "repay-defi-loan",
      "statement": "Permission: ERC-20 repayment requires the necessary transfer authorization.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay burns debt and requires allowance; max sentinel documented only for own standard repayment;100.02−100 leaves.02."
        ]
      }
    },
    {
      "id": "repay-with-collateral-quick-answer",
      "articleSlug": "repay-with-collateral",
      "statement": "Repay-with-collateral uses part of a supplied asset to obtain the debt asset and repay borrowing. Aave’s documented adapters can coordinate withdrawal, swap and repayment atomically, sometimes using a flash loan. The result reduces both debt and collateral, so the final health factor and costs must be evaluated together.",
      "sourceIds": [
        "source-f84decea4c02489e",
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        },
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay adapter flash and nonflash paths and atomicity;health800/600≈1.33 then640/400=1.6 in zero-cost example."
        ]
      }
    },
    {
      "id": "repay-with-collateral-fact-two-balances",
      "articleSlug": "repay-with-collateral",
      "statement": "Two balances: The operation consumes collateral while paying debt.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay adapter flash and nonflash paths and atomicity;health800/600≈1.33 then640/400=1.6 in zero-cost example."
        ]
      }
    },
    {
      "id": "repay-with-collateral-fact-atomic-path",
      "articleSlug": "repay-with-collateral",
      "statement": "Atomic path: The cited adapter can coordinate the steps in one transaction.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay adapter flash and nonflash paths and atomicity;health800/600≈1.33 then640/400=1.6 in zero-cost example."
        ]
      }
    },
    {
      "id": "repay-with-collateral-fact-alternative-path",
      "articleSlug": "repay-with-collateral",
      "statement": "Alternative path: Aave also documents a method without a flash loan when position checks permit.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave repay adapter flash and nonflash paths and atomicity;health800/600≈1.33 then640/400=1.6 in zero-cost example."
        ]
      }
    },
    {
      "id": "collateral-swaps-quick-answer",
      "articleSlug": "collateral-swaps",
      "statement": "A collateral swap replaces one supplied asset with another while coordinating the lending position’s constraints. Aave’s documented swap adapter can combine swapping and re-supply in one transaction, with or without a flash-loan path. Equal market value does not imply equal borrowing power because assets can have different eligibility and risk parameters.",
      "sourceIds": [
        "source-f84decea4c02489e",
        "source-a679a4dc85247e88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        },
        {
          "sourceId": "source-a679a4dc85247e88",
          "locator": "Enable; Disable; health factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave collateral swap adapter min-output and re-supply;800/600≈1.33 versus700/600≈1.17 with different thresholds."
        ]
      }
    },
    {
      "id": "collateral-swaps-fact-replacement",
      "articleSlug": "collateral-swaps",
      "statement": "Replacement: The adapter swaps supplied assets and supplies the result.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave collateral swap adapter min-output and re-supply;800/600≈1.33 versus700/600≈1.17 with different thresholds."
        ]
      }
    },
    {
      "id": "collateral-swaps-fact-output-bound",
      "articleSlug": "collateral-swaps",
      "statement": "Output bound: The documented methods include a minimum amount to receive.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave collateral swap adapter min-output and re-supply;800/600≈1.33 versus700/600≈1.17 with different thresholds."
        ]
      }
    },
    {
      "id": "collateral-swaps-fact-risk-parameters",
      "articleSlug": "collateral-swaps",
      "statement": "Risk parameters: Collateral LTV and liquidation thresholds can differ.",
      "sourceIds": [
        "source-a679a4dc85247e88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a679a4dc85247e88",
          "locator": "Enable; Disable; health factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave collateral swap adapter min-output and re-supply;800/600≈1.33 versus700/600≈1.17 with different thresholds."
        ]
      }
    },
    {
      "id": "defi-debt-refinancing-quick-answer",
      "articleSlug": "defi-debt-refinancing",
      "statement": "Refinancing replaces an existing debt arrangement with another. Aave’s documented debt-swap adapter repays one borrowed asset and opens borrowing in another through a coordinated transaction. A lower displayed interest rate is only one part of the comparison: exchange costs, the amount newly owed and its price relative to collateral also matter.",
      "sourceIds": [
        "source-f84decea4c02489e",
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        },
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave debt-swap adapter and rate/health documentation.1000×(.08−.05)=30/year;12/30=.4years under explicitly fixed assumptions; new denomination risk remains."
        ]
      }
    },
    {
      "id": "defi-debt-refinancing-fact-debt-swap",
      "articleSlug": "defi-debt-refinancing",
      "statement": "Debt swap: The cited adapter repays old debt and re-borrows the new asset.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave debt-swap adapter and rate/health documentation.1000×(.08−.05)=30/year;12/30=.4years under explicitly fixed assumptions; new denomination risk remains."
        ]
      }
    },
    {
      "id": "defi-debt-refinancing-fact-bridge-liquidity",
      "articleSlug": "defi-debt-refinancing",
      "statement": "Bridge liquidity: A flash loan can support the temporary repayment sequence.",
      "sourceIds": [
        "source-f84decea4c02489e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f84decea4c02489e",
          "locator": "Repay with collateral; Collateral Swap; Debt Swap"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave debt-swap adapter and rate/health documentation.1000×(.08−.05)=30/year;12/30=.4years under explicitly fixed assumptions; new denomination risk remains."
        ]
      }
    },
    {
      "id": "defi-debt-refinancing-fact-new-exposure",
      "articleSlug": "defi-debt-refinancing",
      "statement": "New exposure: Health depends on the value of both collateral and borrowed assets.",
      "sourceIds": [
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave debt-swap adapter and rate/health documentation.1000×(.08−.05)=30/year;12/30=.4years under explicitly fixed assumptions; new denomination risk remains."
        ]
      }
    },
    {
      "id": "aave-efficiency-mode-quick-answer",
      "articleSlug": "aave-efficiency-mode",
      "statement": "Aave Efficiency Mode, or E-mode, applies a selected category’s borrowing permissions and collateral parameters. It can permit more borrowing for certain asset combinations, but it also restricts eligible borrowing. Higher capacity is not protection against a breakdown in the assets’ expected relationship or against liquidation.",
      "sourceIds": [
        "source-8037b70863bfb264",
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8037b70863bfb264",
          "locator": "Categories; correlated assets; risks"
        },
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current liquid E-mode categories/multiple membership and borrowing permissions.950/900≈1.056;940×.95/900≈.992; no current parameter values asserted."
        ]
      }
    },
    {
      "id": "aave-efficiency-mode-fact-category-rules",
      "articleSlug": "aave-efficiency-mode",
      "statement": "Category rules: Each category specifies its own LTV, liquidation threshold and bonus.",
      "sourceIds": [
        "source-8037b70863bfb264"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8037b70863bfb264",
          "locator": "Categories; correlated assets; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current liquid E-mode categories/multiple membership and borrowing permissions.950/900≈1.056;940×.95/900≈.992; no current parameter values asserted."
        ]
      }
    },
    {
      "id": "aave-efficiency-mode-fact-borrowing-scope",
      "articleSlug": "aave-efficiency-mode",
      "statement": "Borrowing scope: Borrowing is restricted to the selected category’s permitted assets.",
      "sourceIds": [
        "source-8037b70863bfb264"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8037b70863bfb264",
          "locator": "Categories; correlated assets; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current liquid E-mode categories/multiple membership and borrowing permissions.950/900≈1.056;940×.95/900≈.992; no current parameter values asserted."
        ]
      }
    },
    {
      "id": "aave-efficiency-mode-fact-multiple-categories",
      "articleSlug": "aave-efficiency-mode",
      "statement": "Multiple categories: The retrieved liquid E-mode description permits assets in more than one category.",
      "sourceIds": [
        "source-8037b70863bfb264"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8037b70863bfb264",
          "locator": "Categories; correlated assets; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current liquid E-mode categories/multiple membership and borrowing permissions.950/900≈1.056;940×.95/900≈.992; no current parameter values asserted."
        ]
      }
    },
    {
      "id": "collateral-looping-quick-answer",
      "articleSlug": "collateral-looping",
      "statement": "Collateral looping repeatedly borrows against supplied assets, uses the borrowed value to acquire more collateral and supplies it again. This increases both collateral exposure and debt. It can amplify a yield difference, but it also amplifies price, borrowing-rate and liquidation risks; the larger supplied balance is not all new wealth.",
      "sourceIds": [
        "source-b35859a766315ce4",
        "source-74f79d59daaab5f0",
        "source-1c9a4ee4b0c4a761"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        },
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        },
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked supply and borrow accounting.1750−750=1000equity;1750×.04−750×.06=25 hypothetical income beforecosts; no limit or profitability promise."
        ]
      }
    },
    {
      "id": "collateral-looping-fact-two-sides-grow",
      "articleSlug": "collateral-looping",
      "statement": "Two sides grow: New borrowing creates debt even when its proceeds are re-supplied.",
      "sourceIds": [
        "source-b35859a766315ce4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b35859a766315ce4",
          "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked supply and borrow accounting.1750−750=1000equity;1750×.04−750×.06=25 hypothetical income beforecosts; no limit or profitability promise."
        ]
      }
    },
    {
      "id": "collateral-looping-fact-interest-cost",
      "articleSlug": "collateral-looping",
      "statement": "Interest cost: Borrowing continues to accrue its applicable rate.",
      "sourceIds": [
        "source-1c9a4ee4b0c4a761"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked supply and borrow accounting.1750−750=1000equity;1750×.04−750×.06=25 hypothetical income beforecosts; no limit or profitability promise."
        ]
      }
    },
    {
      "id": "collateral-looping-fact-liquidation",
      "articleSlug": "collateral-looping",
      "statement": "Liquidation: Debt must remain adequately backed at current valuations.",
      "sourceIds": [
        "source-74f79d59daaab5f0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-74f79d59daaab5f0",
          "locator": "Health Factor; Managing Health Factor"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked supply and borrow accounting.1750−750=1000equity;1750×.04−750×.06=25 hypothetical income beforecosts; no limit or profitability promise."
        ]
      }
    },
    {
      "id": "lending-liquidity-vs-solvency-quick-answer",
      "articleSlug": "lending-liquidity-vs-solvency",
      "statement": "Liquidity is the ability to meet a withdrawal now; solvency concerns whether assets and recoverable claims cover obligations. A lending pool can have little withdrawable cash because assets are borrowed, even when loans remain adequately backed. It can also have bad debt that makes part of its recorded claims unrecoverable. The two problems need different evidence.",
      "sourceIds": [
        "source-22552628b3846914",
        "source-2c6118fd53915127",
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-22552628b3846914",
          "locator": "Available liquidity; Collateral constraints; Confirm withdrawal"
        },
        {
          "sourceId": "source-2c6118fd53915127",
          "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks"
        },
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal constraints and Morpho liquidity/bad-debt risks.100cash+900recoverable=1000; ifrecoverable800,shortfall100. Distinguishes account collateral restriction."
        ]
      }
    },
    {
      "id": "lending-liquidity-vs-solvency-fact-liquidity-constraint",
      "articleSlug": "lending-liquidity-vs-solvency",
      "statement": "Liquidity constraint: Insufficient available assets can delay supplier withdrawals.",
      "sourceIds": [
        "source-2c6118fd53915127"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2c6118fd53915127",
          "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal constraints and Morpho liquidity/bad-debt risks.100cash+900recoverable=1000; ifrecoverable800,shortfall100. Distinguishes account collateral restriction."
        ]
      }
    },
    {
      "id": "lending-liquidity-vs-solvency-fact-credit-loss",
      "articleSlug": "lending-liquidity-vs-solvency",
      "statement": "Credit loss: Collateral can become insufficient before liquidation completes.",
      "sourceIds": [
        "source-2c6118fd53915127"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2c6118fd53915127",
          "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal constraints and Morpho liquidity/bad-debt risks.100cash+900recoverable=1000; ifrecoverable800,shortfall100. Distinguishes account collateral restriction."
        ]
      }
    },
    {
      "id": "lending-liquidity-vs-solvency-fact-accounting",
      "articleSlug": "lending-liquidity-vs-solvency",
      "statement": "Accounting: Recognized losses can reduce a vault’s share value.",
      "sourceIds": [
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave withdrawal constraints and Morpho liquidity/bad-debt risks.100cash+900recoverable=1000; ifrecoverable800,shortfall100. Distinguishes account collateral restriction."
        ]
      }
    },
    {
      "id": "bad-debt-socialization-quick-answer",
      "articleSlug": "bad-debt-socialization",
      "statement": "Bad debt is borrowing that cannot be recovered from repayment or available collateral. Socialization allocates that shortfall across a defined set of participants. Morpho Vault V2 documents a share-price mechanism: when an adapter reports lower asset value and the vault recognizes it, the same shares can represent fewer assets.",
      "sourceIds": [
        "source-6716d055644d79b3",
        "source-2c6118fd53915127"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        },
        {
          "sourceId": "source-2c6118fd53915127",
          "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 loss recognition, virtual-share formula, management fees and explicit V1.1 adapter caveat. Simplified100shares×900/1000=90 excludes virtualunits."
        ]
      }
    },
    {
      "id": "bad-debt-socialization-fact-recognition",
      "articleSlug": "bad-debt-socialization",
      "statement": "Recognition: A loss can exist before it is reflected in a particular accounting view.",
      "sourceIds": [
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 loss recognition, virtual-share formula, management fees and explicit V1.1 adapter caveat. Simplified100shares×900/1000=90 excludes virtualunits."
        ]
      }
    },
    {
      "id": "bad-debt-socialization-fact-share-value",
      "articleSlug": "bad-debt-socialization",
      "statement": "Share value: Lower total assets can reduce assets redeemable per share.",
      "sourceIds": [
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 loss recognition, virtual-share formula, management fees and explicit V1.1 adapter caveat. Simplified100shares×900/1000=90 excludes virtualunits."
        ]
      }
    },
    {
      "id": "bad-debt-socialization-fact-version-caveat",
      "articleSlug": "bad-debt-socialization",
      "statement": "Version caveat: The cited V2 guide identifies a V1.1 adapter loss-reporting limitation.",
      "sourceIds": [
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 loss recognition, virtual-share formula, management fees and explicit V1.1 adapter caveat. Simplified100shares×900/1000=90 excludes virtualunits."
        ]
      }
    },
    {
      "id": "fixed-variable-defi-borrowing-quick-answer",
      "articleSlug": "fixed-variable-defi-borrowing",
      "statement": "Variable-rate borrowing accrues costs under a rate that can change with market conditions. Fixed-term borrowing sets an obligation tied to a maturity and execution price under its specific design. A fixed rate can make one cost more predictable, but collateral can still be liquidated and an early exit can depend on market liquidity.",
      "sourceIds": [
        "source-1c9a4ee4b0c4a761",
        "source-d15541e8b3aa8941"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        },
        {
          "sourceId": "source-d15541e8b3aa8941",
          "locator": "Fixed-rate model; maturity; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Midnight fixed-term debt, maturity liquidation and early-exit liquidity;30/970≈3.093% perterm, not automatically annual rate."
        ]
      }
    },
    {
      "id": "fixed-variable-defi-borrowing-fact-variable",
      "articleSlug": "fixed-variable-defi-borrowing",
      "statement": "Variable: Aave supply and borrowing rates respond to pool conditions.",
      "sourceIds": [
        "source-1c9a4ee4b0c4a761"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Midnight fixed-term debt, maturity liquidation and early-exit liquidity;30/970≈3.093% perterm, not automatically annual rate."
        ]
      }
    },
    {
      "id": "fixed-variable-defi-borrowing-fact-fixed-term",
      "articleSlug": "fixed-variable-defi-borrowing",
      "statement": "Fixed term: Morpho Midnight trades units representing loan-token obligations at maturity.",
      "sourceIds": [
        "source-d15541e8b3aa8941"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d15541e8b3aa8941",
          "locator": "Fixed-rate model; maturity; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Midnight fixed-term debt, maturity liquidation and early-exit liquidity;30/970≈3.093% perterm, not automatically annual rate."
        ]
      }
    },
    {
      "id": "fixed-variable-defi-borrowing-fact-early-exit",
      "articleSlug": "fixed-variable-defi-borrowing",
      "statement": "Early exit: The documented fixed-term design depends on secondary liquidity for early trading exits.",
      "sourceIds": [
        "source-d15541e8b3aa8941"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d15541e8b3aa8941",
          "locator": "Fixed-rate model; maturity; risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Midnight fixed-term debt, maturity liquidation and early-exit liquidity;30/970≈3.093% perterm, not automatically annual rate."
        ]
      }
    },
    {
      "id": "principal-yield-tokens-quick-answer",
      "articleSlug": "principal-yield-tokens",
      "statement": "Yield tokenization splits a yield-bearing position into a principal claim and a claim on yield until an expiry. Pendle calls these PT and YT. PT’s intended redemption is measured in the market’s accounting asset, which may differ from the token delivered; underlying losses can reduce that redemption, so principal does not mean a capital guarantee.",
      "sourceIds": [
        "source-30fcaa0ccad4f0db",
        "source-720faf7ceae7b0a4",
        "source-0327c9715bfa2756"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30fcaa0ccad4f0db",
          "locator": "Yield tokenization; PT; YT; maturity"
        },
        {
          "sourceId": "source-720faf7ceae7b0a4",
          "locator": "Redemption Value; Key Properties"
        },
        {
          "sourceId": "source-0327c9715bfa2756",
          "locator": "redeemPY; pyIndexCurrent; Negative Yield"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Pendle accounting-asset principal, PT/YT expiry and nondecreasing index response to negative yield;1/1.25=.8W and1−.96=.04A remain conditional."
        ]
      }
    },
    {
      "id": "principal-yield-tokens-fact-pt",
      "articleSlug": "principal-yield-tokens",
      "statement": "PT: The principal claim becomes redeemable without YT after maturity.",
      "sourceIds": [
        "source-0327c9715bfa2756"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0327c9715bfa2756",
          "locator": "redeemPY; pyIndexCurrent; Negative Yield"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Pendle accounting-asset principal, PT/YT expiry and nondecreasing index response to negative yield;1/1.25=.8W and1−.96=.04A remain conditional."
        ]
      }
    },
    {
      "id": "principal-yield-tokens-fact-yt",
      "articleSlug": "principal-yield-tokens",
      "statement": "YT: The yield claim covers the period before expiry.",
      "sourceIds": [
        "source-0327c9715bfa2756"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0327c9715bfa2756",
          "locator": "redeemPY; pyIndexCurrent; Negative Yield"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Pendle accounting-asset principal, PT/YT expiry and nondecreasing index response to negative yield;1/1.25=.8W and1−.96=.04A remain conditional."
        ]
      }
    },
    {
      "id": "principal-yield-tokens-fact-underlying-loss",
      "articleSlug": "principal-yield-tokens",
      "statement": "Underlying loss: Sustained negative underlying yield can reduce PT’s eventual accounting-asset value.",
      "sourceIds": [
        "source-0327c9715bfa2756"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0327c9715bfa2756",
          "locator": "redeemPY; pyIndexCurrent; Negative Yield"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Pendle accounting-asset principal, PT/YT expiry and nondecreasing index response to negative yield;1/1.25=.8W and1−.96=.04A remain conditional."
        ]
      }
    },
    {
      "id": "vault-curators-allocators-quick-answer",
      "articleSlug": "vault-curators-allocators",
      "statement": "A vault curator chooses permitted strategies and risk limits; an allocator moves funds within those permissions. In Morpho Vault V2, these roles are distinct from an owner who appoints key roles and sentinels who can reduce limits or revoke pending changes. Depositing in the vault exposes the user to the resulting configuration, not merely to a familiar brand name.",
      "sourceIds": [
        "source-618aecc50ad7d607",
        "source-2c6118fd53915127"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-618aecc50ad7d607",
          "locator": "Owner; Curator; Allocator; Sentinel"
        },
        {
          "sourceId": "source-2c6118fd53915127",
          "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 owner appointment without inherited roles, curator/allocator limits and sentinel de-risking powers; V1 distinctions and liquidity-limited exit qualified."
        ]
      }
    },
    {
      "id": "vault-curators-allocators-fact-curator",
      "articleSlug": "vault-curators-allocators",
      "statement": "Curator: The V2 curator configures adapters, risk caps, fees and other controls.",
      "sourceIds": [
        "source-618aecc50ad7d607"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-618aecc50ad7d607",
          "locator": "Owner; Curator; Allocator; Sentinel"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 owner appointment without inherited roles, curator/allocator limits and sentinel de-risking powers; V1 distinctions and liquidity-limited exit qualified."
        ]
      }
    },
    {
      "id": "vault-curators-allocators-fact-allocator",
      "articleSlug": "vault-curators-allocators",
      "statement": "Allocator: Allocators operate within enabled adapters and configured boundaries.",
      "sourceIds": [
        "source-618aecc50ad7d607"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-618aecc50ad7d607",
          "locator": "Owner; Curator; Allocator; Sentinel"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 owner appointment without inherited roles, curator/allocator limits and sentinel de-risking powers; V1 distinctions and liquidity-limited exit qualified."
        ]
      }
    },
    {
      "id": "vault-curators-allocators-fact-owner",
      "articleSlug": "vault-curators-allocators",
      "statement": "Owner: The V2 owner appoints roles but does not automatically inherit their powers.",
      "sourceIds": [
        "source-618aecc50ad7d607"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-618aecc50ad7d607",
          "locator": "Owner; Curator; Allocator; Sentinel"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 owner appointment without inherited roles, curator/allocator limits and sentinel de-risking powers; V1 distinctions and liquidity-limited exit qualified."
        ]
      }
    },
    {
      "id": "vault-management-performance-fees-quick-answer",
      "articleSlug": "vault-management-performance-fees",
      "statement": "A management fee charges against an asset base over time; a performance fee charges against a defined gain or interest base. Morpho Vault V2 supports both and pays fee recipients by minting vault shares. Your share count can stay unchanged while fee shares reduce your proportional claim, so the absence of a token debit does not mean the fee is free.",
      "sourceIds": [
        "source-41146d49a04c267c",
        "source-6716d055644d79b3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-41146d49a04c267c",
          "locator": "Fee Structure in Morpho Vaults V2; Fee Collection Mechanism"
        },
        {
          "sourceId": "source-6716d055644d79b3",
          "locator": "Loss detection; Loss realization"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 fee bases and minted-share method.10000×.01=100;500×.1=50;100×1000/1010≈99.01. Fee shares illustrate dilution, not exact contract mint count."
        ]
      }
    },
    {
      "id": "vault-management-performance-fees-fact-management-base",
      "articleSlug": "vault-management-performance-fees",
      "statement": "Management base: The cited V2 management fee is annualized against totalAssets.",
      "sourceIds": [
        "source-41146d49a04c267c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-41146d49a04c267c",
          "locator": "Fee Structure in Morpho Vaults V2; Fee Collection Mechanism"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 fee bases and minted-share method.10000×.01=100;500×.1=50;100×1000/1010≈99.01. Fee shares illustrate dilution, not exact contract mint count."
        ]
      }
    },
    {
      "id": "vault-management-performance-fees-fact-performance-base",
      "articleSlug": "vault-management-performance-fees",
      "statement": "Performance base: The cited performance fee is a percentage of generated interest.",
      "sourceIds": [
        "source-41146d49a04c267c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-41146d49a04c267c",
          "locator": "Fee Structure in Morpho Vaults V2; Fee Collection Mechanism"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 fee bases and minted-share method.10000×.01=100;500×.1=50;100×1000/1010≈99.01. Fee shares illustrate dilution, not exact contract mint count."
        ]
      }
    },
    {
      "id": "vault-management-performance-fees-fact-collection",
      "articleSlug": "vault-management-performance-fees",
      "statement": "Collection: Fees are collected through newly minted shares.",
      "sourceIds": [
        "source-41146d49a04c267c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-41146d49a04c267c",
          "locator": "Fee Structure in Morpho Vaults V2; Fee Collection Mechanism"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho V2 fee bases and minted-share method.10000×.01=100;500×.1=50;100×1000/1010≈99.01. Fee shares illustrate dilution, not exact contract mint count."
        ]
      }
    },
    {
      "id": "lending-collateral-interest-quick-answer",
      "articleSlug": "lending-collateral-interest",
      "statement": "Collateral does not earn interest merely because it backs a loan. Aave supplies can accrue pool interest while eligible supplies also serve as collateral. Morpho Blue separates loan-asset lending from collateral deposits, and its collateral balance does not earn Morpho lending interest. A collateral token can still have its own independent yield mechanism.",
      "sourceIds": [
        "source-1c9a4ee4b0c4a761",
        "source-7c21a705af654627",
        "source-30fcaa0ccad4f0db"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        },
        {
          "sourceId": "source-7c21a705af654627",
          "locator": "Assets and shares; collateral accounting"
        },
        {
          "sourceId": "source-30fcaa0ccad4f0db",
          "locator": "Yield tokenization; PT; YT; maturity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Blue collateral balance has no lending yield and Aave supply can earn while collateral; external yield-bearing mechanism distinguished from lending interest."
        ]
      }
    },
    {
      "id": "lending-collateral-interest-fact-aave-supply",
      "articleSlug": "lending-collateral-interest",
      "statement": "Aave supply: Supplied tokens accrue the reserve’s supply rate under Aave’s rules.",
      "sourceIds": [
        "source-1c9a4ee4b0c4a761"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1c9a4ee4b0c4a761",
          "locator": "Supply; Borrow; Repay"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Blue collateral balance has no lending yield and Aave supply can earn while collateral; external yield-bearing mechanism distinguished from lending interest."
        ]
      }
    },
    {
      "id": "lending-collateral-interest-fact-morpho-collateral",
      "articleSlug": "lending-collateral-interest",
      "statement": "Morpho collateral: The cited Blue collateral accounting is asset-based and earns no lending yield.",
      "sourceIds": [
        "source-7c21a705af654627"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7c21a705af654627",
          "locator": "Assets and shares; collateral accounting"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Blue collateral balance has no lending yield and Aave supply can earn while collateral; external yield-bearing mechanism distinguished from lending interest."
        ]
      }
    },
    {
      "id": "lending-collateral-interest-fact-separate-mechanism",
      "articleSlug": "lending-collateral-interest",
      "statement": "Separate mechanism: Yield-bearing tokens can represent returns generated by another protocol.",
      "sourceIds": [
        "source-30fcaa0ccad4f0db"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-30fcaa0ccad4f0db",
          "locator": "Yield tokenization; PT; YT; maturity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Morpho Blue collateral balance has no lending yield and Aave supply can earn while collateral; external yield-bearing mechanism distinguished from lending interest."
        ]
      }
    },
    {
      "id": "protocol-backstop-staking-quick-answer",
      "articleSlug": "protocol-backstop-staking",
      "statement": "Protocol backstop staking puts assets at risk so they can help cover a defined protocol shortfall. Rewards compensate participants for that exposure. Aave Umbrella, for example, can reduce the value of staked claims when a deficit exceeds its configured offset; this is different from depositing solely to earn lending interest or securing blockchain consensus.",
      "sourceIds": [
        "source-7a76a0967f85931b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a76a0967f85931b",
          "locator": "Architecture; slashing; coverage; cooldown"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Aave Umbrella asset/network coverage, deficit offset, share loss and slashable cooldown.100shares×950/1000=95; no current rate/offset or event asserted."
        ]
      }
    },
    {
      "id": "protocol-backstop-staking-fact-defined-coverage",
      "articleSlug": "protocol-backstop-staking",
      "statement": "Defined coverage: Umbrella coverage is tied to a specific asset and network.",
      "sourceIds": [
        "source-7a76a0967f85931b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a76a0967f85931b",
          "locator": "Architecture; slashing; coverage; cooldown"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Aave Umbrella asset/network coverage, deficit offset, share loss and slashable cooldown.100shares×950/1000=95; no current rate/offset or event asserted."
        ]
      }
    },
    {
      "id": "protocol-backstop-staking-fact-loss-mechanism",
      "articleSlug": "protocol-backstop-staking",
      "statement": "Loss mechanism: Slashing reduces assets behind the staking shares.",
      "sourceIds": [
        "source-7a76a0967f85931b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a76a0967f85931b",
          "locator": "Architecture; slashing; coverage; cooldown"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Aave Umbrella asset/network coverage, deficit offset, share loss and slashable cooldown.100shares×950/1000=95; no current rate/offset or event asserted."
        ]
      }
    },
    {
      "id": "protocol-backstop-staking-fact-exit-timing",
      "articleSlug": "protocol-backstop-staking",
      "statement": "Exit timing: Cooldown and withdrawal-window rules apply; funds remain slashable during cooldown.",
      "sourceIds": [
        "source-7a76a0967f85931b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7a76a0967f85931b",
          "locator": "Architecture; slashing; coverage; cooldown"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Aave Umbrella asset/network coverage, deficit offset, share loss and slashable cooldown.100shares×950/1000=95; no current rate/offset or event asserted."
        ]
      }
    },
    {
      "id": "protocol-pause-vs-freeze-quick-answer",
      "articleSlug": "protocol-pause-vs-freeze",
      "statement": "Pause and freeze are contract controls whose meaning depends on the implementation. In the cited Aave V3 configurator, freezing a reserve blocks new supply and borrowing while allowing repayment, liquidation and withdrawal under normal constraints. Pausing has broader restrictions, including repayment and liquidation. Read the exact reserve state instead of treating both labels as the same action.",
      "sourceIds": [
        "source-3f2a862175a4a427"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f2a862175a4a427",
          "locator": "setReserveFreeze; setReservePause; setPoolPause"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave V3 configurator: freeze allows repayments/liquidations/withdrawals but blocks supply/borrow; pause broader. Role restrictions and liquidity constraints retained."
        ]
      }
    },
    {
      "id": "protocol-pause-vs-freeze-fact-freeze",
      "articleSlug": "protocol-pause-vs-freeze",
      "statement": "Freeze: The documented V3 freeze prevents new supply and borrowing.",
      "sourceIds": [
        "source-3f2a862175a4a427"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f2a862175a4a427",
          "locator": "setReserveFreeze; setReservePause; setPoolPause"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave V3 configurator: freeze allows repayments/liquidations/withdrawals but blocks supply/borrow; pause broader. Role restrictions and liquidity constraints retained."
        ]
      }
    },
    {
      "id": "protocol-pause-vs-freeze-fact-pause",
      "articleSlug": "protocol-pause-vs-freeze",
      "statement": "Pause: The documented reserve pause suspends broader interactions.",
      "sourceIds": [
        "source-3f2a862175a4a427"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f2a862175a4a427",
          "locator": "setReserveFreeze; setReservePause; setPoolPause"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave V3 configurator: freeze allows repayments/liquidations/withdrawals but blocks supply/borrow; pause broader. Role restrictions and liquidity constraints retained."
        ]
      }
    },
    {
      "id": "protocol-pause-vs-freeze-fact-authority",
      "articleSlug": "protocol-pause-vs-freeze",
      "statement": "Authority: These controls are limited to specified administrative roles.",
      "sourceIds": [
        "source-3f2a862175a4a427"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f2a862175a4a427",
          "locator": "setReserveFreeze; setReservePause; setPoolPause"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Aave V3 configurator: freeze allows repayments/liquidations/withdrawals but blocks supply/borrow; pause broader. Role restrictions and liquidity constraints retained."
        ]
      }
    },
    {
      "id": "bug-bounties-vs-audits-quick-answer",
      "articleSlug": "bug-bounties-vs-audits",
      "statement": "An audit is a planned examination of a defined codebase or system. A bug bounty offers rewards for qualifying vulnerability reports under published rules. They can complement each other, but neither proves that a protocol has no bugs. A useful assessment checks what was examined, what is deployed now and which reports the bounty actually accepts.",
      "sourceIds": [
        "source-51752d973dc3abdc",
        "source-56c47d2d3baa981e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-51752d973dc3abdc",
          "locator": "Auditing and security; Admin accounts; Upgrades admin"
        },
        {
          "sourceId": "source-56c47d2d3baa981e",
          "locator": "Program overview; scope; eligibility; prohibited activities"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin absence-of-bugs caveat and source verification versus safety; current Immunefi Aave scope, proof-of-concept and eligibility requirements. Audit not reimbursement."
        ]
      }
    },
    {
      "id": "bug-bounties-vs-audits-fact-audit-limit",
      "articleSlug": "bug-bounties-vs-audits",
      "statement": "Audit limit: OpenZeppelin explicitly says audits do not ensure the absence of bugs.",
      "sourceIds": [
        "source-51752d973dc3abdc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-51752d973dc3abdc",
          "locator": "Auditing and security; Admin accounts; Upgrades admin"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin absence-of-bugs caveat and source verification versus safety; current Immunefi Aave scope, proof-of-concept and eligibility requirements. Audit not reimbursement."
        ]
      }
    },
    {
      "id": "bug-bounties-vs-audits-fact-bounty-scope",
      "articleSlug": "bug-bounties-vs-audits",
      "statement": "Bounty scope: The cited Aave program defines eligible systems, impacts and researchers.",
      "sourceIds": [
        "source-56c47d2d3baa981e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56c47d2d3baa981e",
          "locator": "Program overview; scope; eligibility; prohibited activities"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin absence-of-bugs caveat and source verification versus safety; current Immunefi Aave scope, proof-of-concept and eligibility requirements. Audit not reimbursement."
        ]
      }
    },
    {
      "id": "bug-bounties-vs-audits-fact-evidence-requirement",
      "articleSlug": "bug-bounties-vs-audits",
      "statement": "Evidence requirement: That program requires a proof of concept for smart-contract reports.",
      "sourceIds": [
        "source-56c47d2d3baa981e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56c47d2d3baa981e",
          "locator": "Program overview; scope; eligibility; prohibited activities"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin absence-of-bugs caveat and source verification versus safety; current Immunefi Aave scope, proof-of-concept and eligibility requirements. Audit not reimbursement."
        ]
      }
    },
    {
      "id": "governance-quorum-thresholds-quick-answer",
      "articleSlug": "governance-quorum-thresholds",
      "statement": "A proposal threshold controls who can submit a governance proposal. Quorum sets a minimum participation requirement, while the approval rule determines whether support is sufficient to pass. These are separate tests. OpenZeppelin’s example counts For and Abstain toward quorum, so even the meaning of participation must be checked in the actual voting module.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7",
        "source-da7d59cbf24fff1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        },
        {
          "sourceId": "source-da7d59cbf24fff1c",
          "locator": "Governor; GovernorVotesQuorumFraction; GovernorSettings"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Governor proposal threshold, historical quorum and For-plus-Abstain module.70000+20000=90000<100000; extra10000Abstain changes quorum without changing majority."
        ]
      }
    },
    {
      "id": "governance-quorum-thresholds-fact-threshold",
      "articleSlug": "governance-quorum-thresholds",
      "statement": "Threshold: Proposal threshold is the voting power needed to become a proposer.",
      "sourceIds": [
        "source-da7d59cbf24fff1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da7d59cbf24fff1c",
          "locator": "Governor; GovernorVotesQuorumFraction; GovernorSettings"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Governor proposal threshold, historical quorum and For-plus-Abstain module.70000+20000=90000<100000; extra10000Abstain changes quorum without changing majority."
        ]
      }
    },
    {
      "id": "governance-quorum-thresholds-fact-quorum",
      "articleSlug": "governance-quorum-thresholds",
      "statement": "Quorum: Quorum may be a fraction of supply at the proposal snapshot.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Governor proposal threshold, historical quorum and For-plus-Abstain module.70000+20000=90000<100000; extra10000Abstain changes quorum without changing majority."
        ]
      }
    },
    {
      "id": "governance-quorum-thresholds-fact-counting-rule",
      "articleSlug": "governance-quorum-thresholds",
      "statement": "Counting rule: The documented simple module counts For and Abstain toward quorum.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Governor proposal threshold, historical quorum and For-plus-Abstain module.70000+20000=90000<100000; extra10000Abstain changes quorum without changing majority."
        ]
      }
    },
    {
      "id": "offchain-votes-onchain-execution-quick-answer",
      "articleSlug": "offchain-votes-onchain-execution",
      "statement": "An off-chain vote records a decision without making every ballot an on-chain transaction. That result does not itself move treasury assets. Execution needs a separate mechanism: people controlling the relevant account, or a module that checks conditions and authorizes calls. Snapshot’s classic voting and its SafeSnap integration illustrate these separate steps.",
      "sourceIds": [
        "source-cbc7e9d7cf6252e0",
        "source-a23b06819b0568e9",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cbc7e9d7cf6252e0",
          "locator": "Voting; execution; Snapshot X"
        },
        {
          "sourceId": "source-a23b06819b0568e9",
          "locator": "How does it work; security recommendations"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership; roles; delayed access"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Snapshot classic versus SnapshotX and SafeSnap Reality.eth outcome/payload questions plus cooldown; vote result not itself an asset transfer."
        ]
      }
    },
    {
      "id": "offchain-votes-onchain-execution-fact-classic-voting",
      "articleSlug": "offchain-votes-onchain-execution",
      "statement": "Classic voting: Snapshot’s classic platform records off-chain votes.",
      "sourceIds": [
        "source-cbc7e9d7cf6252e0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cbc7e9d7cf6252e0",
          "locator": "Voting; execution; Snapshot X"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Snapshot classic versus SnapshotX and SafeSnap Reality.eth outcome/payload questions plus cooldown; vote result not itself an asset transfer."
        ]
      }
    },
    {
      "id": "offchain-votes-onchain-execution-fact-execution-link",
      "articleSlug": "offchain-votes-onchain-execution",
      "statement": "Execution link: SafeSnap connects proposals to Safe transaction payloads through an oracle-based process.",
      "sourceIds": [
        "source-a23b06819b0568e9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a23b06819b0568e9",
          "locator": "How does it work; security recommendations"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Snapshot classic versus SnapshotX and SafeSnap Reality.eth outcome/payload questions plus cooldown; vote result not itself an asset transfer."
        ]
      }
    },
    {
      "id": "offchain-votes-onchain-execution-fact-different-product",
      "articleSlug": "offchain-votes-onchain-execution",
      "statement": "Different product: Snapshot X is described as fully on-chain governance.",
      "sourceIds": [
        "source-cbc7e9d7cf6252e0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cbc7e9d7cf6252e0",
          "locator": "Voting; execution; Snapshot X"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked Snapshot classic versus SnapshotX and SafeSnap Reality.eth outcome/payload questions plus cooldown; vote result not itself an asset transfer."
        ]
      }
    },
    {
      "id": "dao-treasury-runway-quick-answer",
      "articleSlug": "dao-treasury-runway",
      "statement": "Treasury runway estimates how long usable resources can cover an organization’s spending under stated assumptions. A basic net-spending model divides available funds by expected spending minus recurring income. A DAO’s total token valuation can overstate practical runway if assets are restricted, volatile or hard to sell, and internal transfers should not be counted as spending twice.",
      "sourceIds": [
        "source-8373f75c3ba0b2f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8373f75c3ba0b2f5",
          "locator": "Reserves, Spending and Runway"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked KPK H1 2026 ENS primary treasury report, normalization/scope caveats and internal transfer versus spend.1200000/(150000−50000)=12months; grossexpense model8months."
        ]
      }
    },
    {
      "id": "dao-treasury-runway-fact-model",
      "articleSlug": "dao-treasury-runway",
      "statement": "Model: Runway depends on the chosen spending and revenue assumptions.",
      "sourceIds": [
        "source-8373f75c3ba0b2f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8373f75c3ba0b2f5",
          "locator": "Reserves, Spending and Runway"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked KPK H1 2026 ENS primary treasury report, normalization/scope caveats and internal transfer versus spend.1200000/(150000−50000)=12months; grossexpense model8months."
        ]
      }
    },
    {
      "id": "dao-treasury-runway-fact-scope",
      "articleSlug": "dao-treasury-runway",
      "statement": "Scope: DAO-wide reserves and one endowment account are different boundaries.",
      "sourceIds": [
        "source-8373f75c3ba0b2f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8373f75c3ba0b2f5",
          "locator": "Reserves, Spending and Runway"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked KPK H1 2026 ENS primary treasury report, normalization/scope caveats and internal transfer versus spend.1200000/(150000−50000)=12months; grossexpense model8months."
        ]
      }
    },
    {
      "id": "dao-treasury-runway-fact-transfers",
      "articleSlug": "dao-treasury-runway",
      "statement": "Transfers: Moving money between DAO-controlled accounts need not be an expense.",
      "sourceIds": [
        "source-8373f75c3ba0b2f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8373f75c3ba0b2f5",
          "locator": "Reserves, Spending and Runway"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked KPK H1 2026 ENS primary treasury report, normalization/scope caveats and internal transfer versus spend.1200000/(150000−50000)=12months; grossexpense model8months."
        ]
      }
    },
    {
      "id": "borrowed-governance-power-quick-answer",
      "articleSlug": "borrowed-governance-power",
      "statement": "Governance that gives power to token balances must consider how that power was acquired and when it is measured. Borrowed or delegated tokens can create temporary influence under the system’s rules. Historical snapshots prevent current transfers from repeatedly changing a past vote’s weight, but they do not prove that every voter has permanent economic exposure.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7",
        "source-da7d59cbf24fff1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        },
        {
          "sourceId": "source-da7d59cbf24fff1c",
          "locator": "Governor; GovernorVotesQuorumFraction; GovernorSettings"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin block-end snapshot API and historical voting power. Same-transaction return cannot preserve borrower power through end-of-block under this stated model; longer borrowing/custom rules qualified."
        ]
      }
    },
    {
      "id": "borrowed-governance-power-fact-historical-weight",
      "articleSlug": "borrowed-governance-power",
      "statement": "Historical weight: ERC20Votes records voting power that can be read at a past snapshot.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin block-end snapshot API and historical voting power. Same-transaction return cannot preserve borrower power through end-of-block under this stated model; longer borrowing/custom rules qualified."
        ]
      }
    },
    {
      "id": "borrowed-governance-power-fact-timing",
      "articleSlug": "borrowed-governance-power",
      "statement": "Timing: Voting delay and voting period are separate governor parameters.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin block-end snapshot API and historical voting power. Same-transaction return cannot preserve borrower power through end-of-block under this stated model; longer borrowing/custom rules qualified."
        ]
      }
    },
    {
      "id": "borrowed-governance-power-fact-execution",
      "articleSlug": "borrowed-governance-power",
      "statement": "Execution: A timelock adds a later stage after successful voting.",
      "sourceIds": [
        "source-5ae9ea0050b20bf7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5ae9ea0050b20bf7",
          "locator": "Proposal threshold; quorum; Votes; snapshot"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked OpenZeppelin block-end snapshot API and historical voting power. Same-transaction return cannot preserve borrower power through end-of-block under this stated model; longer borrowing/custom rules qualified."
        ]
      }
    },
    {
      "id": "liquidity-locks-burned-lp-quick-answer",
      "articleSlug": "liquidity-locks-burned-lp",
      "statement": "A liquidity lock restricts access to specified LP receipts until its conditions permit withdrawal. Making those receipts permanently inaccessible can remove the holder’s ability to redeem that portion of the pool. Neither action removes the underlying token’s administrative powers or guarantees its market value. Check the exact pool, locked amount, duration and contract rules.",
      "sourceIds": [
        "source-2601cf7bc26edfa6",
        "source-5651ae58cdcb25c2",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2601cf7bc26edfa6",
          "locator": "Liquidity Lockers"
        },
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership; roles; delayed access"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked versioned Uniswap v2 burn redemption and fee-minting code, UNCX lock description and independent token admin controls.700/1000=70%; ordinary burn redeem differs from inaccessible receipt claim."
        ]
      }
    },
    {
      "id": "liquidity-locks-burned-lp-fact-receipt-claim",
      "articleSlug": "liquidity-locks-burned-lp",
      "statement": "Receipt claim: Uniswap v2 redemption uses LP tokens to withdraw a proportional asset claim.",
      "sourceIds": [
        "source-5651ae58cdcb25c2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5651ae58cdcb25c2",
          "locator": "mint; burn; swap; _mintFee"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked versioned Uniswap v2 burn redemption and fee-minting code, UNCX lock description and independent token admin controls.700/1000=70%; ordinary burn redeem differs from inaccessible receipt claim."
        ]
      }
    },
    {
      "id": "liquidity-locks-burned-lp-fact-time-lock",
      "articleSlug": "liquidity-locks-burned-lp",
      "statement": "Time lock: The cited locker holds LP tokens until the unlock date.",
      "sourceIds": [
        "source-2601cf7bc26edfa6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2601cf7bc26edfa6",
          "locator": "Liquidity Lockers"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked versioned Uniswap v2 burn redemption and fee-minting code, UNCX lock description and independent token admin controls.700/1000=70%; ordinary burn redeem differs from inaccessible receipt claim."
        ]
      }
    },
    {
      "id": "liquidity-locks-burned-lp-fact-separate-powers",
      "articleSlug": "liquidity-locks-burned-lp",
      "statement": "Separate powers: Token minting and transfer restrictions can have their own administrators.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership; roles; delayed access"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked versioned Uniswap v2 burn redemption and fee-minting code, UNCX lock description and independent token admin controls.700/1000=70%; ordinary burn redeem differs from inaccessible receipt claim."
        ]
      }
    },
    {
      "id": "defi-cover-claims-quick-answer",
      "articleSlug": "defi-cover-claims",
      "statement": "DeFi cover is an agreement or mutual arrangement addressing specified losses under its wording. It does not automatically cover every price decline, exploit or inaccessible balance. Nexus Mutual’s current documentation describes discretionary cover: a Claims Committee assesses a claim against the wording for the selected product, amount and period.",
      "sourceIds": [
        "source-a8ad9738787ae4b2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8ad9738787ae4b2",
          "locator": "Product wording; discretionary cover; claims"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Nexus Mutual product documentation: discretionary Claims Committee, own wording/period, delisted existing cover still valid. No generic incident-to-guaranteed-payout inference."
        ]
      }
    },
    {
      "id": "defi-cover-claims-fact-specific-risk",
      "articleSlug": "defi-cover-claims",
      "statement": "Specific risk: Members choose a risk, amount and coverage period.",
      "sourceIds": [
        "source-a8ad9738787ae4b2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8ad9738787ae4b2",
          "locator": "Product wording; discretionary cover; claims"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Nexus Mutual product documentation: discretionary Claims Committee, own wording/period, delisted existing cover still valid. No generic incident-to-guaranteed-payout inference."
        ]
      }
    },
    {
      "id": "defi-cover-claims-fact-assessment",
      "articleSlug": "defi-cover-claims",
      "statement": "Assessment: The cited cover is discretionary and assessed against its wording.",
      "sourceIds": [
        "source-a8ad9738787ae4b2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8ad9738787ae4b2",
          "locator": "Product wording; discretionary cover; claims"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Nexus Mutual product documentation: discretionary Claims Committee, own wording/period, delisted existing cover still valid. No generic incident-to-guaranteed-payout inference."
        ]
      }
    },
    {
      "id": "defi-cover-claims-fact-existing-cover",
      "articleSlug": "defi-cover-claims",
      "statement": "Existing cover: A delisted offering’s already-held cover remains subject to its own term and wording.",
      "sourceIds": [
        "source-a8ad9738787ae4b2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8ad9738787ae4b2",
          "locator": "Product wording; discretionary cover; claims"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Checked current Nexus Mutual product documentation: discretionary Claims Committee, own wording/period, delisted existing cover still valid. No generic incident-to-guaranteed-payout inference."
        ]
      }
    },
    {
      "id": "rug-pulls-vs-exploits-quick-answer",
      "articleSlug": "rug-pulls-vs-exploits",
      "statement": "A rug pull generally describes project-linked fraud involving misuse of control over funds, including deceptive liquidity removal. An exploit abuses a technical or economic weakness. The categories can overlap, but a price crash or withdrawal failure alone does not establish either one. The useful question is what action moved value and who had the authority to perform it.",
      "sourceIds": [
        "source-14600b470ef1f569",
        "source-51752d973dc3abdc",
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14600b470ef1f569",
          "locator": "Evidence at trial; representations about locked liquidity"
        },
        {
          "sourceId": "source-51752d973dc3abdc",
          "locator": "Auditing and security; Admin accounts; Upgrades admin"
        },
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership; roles; delayed access"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Independently reopened DOJ May21,2025 jury-verdict report through web.run after direct HTTP returned challenge; locked-liquidity misrepresentations supported. Checked FBI false-dashboard/additional-payment warning and OZ authority versus bugs; no unsupported fraud allegation about another project."
        ]
      }
    },
    {
      "id": "rug-pulls-vs-exploits-fact-authority-matters",
      "articleSlug": "rug-pulls-vs-exploits",
      "statement": "Authority matters: Administrative permissions can allow sensitive actions without a software bug.",
      "sourceIds": [
        "source-56dd3f4220f6fea2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-56dd3f4220f6fea2",
          "locator": "Ownership; roles; delayed access"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Independently reopened DOJ May21,2025 jury-verdict report through web.run after direct HTTP returned challenge; locked-liquidity misrepresentations supported. Checked FBI false-dashboard/additional-payment warning and OZ authority versus bugs; no unsupported fraud allegation about another project."
        ]
      }
    },
    {
      "id": "rug-pulls-vs-exploits-fact-technical-failure",
      "articleSlug": "rug-pulls-vs-exploits",
      "statement": "Technical failure: Audited contracts can still contain exploitable weaknesses.",
      "sourceIds": [
        "source-51752d973dc3abdc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-51752d973dc3abdc",
          "locator": "Auditing and security; Admin accounts; Upgrades admin"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Independently reopened DOJ May21,2025 jury-verdict report through web.run after direct HTTP returned challenge; locked-liquidity misrepresentations supported. Checked FBI false-dashboard/additional-payment warning and OZ authority versus bugs; no unsupported fraud allegation about another project."
        ]
      }
    },
    {
      "id": "rug-pulls-vs-exploits-fact-claims-need-checking",
      "articleSlug": "rug-pulls-vs-exploits",
      "statement": "Claims need checking: Official fraud reporting documents false assurances about locked liquidity.",
      "sourceIds": [
        "source-14600b470ef1f569"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-14600b470ef1f569",
          "locator": "Evidence at trial; representations about locked liquidity"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:18:00.092Z",
        "reviewer": "Independent automated verification — Codex root, separate from the DeFi drafting agent",
        "notes": [
          "Independently reopened DOJ May21,2025 jury-verdict report through web.run after direct HTTP returned challenge; locked-liquidity misrepresentations supported. Checked FBI false-dashboard/additional-payment warning and OZ authority versus bugs; no unsupported fraud allegation about another project."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-quick-answer",
      "articleSlug": "what-is-bitcoin",
      "statement": "Bitcoin is a form of digital money that people can send to each other over the internet without a bank or payment company in the middle. A worldwide network of computers checks every payment against a shared public record, and new coins are created on a fixed schedule that tops out at 21 million. It was described in a nine-page paper in October 2008 by a pseudonymous author, Satoshi Nakamoto, and the software went live in January 2009.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-ada4b38213b22142",
        "source-25fe688a7c17669d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The nine-page white paper: the abstract’s definition of peer-to-peer electronic cash, the mint problem in section 2, the new-coin convention in section 6 and the privacy model in section 10."
        },
        {
          "sourceId": "source-ada4b38213b22142",
          "locator": "The 31 October 2008 email announcing the paper, listing its main properties and linking to bitcoin.org/bitcoin.pdf."
        },
        {
          "sourceId": "source-25fe688a7c17669d",
          "locator": "The 8 January 2009 release announcement: Windows only, open source C++ included, total circulation of 21,000,000 coins, the four-year halving schedule and the note on transaction fees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-white-paper",
      "articleSlug": "what-is-bitcoin",
      "statement": "White paper: Announced 31 October 2008 on a cryptography mailing list",
      "sourceIds": [
        "source-ada4b38213b22142"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ada4b38213b22142",
          "locator": "The 31 October 2008 email announcing the paper, listing its main properties and linking to bitcoin.org/bitcoin.pdf."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-first-block",
      "articleSlug": "what-is-bitcoin",
      "statement": "First block: Timestamped 3 January 2009, the genesis block",
      "sourceIds": [
        "source-d2c36e64f08016f8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d2c36e64f08016f8",
          "locator": "Community reference giving the genesis block’s 3 January 2009 timestamp, the embedded Times headline and the six-day gap before block 1."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-software-released",
      "articleSlug": "what-is-bitcoin",
      "statement": "Software released: 8 January 2009, Bitcoin v0.1, Windows only, open source",
      "sourceIds": [
        "source-25fe688a7c17669d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-25fe688a7c17669d",
          "locator": "The 8 January 2009 release announcement: Windows only, open source C++ included, total circulation of 21,000,000 coins, the four-year halving schedule and the note on transaction fees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-first-transaction",
      "articleSlug": "what-is-bitcoin",
      "statement": "First transaction: Ten coins sent by Satoshi to Hal Finney as a test",
      "sourceIds": [
        "source-47cd19b868747311"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-47cd19b868747311",
          "locator": "Finney’s own account of downloading the first release, being the first person besides Satoshi to run it, and receiving ten coins from Satoshi as a test."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-supply-cap",
      "articleSlug": "what-is-bitcoin",
      "statement": "Supply cap: 21,000,000 coins, stated in the release announcement",
      "sourceIds": [
        "source-25fe688a7c17669d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-25fe688a7c17669d",
          "locator": "The 8 January 2009 release announcement: Windows only, open source C++ included, total circulation of 21,000,000 coins, the four-year halving schedule and the note on transaction fees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-bitcoin-fact-creator",
      "articleSlug": "what-is-bitcoin",
      "statement": "Creator: Satoshi Nakamoto, a pseudonym; the paper, emails and posts do not identify a person",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-ada4b38213b22142"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The nine-page white paper: the abstract’s definition of peer-to-peer electronic cash, the mint problem in section 2, the new-coin convention in section 6 and the privacy model in section 10."
        },
        {
          "sourceId": "source-ada4b38213b22142",
          "locator": "The 31 October 2008 email announcing the paper, listing its main properties and linking to bitcoin.org/bitcoin.pdf."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper and original announcement/release correspondence; distinguished Finney's first-person recollection from a census of early users."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-quick-answer",
      "articleSlug": "what-is-a-blockchain",
      "statement": "A blockchain groups records into blocks that commit to earlier blocks through hashes. Bitcoin nodes validate transactions and select the valid chain with the most accumulated proof of work. Altering an earlier block changes its hash and breaks later commitments unless that work is redone. The records describe spending conditions and amounts, not necessarily the people behind them. Nodes can temporarily disagree about the tip, and pruned nodes need not retain every old block.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-190b9fe0eec933dc",
        "source-1f428f4e78a3eded"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 3 and 4 on the timestamp server and proof of work, the citation of Haber and Stornetta, and the paper’s own vocabulary (“chain of hash-based proof-of-work”; the word “blockchain” does not appear)."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains block headers, the merkle root, the proof-of-work target, the 2,016-block retarget against 1,209,600 seconds, the coinbase transaction and its 100-block maturity, and forks."
        },
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Specifies the 80-byte block header and its six fields, including the previous block header hash, merkle root, nBits target encoding and nonce."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-what-links-blocks",
      "articleSlug": "what-is-a-blockchain",
      "statement": "What links blocks: Each block header holds the hash of the previous block’s header",
      "sourceIds": [
        "source-1f428f4e78a3eded",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Specifies the 80-byte block header and its six fields, including the previous block header hash, merkle root, nBits target encoding and nonce."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 3 and 4 on the timestamp server and proof of work, the citation of Haber and Stornetta, and the paper’s own vocabulary (“chain of hash-based proof-of-work”; the word “blockchain” does not appear)."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-block-header",
      "articleSlug": "what-is-a-blockchain",
      "statement": "Block header: 80 bytes, six fields",
      "sourceIds": [
        "source-1f428f4e78a3eded"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Specifies the 80-byte block header and its six fields, including the previous block header hash, merkle root, nBits target encoding and nonce."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-first-block",
      "articleSlug": "what-is-a-blockchain",
      "statement": "First block: Block 0, timestamped 3 January 2009, with a newspaper headline in its text",
      "sourceIds": [
        "source-d2c36e64f08016f8",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d2c36e64f08016f8",
          "locator": "Community reference for block 0’s 3 January 2009 timestamp, the embedded headline, its single transaction and the six-day gap before block 1."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network parameters: the genesis block call with its timestamp and headline text, a target spacing of ten minutes and a target timespan of two weeks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-target-pace",
      "articleSlug": "what-is-a-blockchain",
      "statement": "Target pace: About one block every ten minutes, re-tuned every 2,016 blocks",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains block headers, the merkle root, the proof-of-work target, the 2,016-block retarget against 1,209,600 seconds, the coinbase transaction and its 100-block maturity, and forks."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network parameters: the genesis block call with its timestamp and headline text, a target spacing of ten minutes and a target timespan of two weeks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-idea-s-origin",
      "articleSlug": "what-is-a-blockchain",
      "statement": "Idea’s origin: Linked timestamping, Haber and Stornetta, Journal of Cryptology, 1991",
      "sourceIds": [
        "source-2cfd687e885d1839",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2cfd687e885d1839",
          "locator": "The 1991 paper whose abstract sets out time-stamping that cannot be back-dated or forward-dated even with a colluding service and needs no record-keeping by the service."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 3 and 4 on the timestamp server and proof of work, the citation of Haber and Stornetta, and the paper’s own vocabulary (“chain of hash-based proof-of-work”; the word “blockchain” does not appear)."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "what-is-a-blockchain-fact-the-word",
      "articleSlug": "what-is-a-blockchain",
      "statement": "The word: The white paper never uses “blockchain”; it describes a “chain of hash-based proof-of-work”",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 3 and 4 on the timestamp server and proof of work, the citation of Haber and Stornetta, and the paper’s own vocabulary (“chain of hash-based proof-of-work”; the word “blockchain” does not appear)."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header documentation and pinned mainnet parameters; valid-chain selection uses accumulated work and pruned nodes need not retain the full historical body."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-quick-answer",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Bitcoin mining is the work of bundling new transactions into a block and finding a number that makes the block’s hash fall at or below a target set by the network. It takes an enormous number of guesses, and the miner of a valid block that remains in the accepted chain may claim its subsidy plus included transaction fees. The pace is tuned so that a block arrives about every ten minutes, and the new-coin reward halves every 210,000 blocks.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-d5271fde58f8f665",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work and difficulty, section 5’s six steps for running the network, and section 6 on the new-coin convention, fees and the incentive to stay honest."
        },
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Describes what mining does, solo versus pool mining, the block reward and fees, and how hardware cycles through nonces and requests a new header."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network constants: a subsidy halving interval of 210,000 blocks, a target spacing of ten minutes, a target timespan of two weeks, and a genesis reward of 50 coins."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-what-a-miner-does",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "What a miner does: Collects transactions into a block and searches for a header hash at or below the target",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-d5271fde58f8f665"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work and difficulty, section 5’s six steps for running the network, and section 6 on the new-coin convention, fees and the incentive to stay honest."
        },
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Describes what mining does, solo versus pool mining, the block reward and fees, and how hardware cycles through nonces and requests a new header."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-reward",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Reward: New coins from the block’s first transaction, plus the fees of the transactions it includes",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-d5271fde58f8f665"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work and difficulty, section 5’s six steps for running the network, and section 6 on the new-coin convention, fees and the incentive to stay honest."
        },
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Describes what mining does, solo versus pool mining, the block reward and fees, and how hardware cycles through nonces and requests a new header."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-starting-subsidy",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Starting subsidy: 50 bitcoin per block in 2009",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-a81567b89e6c8624"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network constants: a subsidy halving interval of 210,000 blocks, a target spacing of ten minutes, a target timespan of two weeks, and a genesis reward of 50 coins."
        },
        {
          "sourceId": "source-a81567b89e6c8624",
          "locator": "Community reference on the purpose of mining, the two-week retarget, the 50-coin genesis reward and 210,000-block halvings, the CPU-GPU-FPGA-ASIC progression and why pools formed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-halving-interval",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Halving interval: Every 210,000 blocks",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-a81567b89e6c8624"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network constants: a subsidy halving interval of 210,000 blocks, a target spacing of ten minutes, a target timespan of two weeks, and a genesis reward of 50 coins."
        },
        {
          "sourceId": "source-a81567b89e6c8624",
          "locator": "Community reference on the purpose of mining, the two-week retarget, the 50-coin genesis reward and 210,000-block halvings, the CPU-GPU-FPGA-ASIC progression and why pools formed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-target-pace",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Target pace: About one block every ten minutes, re-tuned every 2,016 blocks",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains the proof-of-work target, the 2,016-block retarget against 1,209,600 seconds with limits on each step, and the 100-block maturity of coinbase outputs."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Main-network constants: a subsidy halving interval of 210,000 blocks, a target spacing of ten minutes, a target timespan of two weeks, and a genesis reward of 50 coins."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-hardware",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "Hardware: CPUs, then graphics cards, then FPGAs, then purpose-built ASIC chips from 2013",
      "sourceIds": [
        "source-a81567b89e6c8624"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a81567b89e6c8624",
          "locator": "Community reference on the purpose of mining, the two-week retarget, the 50-coin genesis reward and 210,000-block halvings, the CPU-GPU-FPGA-ASIC progression and why pools formed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "how-bitcoin-mining-works-fact-new-coin-maturity",
      "articleSlug": "how-bitcoin-mining-works",
      "statement": "New-coin maturity: Coins from a block cannot be spent for 100 blocks",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains the proof-of-work target, the 2,016-block retarget against 1,209,600 seconds with limits on each step, and the 100-block maturity of coinbase outputs."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked mining documentation, mainnet subsidy interval, maturity and proof-of-work limits; reward language now depends on acceptance of the block."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-quick-answer",
      "articleSlug": "proof-of-work-explained",
      "statement": "Proof of work produces evidence of computational effort that is much cheaper to check than to produce. Bitcoin miners repeatedly hash candidate block headers until the result is at or below the target. Nodes still validate every block’s rules and select the valid chain with the most accumulated work. Hashcash supplied a cited precursor; proof of work does not make an invalid transaction valid.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-42b702488d4e29bb",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work, Hashcash, one-CPU-one-vote and difficulty; section 5 on validity; section 11 on an attacker’s odds; the abstract and conclusion on nodes rejoining and voting with CPU power."
        },
        {
          "sourceId": "source-42b702488d4e29bb",
          "locator": "Back’s paper: the May 1997 origin against email abuse, the definition of a cost-function, partial hash collisions, probabilistic cost, and b-money among the applications."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Describes the proof-of-work target, the 2,016-block retarget against two weeks, and the rule that nodes follow the most difficult chain to recreate."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-origin",
      "articleSlug": "proof-of-work-explained",
      "statement": "Origin: Hashcash, proposed by Adam Back in May 1997 to throttle email spam",
      "sourceIds": [
        "source-42b702488d4e29bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42b702488d4e29bb",
          "locator": "Back’s paper: the May 1997 origin against email abuse, the definition of a cost-function, partial hash collisions, probabilistic cost, and b-money among the applications."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-cited-by",
      "articleSlug": "proof-of-work-explained",
      "statement": "Cited by: The white paper, section 4: “a proof-of-work system similar to Adam Back’s Hashcash”",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work, Hashcash, one-CPU-one-vote and difficulty; section 5 on validity; section 11 on an attacker’s odds; the abstract and conclusion on nodes rejoining and voting with CPU power."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-announced-as",
      "articleSlug": "proof-of-work-explained",
      "statement": "Announced as: “Hashcash style proof-of-work,” in Satoshi’s 31 October 2008 email",
      "sourceIds": [
        "source-ada4b38213b22142"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ada4b38213b22142",
          "locator": "The 31 October 2008 announcement listing “new coins are made from Hashcash style proof-of-work” among Bitcoin’s main properties."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-the-puzzle",
      "articleSlug": "proof-of-work-explained",
      "statement": "The puzzle: Find a header whose SHA-256 hash begins with enough zero bits",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-065fc4ef4ea035e5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work, Hashcash, one-CPU-one-vote and difficulty; section 5 on validity; section 11 on an attacker’s odds; the abstract and conclusion on nodes rejoining and voting with CPU power."
        },
        {
          "sourceId": "source-065fc4ef4ea035e5",
          "locator": "Community reference explaining Bitcoin’s use of Hashcash-style SHA-256 proof of work, the ten-minute rate, and a worked example that took 4,251 hashes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-the-check",
      "articleSlug": "proof-of-work-explained",
      "statement": "The check: One hash; verifying a solution costs almost nothing compared with finding it",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-42b702488d4e29bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on proof of work, Hashcash, one-CPU-one-vote and difficulty; section 5 on validity; section 11 on an attacker’s odds; the abstract and conclusion on nodes rejoining and voting with CPU power."
        },
        {
          "sourceId": "source-42b702488d4e29bb",
          "locator": "Back’s paper: the May 1997 origin against email abuse, the definition of a cost-function, partial hash collisions, probabilistic cost, and b-money among the applications."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "proof-of-work-explained-fact-the-knob",
      "articleSlug": "proof-of-work-explained",
      "statement": "The knob: Difficulty retargets every 2,016 blocks toward one block per ten minutes",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-065fc4ef4ea035e5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Describes the proof-of-work target, the 2,016-block retarget against two weeks, and the rule that nodes follow the most difficult chain to recreate."
        },
        {
          "sourceId": "source-065fc4ef4ea035e5",
          "locator": "Community reference explaining Bitcoin’s use of Hashcash-style SHA-256 proof of work, the ten-minute rate, and a worked example that took 4,251 hashes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the block-header reference and validation/most-work documentation. New guide and final FAQ accurately specify double-SHA-256, nonce or other candidate changes, the target comparison, separate block validation and selection among valid histories."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-quick-answer",
      "articleSlug": "what-is-a-satoshi",
      "statement": "A satoshi, or sat, is the smallest unit of bitcoin: one hundred-millionth of a coin, so 100,000,000 satoshis make one bitcoin. It is the unit the Bitcoin software actually counts in; the decimal point is a display convention. The name honors Bitcoin’s pseudonymous creator, Satoshi Nakamoto, and was proposed on the BitcoinTalk forum by a user called ribuck in 2010 and 2011.",
      "sourceIds": [
        "source-381fa4685e7fb0ba",
        "source-193ebfdab6aaf4ce",
        "source-77e64f59671500d3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-381fa4685e7fb0ba",
          "locator": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply."
        },
        {
          "sourceId": "source-193ebfdab6aaf4ce",
          "locator": "The 15 November 2010 post proposing that a hundredth of a bitcoin be called a Satoshi, with Molyneau and Austrian for smaller fractions."
        },
        {
          "sourceId": "source-77e64f59671500d3",
          "locator": "The 10 February 2011 post naming the one hundred-millionth unit an “austrian” or “satoshi,” in a thread opened that day about a bitcent exceeding a US cent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-value",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Value: 0.00000001 BTC; 100,000,000 satoshis per bitcoin",
      "sourceIds": [
        "source-381fa4685e7fb0ba",
        "source-42961ab5ab9885f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-381fa4685e7fb0ba",
          "locator": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply."
        },
        {
          "sourceId": "source-42961ab5ab9885f5",
          "locator": "Community reference giving the value, the naming history via ribuck’s 2010 and 2011 proposals, the sat abbreviation and plurals, and millisatoshi in payment channels."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-in-the-code",
      "articleSlug": "what-is-a-satoshi",
      "statement": "In the code: COIN = 100,000,000; amounts are 64-bit integers of satoshis",
      "sourceIds": [
        "source-381fa4685e7fb0ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-381fa4685e7fb0ba",
          "locator": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-name-first-suggested",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Name first suggested: 15 November 2010, by ribuck, for 0.01 BTC",
      "sourceIds": [
        "source-193ebfdab6aaf4ce"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-193ebfdab6aaf4ce",
          "locator": "The 15 November 2010 post proposing that a hundredth of a bitcoin be called a Satoshi, with Molyneau and Austrian for smaller fractions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-name-attached-to-the-smallest-unit",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Name attached to the smallest unit: 10 February 2011 by ribuck; agreed in the “Bitcent?” thread on 18 February 2011",
      "sourceIds": [
        "source-77e64f59671500d3",
        "source-8a918fc1ac78ce59"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-77e64f59671500d3",
          "locator": "The 10 February 2011 post naming the one hundred-millionth unit an “austrian” or “satoshi,” in a thread opened that day about a bitcent exceeding a US cent."
        },
        {
          "sourceId": "source-8a918fc1ac78ce59",
          "locator": "The 18 February 2011 thread where “1 satoshi = 1 microbitcent … 100 million satoshis = 1 bitcoin” was proposed and answered “Affirmative.”"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-abbreviation",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Abbreviation: “sat” or “s”; plural “satoshi” or “satoshis”",
      "sourceIds": [
        "source-42961ab5ab9885f5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42961ab5ab9885f5",
          "locator": "Community reference giving the value, the naming history via ribuck’s 2010 and 2011 proposals, the sat abbreviation and plurals, and millisatoshi in payment channels."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-other-units",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Other units: Millibitcoin, 0.001 BTC; bit, 100 satoshis",
      "sourceIds": [
        "source-c14ec58efbd6203d",
        "source-dbef0b3673272e18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c14ec58efbd6203d",
          "locator": "Table of units listing the millibitcoin at 0.001 BTC, the microbitcoin or bit at 0.000001 BTC and the satoshi at 0.00000001 BTC."
        },
        {
          "sourceId": "source-dbef0b3673272e18",
          "locator": "Informational proposal defining a bit as 100 satoshis, one millionth of a bitcoin, and explaining the readability motivation."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "what-is-a-satoshi-fact-maximum-in-code",
      "articleSlug": "what-is-a-satoshi",
      "statement": "Maximum in code: MAX_MONEY = 21,000,000 × COIN, a sanity check, not the real supply",
      "sourceIds": [
        "source-381fa4685e7fb0ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-381fa4685e7fb0ba",
          "locator": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Pinned amount.h defines 100,000,000 satoshis per BTC. Independently checked both worked conversions and the distinction between denomination and market price. No new price estimate or naming-history claim is introduced."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-quick-answer",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "A Bitcoin wallet manages the keys, scripts and transaction information used to receive and spend bitcoin. The spendable outputs are recorded on the blockchain. A signing wallet controls keys; a watch-only wallet can track outputs without spending them. Hot and cold describe whether signing keys are exposed to an online device. With a custodial service, the provider controls the on-chain keys and the customer relies on its account records.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Warns that a third party holding your keys means relying on its security and honesty, recommends small amounts online and cold storage for savings, describes hardware wallets, multiple backup locations, encrypted online backups and multi-signature."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-what-a-wallet-stores",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "What a wallet stores: Keys and information for recognizing and spending outputs; a watch-only wallet need not hold private keys",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-hot-wallet",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Hot wallet: Keys kept on an internet-connected device; convenient but exposed",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-cold-wallet",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Cold wallet: Signing keys are kept offline; recovery, physical protection and transaction review still matter",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Warns that a third party holding your keys means relying on its security and honesty, recommends small amounts online and cold storage for savings, describes hardware wallets, multiple backup locations, encrypted online backups and multi-signature."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-hardware-wallet",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Hardware wallet: A device dedicated to running a signing-only wallet",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        },
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Warns that a third party holding your keys means relying on its security and honesty, recommends small amounts online and cold storage for savings, describes hardware wallets, multiple backup locations, encrypted online backups and multi-signature."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-custodial-wallet",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Custodial wallet: A third party holds the keys; you rely on its security and honesty",
      "sourceIds": [
        "source-ccf126c494bfe748"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ccf126c494bfe748",
          "locator": "Warns that a third party holding your keys means relying on its security and honesty, recommends small amounts online and cold storage for savings, describes hardware wallets, multiple backup locations, encrypted online backups and multi-signature."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-modern-backup",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Modern backup: A BIP39 mnemonic plus any passphrase regenerates a seed; recovery also needs compatible derivation and script information",
      "sourceIds": [
        "source-225ce32b9f96878c",
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Specifies deriving every wallet key from one master seed of 128 to 512 bits, with 256 advised, and gives simpler backups as the motivation."
        },
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Specifies the 12 to 24 word recovery phrase, its checksum and optional passphrase, and the conversion of the phrase into a seed for a BIP32 wallet."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "bitcoin-wallets-explained-fact-wallet-backup",
      "articleSlug": "bitcoin-wallets-explained",
      "statement": "Wallet backup: Wallet backups preserve the keys or derivation information and metadata needed by that wallet; a seed is not a universal substitute",
      "sourceIds": [
        "source-38ff15e10892f1ee"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Defines wallets as a collection of private keys, describes full-service, signing-only (offline and hardware) and distributing-only wallet roles, root seeds of 128, 256 or 512 bits, 12- and 24-word phrases, and the phasing out of loose-key wallets."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked wallet authority versus displayed balance against BIP-32 and the developer wallet guide; custody and backup boundaries against bitcoin.org security guidance.",
          "Corrected older BIP-39 prose: the mnemonic encodes entropy plus checksum, then normalized mnemonic/passphrase derive the seed. Checksum detection is not universal. Scoped deterministic recovery to paths, scripts and other policy material; corrected the watch-only FAQ."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-quick-answer",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "A private key is a secret scalar used to authorize spending conditions involving its public key. A Bitcoin output can require one key, multiple keys or other script conditions. A BIP39 seed phrase encodes entropy and derives a wallet seed together with an optional passphrase. Recovering the intended wallet also requires compatible derivation paths and script types; the phrase alone is not a universal backup for every wallet.",
      "sourceIds": [
        "source-b982d3cd80865cdf",
        "source-225ce32b9f96878c",
        "source-a7583e32275982ab",
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b982d3cd80865cdf",
          "locator": "Describes the curve Bitcoin uses, its equation, its definition in the Standards for Efficient Cryptography, the predictable choice of constants, its speed, and compressed and uncompressed point sizes."
        },
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Specifies master seeds, chain codes, child key derivation, extended keys beginning xprv and xpub, and the audit and web-server use cases for public-only derivation."
        },
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Specifies 128 to 256 bits of entropy, the checksum, 11-bit indexes into a 2,048-word list, 12 to 24 word phrases, the four-letter uniqueness rule, the optional passphrase and the PBKDF2 stretch to a 512-bit seed."
        },
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Defines the five-level path of purpose, coin type, account, change and index, with coin type 0 for Bitcoin and an address gap limit of 20."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-private-key",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Private key: “A secret number that allows bitcoins to be spent”; 256 bits long",
      "sourceIds": [
        "source-4ee314407c920bc6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4ee314407c920bc6",
          "locator": "Defines a private key as a secret number allowing bitcoins to be spent, gives its 256-bit size, describes Wallet Import Format lengths and prefixes, and states what to do if a key is compromised."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-curve",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Curve: secp256k1, defined in the Standards for Efficient Cryptography",
      "sourceIds": [
        "source-b982d3cd80865cdf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b982d3cd80865cdf",
          "locator": "Describes the curve Bitcoin uses, its equation, its definition in the Standards for Efficient Cryptography, the predictable choice of constants, its speed, and compressed and uncompressed point sizes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-seed-phrase-standard",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Seed phrase standard: BIP39, dated 10 September 2013",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Specifies 128 to 256 bits of entropy, the checksum, 11-bit indexes into a 2,048-word list, 12 to 24 word phrases, the four-letter uniqueness rule, the optional passphrase and the PBKDF2 stretch to a 512-bit seed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-phrase-length",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Phrase length: BIP39 permits 12, 15, 18, 21 or 24 words for 128, 160, 192, 224 or 256 bits of entropy",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Specifies 128 to 256 bits of entropy, the checksum, 11-bit indexes into a 2,048-word list, 12 to 24 word phrases, the four-letter uniqueness rule, the optional passphrase and the PBKDF2 stretch to a 512-bit seed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-word-list",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Word list: 2,048 entries; the English list can be distinguished by each word’s first four letters",
      "sourceIds": [
        "source-a7583e32275982ab"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a7583e32275982ab",
          "locator": "Specifies 128 to 256 bits of entropy, the checksum, 11-bit indexes into a 2,048-word list, 12 to 24 word phrases, the four-letter uniqueness rule, the optional passphrase and the PBKDF2 stretch to a 512-bit seed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-key-tree",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Key tree: BIP32 derives a hierarchical key tree from one seed; imported unrelated keys are not recreated by that seed",
      "sourceIds": [
        "source-225ce32b9f96878c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-225ce32b9f96878c",
          "locator": "Specifies master seeds, chain codes, child key derivation, extended keys beginning xprv and xpub, and the audit and web-server use cases for public-only derivation."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "private-keys-and-seed-phrases-fact-wallet-layout",
      "articleSlug": "private-keys-and-seed-phrases",
      "statement": "Wallet layout: BIP44 (24 April 2014): purpose, coin type, account, change, index",
      "sourceIds": [
        "source-43d35242be710673"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-43d35242be710673",
          "locator": "Defines the five-level path of purpose, coin type, account, change and index, with coin type 0 for Bitcoin and an address gap limit of 20."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked BIP-39 NFKD/seed derivation, BIP-32 hierarchy/public derivation/security, BIP-44 hardened levels and external gap-limit discovery, BIP-380 recovery context, and Core walletpassphrase. Public-test-input normalization checks were completed in the new-article review.",
          "Repaired contradictions in the old secret-number, public-key, key-tree, custody and recovery sections/FAQs: key authority follows spending conditions; public derivation is non-hardened only; not every address is the same public-key hash; password reset alone does not determine custody; seed loss is conditional on remaining authorized recovery paths."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-quick-answer",
      "articleSlug": "bitcoin-address-types",
      "statement": "A Bitcoin address encodes a payment destination with error-detection information. On mainnet, common forms begin with 1 for P2PKH, 3 for P2SH, bc1q for SegWit version 0, and bc1p for Taproot. They represent different locking conditions and encodings. Compatibility depends on the sending wallet; an address prefix alone does not identify its owner or make a payment recoverable.",
      "sourceIds": [
        "source-17bdc626b9676d26",
        "source-7c30c03ff7365c18",
        "source-b33f2e5a3eb0e76d",
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17bdc626b9676d26",
          "locator": "Defines the script-hash address type, version byte 5 on the main network, and the resulting leading character 3."
        },
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Lists the problems with Base58, defines bech32 with the bc prefix, the 1 separator, the alphabet in which q is 0 and p is 1, lowercase output, the four-character error guarantee and the 42 or 62 character length of version 0 addresses."
        },
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Describes the bech32 checksum weakness with trailing p and inserted q characters, the corrected constant, and the rule that version 0 uses bech32 while version 1 and higher use bech32m; its test vectors begin bc1p."
        },
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines version 1 outputs as a 32-byte public key spendable by key path or script path, and records main-network activation at block 709,632 after signaling from 24 April 2021 with a 90% threshold."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-legacy-p2pkh",
      "articleSlug": "bitcoin-address-types",
      "statement": "Legacy (P2PKH): Starts with 1; Base58Check; 26 to 35 characters",
      "sourceIds": [
        "source-84598de13162916d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-84598de13162916d",
          "locator": "Gives the 26 to 35 character length, the excluded look-alike characters, the 1, 3 and bc1 prefixes, case sensitivity of old-style addresses, case insensitivity of bech32, the advice to use a unique address per transaction, and the statement that addresses are not wallets or accounts."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-script-hash-p2sh",
      "articleSlug": "bitcoin-address-types",
      "statement": "Script hash (P2SH): Starts with 3; version byte 5; BIP13, 18 October 2011",
      "sourceIds": [
        "source-17bdc626b9676d26"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17bdc626b9676d26",
          "locator": "Defines the script-hash address type, version byte 5 on the main network, and the resulting leading character 3."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-native-segwit",
      "articleSlug": "bitcoin-address-types",
      "statement": "Native SegWit: Starts with bc1q; bech32; BIP173, 20 March 2017",
      "sourceIds": [
        "source-7c30c03ff7365c18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Lists the problems with Base58, defines bech32 with the bc prefix, the 1 separator, the alphabet in which q is 0 and p is 1, lowercase output, the four-character error guarantee and the 42 or 62 character length of version 0 addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-taproot",
      "articleSlug": "bitcoin-address-types",
      "statement": "Taproot: Starts with bc1p; bech32m; BIP350, 16 December 2020",
      "sourceIds": [
        "source-b33f2e5a3eb0e76d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Describes the bech32 checksum weakness with trailing p and inserted q characters, the corrected constant, and the rule that version 0 uses bech32 while version 1 and higher use bech32m; its test vectors begin bc1p."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-taproot-activation",
      "articleSlug": "bitcoin-address-types",
      "statement": "Taproot activation: Block 709,632 on the main network",
      "sourceIds": [
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines version 1 outputs as a 32-byte public key spendable by key path or script path, and records main-network activation at block 709,632 after signaling from 24 April 2021 with a 90% threshold."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-bech32-error-detection",
      "articleSlug": "bitcoin-address-types",
      "statement": "Bech32 error detection: The Bech32 checksum detects up to four character substitutions within its specified length limit; other error types have different properties",
      "sourceIds": [
        "source-7c30c03ff7365c18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Lists the problems with Base58, defines bech32 with the bc prefix, the 1 separator, the alphabet in which q is 0 and p is 1, lowercase output, the four-character error guarantee and the 42 or 62 character length of version 0 addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "bitcoin-address-types-fact-bitcoin-core-support",
      "articleSlug": "bitcoin-address-types",
      "statement": "Bitcoin Core support: Version 0.16.0 (26 February 2018) offered legacy, p2sh-segwit and bech32 address types",
      "sourceIds": [
        "source-3a7c0f425d9a8a7e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3a7c0f425d9a8a7e",
          "locator": "Announces full SegWit wallet support, the legacy, p2sh-segwit (default) and bech32 address types, and full support for BIP173 addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked BIP13, BIP173, BIP341 and BIP350 plus Core 0.16 release notes; scoped Bech32 error detection to substitutions and the specified length."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-quick-answer",
      "articleSlug": "what-is-a-utxo",
      "statement": "A UTXO, short for unspent transaction output, is a lump of bitcoin that some past transaction created and that has not been spent since. Bitcoin has no account balances at the protocol level; your wallet’s balance is the sum of the UTXOs your keys can unlock. To pay someone, a transaction consumes whole UTXOs as inputs and creates new ones as outputs, usually one for the recipient and one returning change to you.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-26fc928b4956daf4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains that a balance is satoshis waiting in UTXOs, that a UTXO is spent once and in full, that most transactions include a change output, and that fees are charged on transaction byte size."
        },
        {
          "sourceId": "source-26fc928b4956daf4",
          "locator": "Specifies the input outpoint as a previous transaction ID and output index, the output value in satoshis and script, the rule that outputs may not exceed inputs, and the null hash and all-ones index of a coinbase input."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-definition",
      "articleSlug": "what-is-a-utxo",
      "statement": "Definition: An output of a past transaction that has not yet been spent",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains that a balance is satoshis waiting in UTXOs, that a UTXO is spent once and in full, that most transactions include a change output, and that fees are charged on transaction byte size."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-spent-whole",
      "articleSlug": "what-is-a-utxo",
      "statement": "Spent whole: “A UTXO can only be spent once, the full value of the included UTXOs must be spent”",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains that a balance is satoshis waiting in UTXOs, that a UTXO is spent once and in full, that most transactions include a change output, and that fees are charged on transaction byte size."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-change",
      "articleSlug": "what-is-a-utxo",
      "statement": "Change: Most transactions include a change output returning the surplus to the spender",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains that a balance is satoshis waiting in UTXOs, that a UTXO is spent once and in full, that most transactions include a change output, and that fees are charged on transaction byte size."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 2 defines a coin as a chain of signatures and states that the earliest transaction counts; section 6 defines the coinbase and the fee as input minus output; section 7 covers discarding spent transactions; section 9 describes combining and splitting value with a change output."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-how-inputs-point",
      "articleSlug": "what-is-a-utxo",
      "statement": "How inputs point: By the previous transaction ID and the output index",
      "sourceIds": [
        "source-26fc928b4956daf4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-26fc928b4956daf4",
          "locator": "Specifies the input outpoint as a previous transaction ID and output index, the output value in satoshis and script, the rule that outputs may not exceed inputs, and the null hash and all-ones index of a coinbase input."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-fee",
      "articleSlug": "what-is-a-utxo",
      "statement": "Fee: Inputs minus outputs: “the difference is a transaction fee”",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 2 defines a coin as a chain of signatures and states that the earliest transaction counts; section 6 defines the coinbase and the fee as input minus output; section 7 covers discarding spent transactions; section 9 describes combining and splitting value with a change output."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-new-coins",
      "articleSlug": "what-is-a-utxo",
      "statement": "New coins: The coinbase has a special input rather than spending an earlier UTXO, and may claim subsidy plus fees",
      "sourceIds": [
        "source-26fc928b4956daf4",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-26fc928b4956daf4",
          "locator": "Specifies the input outpoint as a previous transaction ID and output index, the output value in satoshis and script, the rule that outputs may not exceed inputs, and the null hash and all-ones index of a coinbase input."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 2 defines a coin as a chain of signatures and states that the earliest transaction counts; section 6 defines the coinbase and the fee as input minus output; section 7 covers discarding spent transactions; section 9 describes combining and splitting value with a change output."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-coinbase-maturity",
      "articleSlug": "what-is-a-utxo",
      "statement": "Coinbase maturity: Newly mined outputs cannot be spent for at least 100 blocks",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States that a coinbase output cannot be spent for at least 100 blocks and defines block 0 as the genesis block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "what-is-a-utxo-fact-the-utxo-set",
      "articleSlug": "what-is-a-utxo",
      "statement": "The UTXO set: Bitcoin Core’s gettxoutsetinfo reports the count and total amount of unspent outputs",
      "sourceIds": [
        "source-5f629dfe152b01a3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5f629dfe152b01a3",
          "locator": "Documents the command that returns statistics about the unspent transaction output set: height, number of transactions with unspent outputs, number of unspent outputs, disk size and total amount."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Verified full input consumption, non-coinbase input-minus-output fee and change output with the transaction guide, Core funded-PSBT fields and CheckTxInputs. Recomputed 39,000 satoshis.",
          "Corrected a companion paragraph that treated first-seen ordering as consensus priority. A spent input cannot be accepted again in the same valid chain; local observation order does not establish settlement."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-quick-answer",
      "articleSlug": "bitcoin-confirmations",
      "statement": "A transaction in the current accepted Bitcoin chain has one confirmation at inclusion and another for every block built above it. Reversing it requires a competing valid chain with more accumulated proof of work. More confirmations generally reduce reversal risk under stated attacker assumptions; no fixed number provides an unconditional guarantee. Six is a common convention for some payments, not a universal safety threshold.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-190b9fe0eec933dc",
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on redoing work, section 5 on competing branches, and section 11 with the attacker-catch-up table: at q=0.1, z=5 gives P=0.0009; for P under 0.1%, z=5 at 10%, 24 at 30% and 340 at 45%."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States that nodes follow the most difficult chain and discard stale blocks, also called orphans, and that a coinbase output cannot be spent for at least 100 blocks."
        },
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "States that zero-confirmation transactions need risk analysis, that one confirmation takes 10 minutes on average, that high-value software should wait for at least six, and that programs should enter safe mode if a fork exceeds two blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-one-confirmation",
      "articleSlug": "bitcoin-confirmations",
      "statement": "One confirmation: The transaction is in the latest block; each later block adds one",
      "sourceIds": [
        "source-9b7a6531780e9003"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b7a6531780e9003",
          "locator": "Defines confirmations, records that six was chosen assuming an attacker under 10% of hash rate and 0.1% acceptable risk, notes the 10-minute average is not exact, and gives the 100-block rule for mined coins with 120 in older clients."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-average-block-time",
      "articleSlug": "bitcoin-confirmations",
      "statement": "Average block time: 10 minutes, with wide variation from block to block",
      "sourceIds": [
        "source-9b7a6531780e9003",
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b7a6531780e9003",
          "locator": "Defines confirmations, records that six was chosen assuming an attacker under 10% of hash rate and 0.1% acceptable risk, notes the 10-minute average is not exact, and gives the 100-block rule for mined coins with 120 in older clients."
        },
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "States that zero-confirmation transactions need risk analysis, that one confirmation takes 10 minutes on average, that high-value software should wait for at least six, and that programs should enter safe mode if a fork exceeds two blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-six-confirmation-convention",
      "articleSlug": "bitcoin-confirmations",
      "statement": "Six-confirmation convention: Six is a payment convention. The white paper’s simplified model makes risk conditional on attacker hash share and block lead",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on redoing work, section 5 on competing branches, and section 11 with the attacker-catch-up table: at q=0.1, z=5 gives P=0.0009; for P under 0.1%, z=5 at 10%, 24 at 30% and 340 at 45%."
        },
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "States that zero-confirmation transactions need risk analysis, that one confirmation takes 10 minutes on average, that high-value software should wait for at least six, and that programs should enter safe mode if a fork exceeds two blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-developer-guidance",
      "articleSlug": "bitcoin-confirmations",
      "statement": "Developer guidance: High-value or fraud-prone software should wait for at least six confirmations",
      "sourceIds": [
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "States that zero-confirmation transactions need risk analysis, that one confirmation takes 10 minutes on average, that high-value software should wait for at least six, and that programs should enter safe mode if a fork exceeds two blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-bigger-attackers",
      "articleSlug": "bitcoin-confirmations",
      "statement": "Bigger attackers: In the paper’s model, z = 24 at q = 0.30 and z = 340 at q = 0.45 bring catch-up probability below 0.1%; this is not an unconditional payment guarantee",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 on redoing work, section 5 on competing branches, and section 11 with the attacker-catch-up table: at q=0.1, z=5 gives P=0.0009; for P under 0.1%, z=5 at 10%, 24 at 30% and 340 at 45%."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-newly-mined-coins",
      "articleSlug": "bitcoin-confirmations",
      "statement": "Newly mined coins: Cannot be spent for at least 100 blocks",
      "sourceIds": [
        "source-9b7a6531780e9003",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9b7a6531780e9003",
          "locator": "Defines confirmations, records that six was chosen assuming an attacker under 10% of hash rate and 0.1% acceptable risk, notes the 10-minute average is not exact, and gives the 100-block rule for mined coins with 120 in older clients."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States that nodes follow the most difficult chain and discard stale blocks, also called orphans, and that a coinbase output cannot be spent for at least 100 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-confirmations-fact-a-real-deep-reorg",
      "articleSlug": "bitcoin-confirmations",
      "statement": "A real deep reorg: March 2013: version 0.8 nodes reorganized onto the 0.7-compatible chain after pools downgraded (BIP50)",
      "sourceIds": [
        "source-2de772ad2ec0a32b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2de772ad2ec0a32b",
          "locator": "Records the Berkeley DB lock limit in pre-0.8 nodes, the pool downgrade to 0.7, the resulting reorganization of 0.8 nodes onto the pre-0.8 chain, and at least one large double spend during the split."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed six confirmations including the containing block. Checked accepted-chain scope and reorganization cases against the developer guide and white-paper sections 4–5 and 11.",
          "Corrected guaranteed requeue/reversal language and unconfirmed FAQ; added the lower-attacker-hash-power condition to the exponential catch-up statement. Retained historical examples under their matching earlier review."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-quick-answer",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "A Bitcoin transaction fee is total input value minus total output value. Its fee rate divides that amount by the transaction’s virtual size, commonly expressed in satoshis per virtual byte. Each node maintains its own pending-transaction pool. Replacement and dependent-spend fee strategies have wallet and node-policy conditions and do not guarantee inclusion.",
      "sourceIds": [
        "source-b282fdecc069b74d",
        "source-896e868816ad19d1",
        "source-9da8e2ada19d24a9",
        "source-b7f4c1c78e78f2af",
        "source-b42abb14efd07b1e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "States that fees are paid by transaction size, that fees per byte follow demand for block space, that each miner sets its own minimum, that the fee is whatever input value is not assigned to an output, and gives the 1,000-satoshi minimum since version 0.9 and the 546-satoshi dust threshold."
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines block weight as base size times three plus total size with a 4,000,000 limit, virtual size as weight divided by four, rounded up to a whole virtual byte rounded up, and records the earlier 1,000,000-byte block limit."
        },
        {
          "sourceId": "source-9da8e2ada19d24a9",
          "locator": "Package Mempool Acceptance Rules; Package Fees and Feerate"
        },
        {
          "sourceId": "source-b7f4c1c78e78f2af",
          "locator": "Arguments and result fields"
        },
        {
          "sourceId": "source-b42abb14efd07b1e",
          "locator": "CTxMemPool::Expire; CTxMemPool::TrimToSize"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-fee-unit",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Fee unit: Satoshis per virtual byte (sat/vB); a virtual byte is the transaction’s weight divided by four, rounded up to a whole virtual byte",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-6e9ce390127988c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines block weight as base size times three plus total size with a 4,000,000 limit, virtual size as weight divided by four, rounded up to a whole virtual byte rounded up, and records the earlier 1,000,000-byte block limit."
        },
        {
          "sourceId": "source-6e9ce390127988c3",
          "locator": "Lists the current replacement rules (absolute fee, incremental relay feerate of 0.1 sat/vB, 100-cluster limit), states that signaling is no longer required, and dates opt-in RBF to 0.12.0, configurable full RBF to 24.0 and default full RBF to 28.0."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-what-the-fee-is",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "What the fee is: The value of a transaction’s inputs minus the value of its outputs; the miner keeps the difference",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "States that fees are paid by transaction size, that fees per byte follow demand for block space, that each miner sets its own minimum, that the fee is whatever input value is not assigned to an output, and gives the 1,000-satoshi minimum since version 0.9 and the 546-satoshi dust threshold."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-block-capacity",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Block capacity: At most 4,000,000 weight units per block; before SegWit the limit was 1,000,000 bytes",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines block weight as base size times three plus total size with a 4,000,000 limit, virtual size as weight divided by four, rounded up to a whole virtual byte rounded up, and records the earlier 1,000,000-byte block limit."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-default-mempool-size",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Default mempool size: 300 megabytes in Bitcoin Core, a cap introduced in version 0.12.0 on 23 February 2016",
      "sourceIds": [
        "source-96076f99866e3af5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-96076f99866e3af5",
          "locator": "Introduces the 300 MB default mempool limit, eviction of the lowest-feerate package with the minimum relay feerate rising to match, the 1,000 satoshis per kB initial minimum, and opt-in replace-by-fee; published 23 February 2016."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-default-expiry",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Default expiry: Bitcoin Core’s documented default expiry is 336 hours; eviction, rebroadcast and configuration affect what any particular node retains",
      "sourceIds": [
        "source-ee0d1d185f09fae7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ee0d1d185f09fae7",
          "locator": "Raises the default mempool expiry from 72 hours to 336 hours; merged 5 January 2017."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-opt-in-replace-by-fee",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Opt-in replace-by-fee: Specified in BIP125, dated 4 December 2015, and shipped in Bitcoin Core 0.12.0",
      "sourceIds": [
        "source-67b7ee4bcd0e4a4f",
        "source-96076f99866e3af5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-67b7ee4bcd0e4a4f",
          "locator": "Specifies nSequence signaling for replaceable transactions and the replacement rules, and records that Satoshi’s original replacement mechanism was removed in version 0.3.12."
        },
        {
          "sourceId": "source-96076f99866e3af5",
          "locator": "Introduces the 300 MB default mempool limit, eviction of the lowest-feerate package with the minimum relay feerate rising to match, the 1,000 satoshis per kB initial minimum, and opt-in replace-by-fee; published 23 February 2016."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-full-replace-by-fee",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Full replace-by-fee: Default in Bitcoin Core from version 28.0; a transaction no longer has to signal that it can be replaced",
      "sourceIds": [
        "source-6e9ce390127988c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6e9ce390127988c3",
          "locator": "Lists the current replacement rules (absolute fee, incremental relay feerate of 0.1 sat/vB, 100-cluster limit), states that signaling is no longer required, and dates opt-in RBF to 0.12.0, configurable full RBF to 24.0 and default full RBF to 28.0."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-fees-and-mempool-fact-fee-estimator",
      "articleSlug": "bitcoin-transaction-fees-and-mempool",
      "statement": "Fee estimator: Bitcoin Core’s estimatesmartfee targets confirmation within 1 to 1,008 blocks",
      "sourceIds": [
        "source-a8fc33ca64a43a18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a8fc33ca64a43a18",
          "locator": "Describes the fee estimator: the approximate fee rate needed to begin confirmation within a target of 1 to 1,008 blocks, with economical and conservative modes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Recomputed total fee at 8 sat/vB for 200 and 400 vB; read BIP-141 size definition and Core 29.0 fee-rate units.",
          "Replaced contradictory local-pool expiry, fixed fee-floor and universal fee-bump claims. Fresh txmempool.cpp, package policy and bumpfee checks support local eviction, dynamic/configured policy, parent-before-child inclusion and wallet/node restrictions. Expiry is not network-wide cancellation."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-quick-answer",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "A full Bitcoin node independently checks blocks and transactions against its configured consensus rules. A pruned node can perform validation while discarding older block files, saving storage but limiting historical data it can serve. Running a node does not require mining and does not earn a block reward. Public crawlers measure reachable nodes, not every validating node or the number of distinct people operating them.",
      "sourceIds": [
        "source-cb92ea1a2a21982c",
        "source-997df60df1815097",
        "source-0e46aca4dbc5a030",
        "source-686ae90fd584b117"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum."
        },
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Introduces block file pruning as a fully validating node without raw block data on disk, with a 550 MB minimum chosen to keep at least 288 blocks; published 12 July 2015."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 5 lists the steps nodes run, and section 8 describes simplified payment verification, its vulnerability to an attacker who overpowers the network, and the suggestion that businesses run their own nodes."
        },
        {
          "sourceId": "source-686ae90fd584b117",
          "locator": "Crawler snapshot of 22 September 2026 03:11:47 UTC listing 24,652 reachable nodes, 8,559 of them live, described as nodes found by a crawler on the peer-to-peer network."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-what-a-full-node-is",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "What a full node is: A program that fully validates transactions and blocks",
      "sourceIds": [
        "source-cb92ea1a2a21982c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-initial-synchronization",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "Initial synchronization: Initial synchronization transfers historical chain data; the amount grows as blocks are added",
      "sourceIds": [
        "source-cb92ea1a2a21982c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-with-pruning",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "With pruning: Pruning removes older raw block and undo files after processing; the pruning target is not total node disk usage",
      "sourceIds": [
        "source-997df60df1815097"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Introduces block file pruning as a fully validating node without raw block data on disk, with a 550 MB minimum chosen to keep at least 288 blocks; published 12 July 2015."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-pruning-introduced",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "Pruning introduced: Bitcoin Core 0.11.0, released 12 July 2015",
      "sourceIds": [
        "source-997df60df1815097"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-997df60df1815097",
          "locator": "Introduces block file pruning as a fully validating node without raw block data on disk, with a 550 MB minimum chosen to keep at least 288 blocks; published 12 July 2015."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-hardware-requirements",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "Hardware requirements: Operational requirements depend on software version, cache settings, workload and retained indexes",
      "sourceIds": [
        "source-cb92ea1a2a21982c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb92ea1a2a21982c",
          "locator": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-limits-of-node-counts",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "Limits of node counts: A crawler can count responding endpoints within its method; unreachable nodes and operators are not directly counted",
      "sourceIds": [
        "source-686ae90fd584b117"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-686ae90fd584b117",
          "locator": "Crawler snapshot of 22 September 2026 03:11:47 UTC listing 24,652 reachable nodes, 8,559 of them live, described as nodes found by a crawler on the peer-to-peer network."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-nodes-explained-fact-mining-not-required",
      "articleSlug": "bitcoin-nodes-explained",
      "statement": "Mining not required: The white paper separates collecting and checking transactions from finding the proof-of-work",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 5 lists the steps nodes run, and section 8 describes simplified payment verification, its vulnerability to an attacker who overpowers the network, and the suggestion that businesses run their own nodes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked the distinct validation/mining roles against the Bitcoin developer guide. Valid proof of work does not authorize invalid transactions.",
          "Replaced stale storage figures and blanket historical-pruning compatibility claims with dated Core 0.11.0 scope. Clarified retention versus validation settings and the limits of a node-backed wallet interface using white-paper section 8."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-quick-answer",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "On Bitcoin mainnet, the mining target is recalculated every 2,016 blocks using the previous period’s recorded timing. The intended timespan is about two weeks, with each adjustment bounded to a factor of four and by the easiest permitted target. The rule responds to past block timing; it does not guarantee ten-minute intervals or a fixed calendar schedule.",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States the 2,016-block interval, the 1,209,600-second ideal, the limits of a 300% increase or 75% decrease, and the off-by-one that uses timestamps from 2,015 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-retarget-interval",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Retarget interval: Every 2,016 blocks",
      "sourceIds": [
        "source-da5966322bed9c0a",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da5966322bed9c0a",
          "locator": "The consensus code: the check that the next height is a multiple of the adjustment interval, the timespan clamp to between a quarter and four times the target, the multiply-and-divide retarget, and the proof-of-work limit cap."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States the 2,016-block interval, the 1,209,600-second ideal, the limits of a 300% increase or 75% decrease, and the off-by-one that uses timestamps from 2,015 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-target-timespan",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Target timespan: 1,209,600 seconds, which is 14 days, for 2,016 blocks at 10 minutes each",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Sets the main network’s target timespan to 14 days, target spacing to 10 minutes, halving interval to 210,000 blocks, disables minimum-difficulty blocks, and creates the genesis block with bits 0x1d00ffff."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States the 2,016-block interval, the 1,209,600-second ideal, the limits of a 300% increase or 75% decrease, and the off-by-one that uses timestamps from 2,015 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-maximum-change",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Maximum change: At most 4x harder or 4x easier per adjustment: an increase of up to 300% or a decrease of up to 75%",
      "sourceIds": [
        "source-da5966322bed9c0a",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da5966322bed9c0a",
          "locator": "The consensus code: the check that the next height is a multiple of the adjustment interval, the timespan clamp to between a quarter and four times the target, the multiply-and-divide retarget, and the proof-of-work limit cap."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States the 2,016-block interval, the 1,209,600-second ideal, the limits of a 300% increase or 75% decrease, and the off-by-one that uses timestamps from 2,015 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-starting-difficulty",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Starting difficulty: 1, at block 0, the easiest target the main network allows",
      "sourceIds": [
        "source-691e2f1a1d0a41de",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Reports block 0 with difficulty 1.0, bits 486604799, timestamp 1231006505 and nonce 2083236893."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Sets the main network’s target timespan to 14 days, target spacing to 10 minutes, halving interval to 210,000 blocks, disables minimum-difficulty blocks, and creates the genesis block with bits 0x1d00ffff."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-known-quirk",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Known quirk: The retarget measures 2,015 block intervals, not 2,016, an off-by-one in the original code",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States the 2,016-block interval, the 1,209,600-second ideal, the limits of a 300% increase or 75% decrease, and the off-by-one that uses timestamps from 2,015 blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-dated-2021-example",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Dated 2021 example: The 3 July 2021 adjustment cut difficulty by about 28%, reported at the time as the largest decrease",
      "sourceIds": [
        "source-c87ac60c1452ef43"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c87ac60c1452ef43",
          "locator": "Reports the 28% downward difficulty adjustment of 3 July 2021 and that China’s crackdown cut total hash power by more than half from record levels earlier in the year."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-difficulty-adjustment-fact-where-the-rule-lives",
      "articleSlug": "bitcoin-difficulty-adjustment",
      "statement": "Where the rule lives: Bitcoin Core, src/pow.cpp, in the function CalculateNextWorkRequired",
      "sourceIds": [
        "source-da5966322bed9c0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-da5966322bed9c0a",
          "locator": "The consensus code: the check that the next height is a multiple of the adjustment interval, the timespan clamp to between a quarter and four times the target, the multiply-and-divide retarget, and the proof-of-work limit cap."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Independently fetched pinned pow.cpp and mainnet chainparams. Read boundary test, timespan clamp, target multiply/divide and powLimit; recomputed 2,016 blocks from 14 days / 10 minutes.",
          "Corrected the FAQ that reversed the target direction: slower observed blocks raise the target and lower difficulty, subject to bounds. Removed an unsupported hash-rate-estimation aside from the new section; qualified calendar timing and network scope."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-quick-answer",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "Hash rate is how many hashes, meaning mining guesses, the whole Bitcoin network makes each second. It is quoted in units like exahashes per second (EH/s), with each prefix a thousand times the last: tera, peta, exa, zetta. No one can count the guesses, so every published figure is an estimate worked out from the current difficulty and how quickly blocks have been arriving. It matters because the more guessing power protects the chain, the more it would cost to rewrite it.",
      "sourceIds": [
        "source-7f2cc5b236e2fc6e",
        "source-7db74fefe1c8da10",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f2cc5b236e2fc6e",
          "locator": "Describes the command as returning the estimated network hashes per second based on the last n blocks, with a default of 120 blocks."
        },
        {
          "sourceId": "source-7db74fefe1c8da10",
          "locator": "States that the hash rate metric is derived from mean difficulty and mean block interval, gives an estimate of hash power, and is not comparable between assets with different hash functions."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 4 states that proof-of-work is one CPU, one vote, that an honest majority of CPU power outpaces competing chains, and that modifying a past block requires redoing all the work after it."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-what-a-hash-is",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "What a hash is: One double SHA-256 computation; hash rate is how many the network performs per second",
      "sourceIds": [
        "source-e151dcc0f588b742"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e151dcc0f588b742",
          "locator": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-how-it-is-estimated",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "How it is estimated: From difficulty and the time between recent blocks; Bitcoin Core’s estimate uses the last 120 blocks by default",
      "sourceIds": [
        "source-7f2cc5b236e2fc6e",
        "source-7db74fefe1c8da10"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7f2cc5b236e2fc6e",
          "locator": "Describes the command as returning the estimated network hashes per second based on the last n blocks, with a default of 120 blocks."
        },
        {
          "sourceId": "source-7db74fefe1c8da10",
          "locator": "States that the hash rate metric is derived from mean difficulty and mean block interval, gives an estimate of hash power, and is not comparable between assets with different hash functions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-rule-of-thumb",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "Rule of thumb: Hash rate is roughly difficulty times 2^32 divided by 600",
      "sourceIds": [
        "source-5c804a714afb1fb4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5c804a714afb1fb4",
          "locator": "Community reference giving the approximation hash rate equals difficulty times 2^32 divided by 600, about 7 MH/s at difficulty 1."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-units",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "Units: TH/s, PH/s, EH/s and ZH/s, each a thousand times the last; 1 ZH/s is 1,000 EH/s",
      "sourceIds": [
        "source-82ddf96ab89b6099",
        "source-e151dcc0f588b742"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82ddf96ab89b6099",
          "locator": "Reports, citing Glassnode, the seven-day average reaching 1 ZH/s on 2 September 2025, up from around 800 EH/s at the start of the year, and states that one zettahash equals 1,000 exahashes."
        },
        {
          "sourceId": "source-e151dcc0f588b742",
          "locator": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-january-2015",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "January 2015: Around 300 PH/s, per the Bitcoin Wiki",
      "sourceIds": [
        "source-e151dcc0f588b742"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e151dcc0f588b742",
          "locator": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-april-2021",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "April 2021: Around 170,000 PH/s, per the Bitcoin Wiki",
      "sourceIds": [
        "source-e151dcc0f588b742"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e151dcc0f588b742",
          "locator": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-september-2025",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "September 2025: Seven-day average first reached 1 ZH/s on 2 September 2025, per CoinDesk citing Glassnode",
      "sourceIds": [
        "source-82ddf96ab89b6099"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-82ddf96ab89b6099",
          "locator": "Reports, citing Glassnode, the seven-day average reaching 1 ZH/s on 2 September 2025, up from around 800 EH/s at the start of the year, and states that one zettahash equals 1,000 exahashes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "bitcoin-hash-rate-fact-why-daily-figures-wobble",
      "articleSlug": "bitcoin-hash-rate",
      "statement": "Why daily figures wobble: Block discovery is random, so daily estimates rise and fall even when real power is steady",
      "sourceIds": [
        "source-99788c6ecc46c23b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-99788c6ecc46c23b",
          "locator": "Describes the chart as the estimated terahashes per second over the last 24 hours, warns that daily values move with the randomness of block discovery, and recommends a seven-day average."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked getnetworkhashps and Coin Metrics methodology; network hash rate is inferred from work and timing, with window-dependent uncertainty. Difficulty is a consensus parameter, not a direct hardware measurement."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-quick-answer",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "A Bitcoin block is an 80-byte header followed by a list of transactions. The header holds six fields: a version number, the hash of the previous block, a Merkle root that summarizes every transaction, a timestamp, an encoded difficulty target, and a nonce that miners change while searching for a valid hash. The first transaction, the coinbase, creates the block reward. Block 0, mined on 3 January 2009, is 285 bytes and holds a single transaction.",
      "sourceIds": [
        "source-1f428f4e78a3eded",
        "source-26fc928b4956daf4",
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees."
        },
        {
          "sourceId": "source-26fc928b4956daf4",
          "locator": "Describes the coinbase input as a null outpoint with index 0xffffffff, a script of 2 to 100 bytes beginning with the block height under BIP34 since height 227,836, and the extra nonce miners put in the remaining space."
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Records the earlier 1,000,000-byte limit and defines base size, total size, block weight as base size times three plus total size with a 4,000,000 limit, and virtual size as weight divided by four, rounded up to a whole virtual byte rounded up."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-header-size",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Header size: 80 bytes, in six fields",
      "sourceIds": [
        "source-1f428f4e78a3eded",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 6 describes the first transaction in a block creating a new coin for its creator; section 7 gives the 80-byte header, the 4.2 MB per year estimate and the Merkle tree; section 8 describes verifying a payment from a Merkle branch."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-header-fields",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Header fields: Version (4 bytes), previous block hash (32), Merkle root (32), time (4), nBits (4), nonce (4)",
      "sourceIds": [
        "source-1f428f4e78a3eded"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-block-0-mined",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Block 0 mined: 3 January 2009, 18:15:05 UTC (Unix time 1231006505)",
      "sourceIds": [
        "source-d2c36e64f08016f8",
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d2c36e64f08016f8",
          "locator": "Community reference giving the timestamp of 1231006505, the coinbase headline text, the unspendable 50 bitcoin reward and its cause, the extra leading zeros in the hash, the six-day gap to block 1, and that block 0 references no previous block."
        },
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Reports block 0 as height 0, version 1, timestamp 1231006505, one transaction, size 285 bytes, weight 1140, bits 486604799, nonce 2083236893, difficulty 1.0, with a Merkle root beginning 4a5e1e."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-block-0-size",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Block 0 size: 285 bytes, 1,140 weight units, one transaction",
      "sourceIds": [
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Reports block 0 as height 0, version 1, timestamp 1231006505, one transaction, size 285 bytes, weight 1140, bits 486604799, nonce 2083236893, difficulty 1.0, with a Merkle root beginning 4a5e1e."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-block-0-nonce-and-bits",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Block 0 nonce and bits: Nonce 2083236893; bits 0x1d00ffff, which is difficulty 1",
      "sourceIds": [
        "source-691e2f1a1d0a41de",
        "source-d2c36e64f08016f8",
        "source-1f428f4e78a3eded"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Reports block 0 as height 0, version 1, timestamp 1231006505, one transaction, size 285 bytes, weight 1140, bits 486604799, nonce 2083236893, difficulty 1.0, with a Merkle root beginning 4a5e1e."
        },
        {
          "sourceId": "source-d2c36e64f08016f8",
          "locator": "Community reference giving the timestamp of 1231006505, the coinbase headline text, the unspendable 50 bitcoin reward and its cause, the extra leading zeros in the hash, the six-day gap to block 1, and that block 0 references no previous block."
        },
        {
          "sourceId": "source-1f428f4e78a3eded",
          "locator": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-weight-limit",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Weight limit: 4,000,000 weight units per block; before SegWit the limit was 1,000,000 bytes",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Records the earlier 1,000,000-byte limit and defines base size, total size, block weight as base size times three plus total size with a 4,000,000 limit, and virtual size as weight divided by four, rounded up to a whole virtual byte rounded up."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-coinbase-maturity",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Coinbase maturity: A coinbase output cannot be spent for at least 100 blocks",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "States that each header must hash below the target, that a coinbase output cannot be spent for at least 100 blocks, and how the Merkle tree pairs txids, hashing an unpaired txid with a copy of itself."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "anatomy-of-a-bitcoin-block-fact-height-in-coinbase",
      "articleSlug": "anatomy-of-a-bitcoin-block",
      "statement": "Height in coinbase: Required since block 227,836 under BIP34",
      "sourceIds": [
        "source-138d653a48233984",
        "source-26fc928b4956daf4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-138d653a48233984",
          "locator": "Requires the block height as the first item in the coinbase script for version 2 blocks, to enforce uniqueness, and records block 227,835 on 24 March 2013 as the last version 1 block."
        },
        {
          "sourceId": "source-26fc928b4956daf4",
          "locator": "Describes the coinbase input as a null outpoint with index 0xffffffff, a script of 2 to 100 bytes beginning with the block height under BIP34 since height 227,836, and the extra nonce miners put in the remaining space."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked block-header and raw-transaction references, actual genesis/Finney block data, and BIP141 block-weight accounting."
        ]
      }
    },
    {
      "id": "double-spending-quick-answer",
      "articleSlug": "double-spending",
      "statement": "A double-spend attempt creates conflicting transactions that try to consume the same Bitcoin output. Only one can remain in a valid accepted chain. Nodes validate blocks and select the valid chain with the most accumulated proof of work; this does not guarantee that the transaction first seen by a recipient wins. Confirmations reduce reversal risk under assumptions about an attacker’s resources, but unconfirmed payments remain especially exposed.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-1022b7928c4e0f71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        },
        {
          "sourceId": "source-1022b7928c4e0f71",
          "locator": "Satoshi explains that only one of several conflicting spends becomes valid, that receivers should hold transactions for perhaps an hour or more before shipping, and that the longest chain is always the valid one."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-the-problem-stated",
      "articleSlug": "double-spending",
      "statement": "The problem stated: The Bitcoin white paper, 2008: signatures alone cannot show a coin was not spent twice",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-1022b7928c4e0f71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        },
        {
          "sourceId": "source-1022b7928c4e0f71",
          "locator": "Satoshi explains that only one of several conflicting spends becomes valid, that receivers should hold transactions for perhaps an hour or more before shipping, and that the longest chain is always the valid one."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-conflict-rule",
      "articleSlug": "double-spending",
      "statement": "Conflict rule: Two transactions spending the same output cannot both be accepted in one valid chain; first arrival alone does not settle the winner",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-satoshi-s-advice-november-2008",
      "articleSlug": "double-spending",
      "statement": "Satoshi’s advice, November 2008: Hold a payment for perhaps an hour or more before shipping goods",
      "sourceIds": [
        "source-1022b7928c4e0f71"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1022b7928c4e0f71",
          "locator": "Satoshi explains that only one of several conflicting spends becomes valid, that receivers should hold transactions for perhaps an hour or more before shipping, and that the longest chain is always the valid one."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-small-purchases",
      "articleSlug": "double-spending",
      "statement": "Small purchases: A race to propagate; a processor could check for conflicts in about 10 seconds (July 2010)",
      "sourceIds": [
        "source-7ea578302d90bd17"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7ea578302d90bd17",
          "locator": "Satoshi describes a double spend as a race to propagate, works the geometric spread example, and proposes a payment processor giving good-enough checking in about ten seconds for small purchases."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-odds-with-10-of-hash-power",
      "articleSlug": "double-spending",
      "statement": "Odds with 10% of hash power: The white paper’s model gives catch-up probability 0.0009137 for q = 0.10 and z = 5; the model’s assumptions matter",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-odds-with-30-of-hash-power",
      "articleSlug": "double-spending",
      "statement": "Odds with 30% of hash power: The paper’s model gives probability below 0.001 at q = 0.30 and z = 24",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "double-spending-fact-validity-versus-finality",
      "articleSlug": "double-spending",
      "statement": "Validity versus finality: A chain can reorganize while remaining valid; validity and the economic risk of reversal are different questions",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Sections 1, 2 and 5 state the double-spending problem, the first-seen rule and the longest-chain rule; section 11 gives the attacker-success table by hash-power share and confirmation depth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked whitepaper network/attacker sections and the developer guide’s input/output rules. The worked example distinguishes competing spends of one output from separate payments funded by different outputs, and retains reorganization and attacker-assumption limits."
        ]
      }
    },
    {
      "id": "51-percent-attack-quick-answer",
      "articleSlug": "51-percent-attack",
      "statement": "A majority-hash attack uses enough computing power to outpace the honest chain over time, enabling censorship or attempts to reverse the attacker’s payments. Even a higher-work chain must satisfy node validation rules: hash power alone cannot forge signatures or exceed permitted issuance. Less than half of hash power can still give a probabilistic chance of a reorganization, so 51 percent is not a threshold below which every payment is safe.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-92aa247a3501755e",
        "source-87afa6812bbc15d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 11 states that a majority attacker cannot create value or take others’ money, only reverse their own recent spends, and tabulates attacker success by hash-power share and depth."
        },
        {
          "sourceId": "source-92aa247a3501755e",
          "locator": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins."
        },
        {
          "sourceId": "source-87afa6812bbc15d1",
          "locator": "Explains that a majority miner can refuse or reverse transactions but cannot add false ones, notes GHash.io briefly exceeding half in June 2014, and argues future rewards deter an attack."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-what-it-takes",
      "articleSlug": "51-percent-attack",
      "statement": "What it takes: A sustained majority can outpace the remainder in expectation; a smaller share can still succeed probabilistically",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-92aa247a3501755e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 11 states that a majority attacker cannot create value or take others’ money, only reverse their own recent spends, and tabulates attacker success by hash-power share and depth."
        },
        {
          "sourceId": "source-92aa247a3501755e",
          "locator": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-what-it-allows",
      "articleSlug": "51-percent-attack",
      "statement": "What it allows: Reversing the attacker’s own recent transactions; keeping others out of blocks",
      "sourceIds": [
        "source-92aa247a3501755e",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92aa247a3501755e",
          "locator": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins."
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 11 states that a majority attacker cannot create value or take others’ money, only reverse their own recent spends, and tabulates attacker success by hash-power share and depth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-what-it-does-not-allow",
      "articleSlug": "51-percent-attack",
      "statement": "What it does not allow: Spending other people’s coins or creating coins out of thin air",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-87afa6812bbc15d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 11 states that a majority attacker cannot create value or take others’ money, only reverse their own recent spends, and tabulates attacker success by hash-power share and depth."
        },
        {
          "sourceId": "source-87afa6812bbc15d1",
          "locator": "Explains that a majority miner can refuse or reverse transactions but cannot add false ones, notes GHash.io briefly exceeding half in June 2014, and argues future rewards deter an attack."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-ghash-io-concentration",
      "articleSlug": "51-percent-attack",
      "statement": "GHash.io concentration: Contemporary researchers, as reported by CoinDesk, estimated GHash.io near 55% for almost 24 hours on 12–13 June 2014",
      "sourceIds": [
        "source-d3a8bd5dda19bff0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3a8bd5dda19bff0",
          "locator": "Reports GHash.io at 55% for almost 24 hours on 12 to 13 June 2014, the London round table of 9 July, the 39.99% pledge, and the fall to about 34.6% by 13 July."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-ghash-io-s-pledge",
      "articleSlug": "51-percent-attack",
      "statement": "GHash.io’s pledge: To stay under 39.99% of the network, July 2014",
      "sourceIds": [
        "source-d3a8bd5dda19bff0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3a8bd5dda19bff0",
          "locator": "Reports GHash.io at 55% for almost 24 hours on 12 to 13 June 2014, the London round table of 9 July, the 39.99% pledge, and the fall to about 34.6% by 13 July."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-bitcoin-gold-may-2018",
      "articleSlug": "51-percent-attack",
      "statement": "Bitcoin Gold, May 2018: Roughly $18 million double-spent against exchanges",
      "sourceIds": [
        "source-61c1145a53ae4b17"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-61c1145a53ae4b17",
          "locator": "Reports the two 23 January 2020 reorganizations double-spending about 1,900 and 5,267 BTG, James Lovejoy’s estimate of about 0.2 BTC per attack in rented hash power, and the roughly $18 million May 2018 attack."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-ethereum-classic-august-2020",
      "articleSlug": "51-percent-attack",
      "statement": "Ethereum Classic, August 2020: More than 3,000 blocks rewritten; about 800,000 ETC double-spent",
      "sourceIds": [
        "source-62ba7b88f1c66887"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62ba7b88f1c66887",
          "locator": "Reports a reorganization of more than 3,000 blocks double-spending about 800,000 ETC (about $5.6 million) with hash power costing about 17.5 BTC, a second of more than 4,000 blocks, and developers’ advice to raise confirmation times."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "51-percent-attack-fact-historical-reporting-limit",
      "articleSlug": "51-percent-attack",
      "statement": "Historical reporting limit: The attack model does not establish a complete historical census of attempts or successes",
      "sourceIds": [
        "source-92aa247a3501755e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-92aa247a3501755e",
          "locator": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the white paper model and New York Fed analysis; read the cited contemporary incident reports and retained their attribution and uncertainty. Removed a claim proving no historical Bitcoin attack and clarified that BTG reorgs did not establish successful exchange withdrawals."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-quick-answer",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "A soft fork restricts the set of blocks considered valid, while a hard fork can admit blocks that older rules reject. A persistent chain split occurs when groups continue following incompatible histories; it is not inevitable every time software changes. The compatibility classification says nothing by itself about whether a proposal is desirable, widely adopted or safe to activate.",
      "sourceIds": [
        "source-8a6d411180dd5a1c",
        "source-4b78632ad482cf32"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a6d411180dd5a1c",
          "locator": "Defines the consensus layer and gives the one-sentence definitions of soft fork and hard fork used in this article."
        },
        {
          "sourceId": "source-4b78632ad482cf32",
          "locator": "Defines softfork and hardfork, explains that to old nodes a soft fork looks like policy, and classifies accidental, unilateral, schism, uncontroversial and emergency forks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-soft-fork",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "Soft fork: Some previously valid structures become invalid; nothing invalid becomes valid",
      "sourceIds": [
        "source-8a6d411180dd5a1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a6d411180dd5a1c",
          "locator": "Defines the consensus layer and gives the one-sentence definitions of soft fork and hard fork used in this article."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-hard-fork",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "Hard fork: Structures that were invalid under the old rules become valid",
      "sourceIds": [
        "source-8a6d411180dd5a1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a6d411180dd5a1c",
          "locator": "Defines the consensus layer and gives the one-sentence definitions of soft fork and hard fork used in this article."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-why-soft-forks-are-compatible",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "Why soft forks are compatible: To old nodes the new rules look like miner policy, not consensus",
      "sourceIds": [
        "source-4b78632ad482cf32"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4b78632ad482cf32",
          "locator": "Defines softfork and hardfork, explains that to old nodes a soft fork looks like policy, and classifies accidental, unilateral, schism, uncontroversial and emergency forks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-p2sh-bip-16",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "P2SH (BIP 16): Dated 3 January 2012; miners signaled with /P2SH/ in the coinbase",
      "sourceIds": [
        "source-ca859c1b51d0e152"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ca859c1b51d0e152",
          "locator": "Gives the backwards-compatibility reasoning, the /P2SH/ coinbase signal, the 1 February 2012 count with a 550-block (about 55%) threshold, and the 1 April 2012 enforcement timestamp."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-segwit-bip-141",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "SegWit (BIP 141): Proposed 21 December 2015; activated August 2017",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-7113c9dfd8442daf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "States that old nodes treat witness programs as anyone-can-spend, sets the 4,000,000 weight-unit limit, and gives the BIP 9 signaling window from 15 November 2016."
        },
        {
          "sourceId": "source-7113c9dfd8442daf",
          "locator": "Records that activation was blocked by miners through 2016 and 2017 and that SegWit activated soon after 1 August 2017."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-taproot-bip-341",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "Taproot (BIP 341): Activated at block 709,632 on 14 November 2021",
      "sourceIds": [
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Gives the soft-fork compatibility note, the April to August 2021 signaling window with a 1,815-block (90%) threshold, and activation at block 709,632 on 14 November 2021."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "soft-forks-and-hard-forks-fact-bitcoin-cash",
      "articleSlug": "soft-forks-and-hard-forks",
      "statement": "Bitcoin Cash: Hard fork activated 1 August 2017 with blocks over 1 MB and replay protection",
      "sourceIds": [
        "source-565c71046e083d3d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "Sets activation at median time past 1501590000 (1 August 2017), requires a fork block over 1,000,000 bytes with an 8 MB limit, and mandates SIGHASH_FORKID replay protection."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP123 definitions and BIP99 deployment distinctions. Worked A/B/C validity examples accurately distinguish subset restrictions from newly accepted blocks. Revised FAQs separate compatibility, enforcement, wallet support and activation risk."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-quick-answer",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "A Bitcoin Improvement Proposal is a public technical, informational or process document. Its number and publication indicate entry into the proposal archive, not community approval or automatic activation. Adoption depends on the proposal: wallet standards, processes and consensus changes have different implementation and deployment paths. BIP 3 describes the current editorial process in the pinned source used here.",
      "sourceIds": [
        "source-ac6414e90376ef5d",
        "source-437a2dca44c3b98d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac6414e90376ef5d",
          "locator": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status."
        },
        {
          "sourceId": "source-437a2dca44c3b98d",
          "locator": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-first-bip",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "First BIP: BIP 1, “BIP Purpose and Guidelines,” by Amir Taaki, dated 19 September 2011",
      "sourceIds": [
        "source-791860752dd26235"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-791860752dd26235",
          "locator": "The original definition of a BIP, the three types, the mailing-list-first workflow, editor number assignment, and the reference-implementation requirement for Final."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-process-revisions",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "Process revisions: BIP 2 (Luke Dashjr, 2016) and BIP 3 (Murch, 2025)",
      "sourceIds": [
        "source-d6640b01ba1d7db1",
        "source-437a2dca44c3b98d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d6640b01ba1d7db1",
          "locator": "The 2016 revision: the nine statuses, the comments system, licensing, and the per-layer definitions of what counts as adoption for soft forks, hard forks, peer services and applications."
        },
        {
          "sourceId": "source-437a2dca44c3b98d",
          "locator": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-three-types",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "Three types: Specification (formerly Standards Track), Informational, Process",
      "sourceIds": [
        "source-791860752dd26235",
        "source-437a2dca44c3b98d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-791860752dd26235",
          "locator": "The original definition of a BIP, the three types, the mailing-list-first workflow, editor number assignment, and the reference-implementation requirement for Final."
        },
        {
          "sourceId": "source-437a2dca44c3b98d",
          "locator": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-statuses-under-bip-3",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "Statuses under BIP 3: Draft, Complete, Deployed, Closed",
      "sourceIds": [
        "source-437a2dca44c3b98d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-437a2dca44c3b98d",
          "locator": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-where-they-live",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "Where they live: The bitcoin/bips repository on GitHub",
      "sourceIds": [
        "source-ac6414e90376ef5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac6414e90376ef5d",
          "locator": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-what-a-number-means",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "What a number means: Not that it is a good idea, has consensus, or is about to be adopted",
      "sourceIds": [
        "source-ac6414e90376ef5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac6414e90376ef5d",
          "locator": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-improvement-proposals-fact-famous-examples",
      "articleSlug": "bitcoin-improvement-proposals",
      "statement": "Famous examples: BIP 16 (P2SH), BIP 32 and 39 (wallets and seed words), BIP 141 (SegWit), BIP 341 (Taproot)",
      "sourceIds": [
        "source-ac6414e90376ef5d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ac6414e90376ef5d",
          "locator": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned BIP repository README and BIP3 editorial/adoption process. Description and guide correctly separate number assignment, editorial status, implementation support and consensus activation."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-quick-answer",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "A mining pool coordinates miners and distributes rewards according to its payout rules. Pooling can reduce the variance a small miner experiences, but fees, payout method, thresholds and operator risk affect actual earnings. A share demonstrates work at a pool’s easier target; occasionally that same work also meets the network target. Slush’s November 2010 forum proposal is an early primary record of pooled Bitcoin mining.",
      "sourceIds": [
        "source-eb7c789462d57b3b",
        "source-e7e30cca9dbe0a39",
        "source-6763aaa6551860d6",
        "source-4a56d708d0eddd21"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-eb7c789462d57b3b",
          "locator": "The 27 November 2010 proposal for pooled mining, its 1,000 khash/s and 1.25 BTC worked example, and the first replies from ribuck and BitLex."
        },
        {
          "sourceId": "source-e7e30cca9dbe0a39",
          "locator": "Explains variance with the 1,000 khash/s at difficulty 14,484 example, defines a share, and describes Slush’s scoring, PPS, FPPS and P2Pool payout schemes."
        },
        {
          "sourceId": "source-6763aaa6551860d6",
          "locator": "Defines getblocktemplate, in which the node sends the whole block structure for the miner to customize and assemble."
        },
        {
          "sourceId": "source-4a56d708d0eddd21",
          "locator": "From the company behind Slush Pool: Marek “Slush” Palatinus founded the pool in 2010 and created Stratum V1 in 2012; getwork’s bandwidth problem; V2 lets miners choose transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-why-pools-exist",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "Why pools exist: Variance: at 1,000 khash/s and difficulty 14,484, a solo block took almost two years on average",
      "sourceIds": [
        "source-e7e30cca9dbe0a39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e7e30cca9dbe0a39",
          "locator": "Explains variance with the 1,000 khash/s at difficulty 14,484 example, defines a share, and describes Slush’s scoring, PPS, FPPS and P2Pool payout schemes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-first-pool",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "First pool: Announced by forum user slush on BitcoinTalk, 27 November 2010",
      "sourceIds": [
        "source-eb7c789462d57b3b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-eb7c789462d57b3b",
          "locator": "The 27 November 2010 proposal for pooled mining, its 1,000 khash/s and 1.25 BTC worked example, and the first replies from ribuck and BitLex."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-a-share",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "A share: A valid proof of work at a lower difficulty than a real block",
      "sourceIds": [
        "source-e7e30cca9dbe0a39"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e7e30cca9dbe0a39",
          "locator": "Explains variance with the 1,000 khash/s at difficulty 14,484 example, defines a share, and describes Slush’s scoring, PPS, FPPS and P2Pool payout schemes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-getblocktemplate",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "getblocktemplate: BIP 22 and BIP 23, Luke Dashjr, 28 February 2012",
      "sourceIds": [
        "source-6763aaa6551860d6",
        "source-7c3b240c404bd5a9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6763aaa6551860d6",
          "locator": "Defines getblocktemplate, in which the node sends the whole block structure for the miner to customize and assemble."
        },
        {
          "sourceId": "source-7c3b240c404bd5a9",
          "locator": "States the concern that mining is too centralized on pools and extends getblocktemplate so miners can audit and modify the block before hashing it."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-stratum",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "Stratum: Created by Slush in 2012 to replace getwork; never given a formal BIP",
      "sourceIds": [
        "source-2c8956267adb1a95",
        "source-4a56d708d0eddd21"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2c8956267adb1a95",
          "locator": "Records that Stratum replaced getwork in late 2012, was announced via Slush’s pool, has no formal BIP, set back getblocktemplate adoption, uses mining.set_difficulty, and that V2 lets miners declare their own templates."
        },
        {
          "sourceId": "source-4a56d708d0eddd21",
          "locator": "From the company behind Slush Pool: Marek “Slush” Palatinus founded the pool in 2010 and created Stratum V1 in 2012; getwork’s bandwidth problem; V2 lets miners choose transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-how-pool-shares-are-measured",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "How pool shares are measured: By matching coinbase tags and payout addresses; unmatched blocks are “unknown”",
      "sourceIds": [
        "source-d546bf595d493f0b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d546bf595d493f0b",
          "locator": "The public list mempool.space uses to attribute blocks to pools by coinbase tags and payout addresses, with unmatched blocks labeled unknown."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "bitcoin-mining-pools-fact-historical-cambridge-sample",
      "articleSlug": "bitcoin-mining-pools",
      "statement": "Historical Cambridge sample: The cited September 2019–January 2022 sample covered about 32%–38% of estimated hash rate; three pools supplied the final period",
      "sourceIds": [
        "source-7c3943af4e288532"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7c3943af4e288532",
          "locator": "Explains that pool-reported hasher locations from three pools covering about 32 to 38% of hash rate drive the map, and lists VPN use and self-reporting as limitations."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Slush's original proposal, BIP22/BIP23, Stratum documentation and the decompressed Cambridge sampling methodology. Pooling reduces variance under payout assumptions; dated the geographic sample to 2019–2022."
        ]
      }
    },
    {
      "id": "segwit-explained-quick-answer",
      "articleSlug": "segwit-explained",
      "statement": "SegWit is a Bitcoin soft fork activated at block 481,824 on 24 August 2017. It separates witness data from the transaction identifier and addresses involuntary malleability for appropriately signed SegWit transactions. It measures blocks by weight, capped at 4,000,000 units, with capacity gains that depend on transaction composition. BIP173 later specified native version-0 addresses beginning bc1q on mainnet.",
      "sourceIds": [
        "source-896e868816ad19d1",
        "source-3c84abc107071ed3",
        "source-e91421e84180069d",
        "source-7c30c03ff7365c18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines the witness structure and wtxid, states that nonintentional malleability becomes impossible, sets block weight at base size times three plus total size with a 4,000,000 limit, and records the BIP9 bit 1 deployment."
        },
        {
          "sourceId": "source-3c84abc107071ed3",
          "locator": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability."
        },
        {
          "sourceId": "source-e91421e84180069d",
          "locator": "JSON fields height, timestamp, id; block height 481824"
        },
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Specifies Bech32 addresses with the bc prefix and lists the problems with base58: mixed case, QR code inefficiency and a checksum with no error-detection guarantees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-proposal",
      "articleSlug": "segwit-explained",
      "statement": "Proposal: BIP141, by Eric Lombrozo, Johnson Lau and Pieter Wuille",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines the witness structure and wtxid, states that nonintentional malleability becomes impossible, sets block weight at base size times three plus total size with a 4,000,000 limit, and records the BIP9 bit 1 deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-software",
      "articleSlug": "segwit-explained",
      "statement": "Software: Bitcoin Core 0.13.1, released 27 October 2016",
      "sourceIds": [
        "source-3c84abc107071ed3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3c84abc107071ed3",
          "locator": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-signaling-rule",
      "articleSlug": "segwit-explained",
      "statement": "Signaling rule: Bit 1; 95% of a 2,016-block period; tracking from 15 November 2016",
      "sourceIds": [
        "source-3c84abc107071ed3",
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3c84abc107071ed3",
          "locator": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability."
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines the witness structure and wtxid, states that nonintentional malleability becomes impossible, sets block weight at base size times three plus total size with a 4,000,000 limit, and records the BIP9 bit 1 deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-activated",
      "articleSlug": "segwit-explained",
      "statement": "Activated: Block 481,824, 24 August 2017, 01:57 UTC",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-e91421e84180069d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Records consensus.SegwitHeight = 481824 for mainnet, the block at which SegWit rules are enforced."
        },
        {
          "sourceId": "source-e91421e84180069d",
          "locator": "JSON fields height, timestamp, id; block height 481824"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-block-limit",
      "articleSlug": "segwit-explained",
      "statement": "Block limit: 4,000,000 weight units, replacing the 1 MB size limit",
      "sourceIds": [
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "Defines the witness structure and wtxid, states that nonintentional malleability becomes impossible, sets block weight at base size times three plus total size with a 4,000,000 limit, and records the BIP9 bit 1 deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-capacity",
      "articleSlug": "segwit-explained",
      "statement": "Capacity: The 0.13.1 release notes estimated about 70% more transactions for typical use if wallets adopt SegWit; actual gains depend on transaction mix",
      "sourceIds": [
        "source-3c84abc107071ed3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3c84abc107071ed3",
          "locator": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "segwit-explained-fact-address-format",
      "articleSlug": "segwit-explained",
      "statement": "Address format: BIP173 Bech32 encodes native SegWit version-0 mainnet addresses beginning bc1q",
      "sourceIds": [
        "source-7c30c03ff7365c18"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7c30c03ff7365c18",
          "locator": "Specifies Bech32 addresses with the bc prefix and lists the problems with base58: mixed case, QR code inefficiency and a checksum with no error-detection guarantees."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP141’s transaction-ID, signing, block-weight and virtual-size rules plus BIP173. Recomputed 3×100+300=600 weight units and ceil(600/4)=150 vbytes. Revised heading and FAQs remove unconditional malleability, fixed fee-saving and automatic fork-split claims."
        ]
      }
    },
    {
      "id": "taproot-explained-quick-answer",
      "articleSlug": "taproot-explained",
      "statement": "Taproot activated at block 709,632 on 14 November 2021. It adds Schnorr signatures and an output type that can be spent through a key or by revealing one branch of a script tree. A cooperative key-path spend can hide the existence of other conditions, while script-path spends reveal the executed branch. This can save space and improve privacy in particular constructions; it does not make all transactions indistinguishable. Mainnet Taproot addresses begin bc1p.",
      "sourceIds": [
        "source-9890ddaad079f5d8",
        "source-774443f2ae10accb",
        "source-251bb91b9f6cc707",
        "source-cfcb0c1eaec210f7",
        "source-b33f2e5a3eb0e76d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9890ddaad079f5d8",
          "locator": "Specifies Schnorr signatures: provable security, non-malleability, 64-byte signatures with 32-byte keys, batch verification, and linearity that lets parties sign for the sum of their keys."
        },
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines Taproot outputs, the internal key tweaked by the Merkle root, key-path and script-path spending, the privacy rationale, and the Speedy Trial deployment with minimum activation height 709,632."
        },
        {
          "sourceId": "source-251bb91b9f6cc707",
          "locator": "Defines Tapscript: Schnorr-based signature checks, OP_CHECKSIGADD, the disabling of OP_CHECKMULTISIG, and OP_SUCCESS opcodes reserved for future upgrades."
        },
        {
          "sourceId": "source-cfcb0c1eaec210f7",
          "locator": "JSON fields height, timestamp, id; block height 709632"
        },
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Explains the Bech32 insertion weakness and specifies Bech32m for witness versions 1 and above, which gives Taproot addresses the bc1p prefix."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-proposals",
      "articleSlug": "taproot-explained",
      "statement": "Proposals: BIP340 (Schnorr), BIP341 (Taproot), BIP342 (Tapscript)",
      "sourceIds": [
        "source-9890ddaad079f5d8",
        "source-774443f2ae10accb",
        "source-251bb91b9f6cc707"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9890ddaad079f5d8",
          "locator": "Specifies Schnorr signatures: provable security, non-malleability, 64-byte signatures with 32-byte keys, batch verification, and linearity that lets parties sign for the sum of their keys."
        },
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines Taproot outputs, the internal key tweaked by the Merkle root, key-path and script-path spending, the privacy rationale, and the Speedy Trial deployment with minimum activation height 709,632."
        },
        {
          "sourceId": "source-251bb91b9f6cc707",
          "locator": "Defines Tapscript: Schnorr-based signature checks, OP_CHECKSIGADD, the disabling of OP_CHECKMULTISIG, and OP_SUCCESS opcodes reserved for future upgrades."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-activation-software",
      "articleSlug": "taproot-explained",
      "statement": "Activation software: Bitcoin Core 0.21.1, released 1 May 2021",
      "sourceIds": [
        "source-8a3da633156a4f93"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a3da633156a4f93",
          "locator": "Release notes describing Speedy Trial: 90% signaling in a 2,016-block period between 24 April and 11 August 2021, activation at block 709,632, and the encouragement to upgrade unless one objects to Taproot."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-signaling-window",
      "articleSlug": "taproot-explained",
      "statement": "Signaling window: 24 April to 11 August 2021; 90% of a 2,016-block period on bit 2",
      "sourceIds": [
        "source-8a3da633156a4f93",
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a3da633156a4f93",
          "locator": "Release notes describing Speedy Trial: 90% signaling in a 2,016-block period between 24 April and 11 August 2021, activation at block 709,632, and the encouragement to upgrade unless one objects to Taproot."
        },
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines Taproot outputs, the internal key tweaked by the Merkle root, key-path and script-path spending, the privacy rationale, and the Speedy Trial deployment with minimum activation height 709,632."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-activated",
      "articleSlug": "taproot-explained",
      "statement": "Activated: Block 709,632, 14 November 2021, 05:15 UTC",
      "sourceIds": [
        "source-cfcb0c1eaec210f7",
        "source-45fcfab7ef221173"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cfcb0c1eaec210f7",
          "locator": "JSON fields height, timestamp, id; block height 709632"
        },
        {
          "sourceId": "source-45fcfab7ef221173",
          "locator": "Confirms that the taproot soft fork activated at block height 709,632 and reports that several large mining pools were not yet mining blocks containing taproot spends."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-signature-size",
      "articleSlug": "taproot-explained",
      "statement": "Signature size: BIP340 signatures are 64 bytes and public keys 32 bytes; a Taproot witness signature adds a byte when an explicit nondefault sighash type is used",
      "sourceIds": [
        "source-9890ddaad079f5d8",
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9890ddaad079f5d8",
          "locator": "Specifies Schnorr signatures: provable security, non-malleability, 64-byte signatures with 32-byte keys, batch verification, and linearity that lets parties sign for the sum of their keys."
        },
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines Taproot outputs, the internal key tweaked by the Merkle root, key-path and script-path spending, the privacy rationale, and the Speedy Trial deployment with minimum activation height 709,632."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-address-prefix",
      "articleSlug": "taproot-explained",
      "statement": "Address prefix: bc1p, using the Bech32m format",
      "sourceIds": [
        "source-b33f2e5a3eb0e76d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b33f2e5a3eb0e76d",
          "locator": "Explains the Bech32 insertion weakness and specifies Bech32m for witness versions 1 and above, which gives Taproot addresses the bc1p prefix."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "taproot-explained-fact-fork-type",
      "articleSlug": "taproot-explained",
      "statement": "Fork type: Soft fork; Taproot outputs are SegWit version 1",
      "sourceIds": [
        "source-774443f2ae10accb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-774443f2ae10accb",
          "locator": "Defines Taproot outputs, the internal key tweaked by the Merkle root, key-path and script-path spending, the privacy rationale, and the Speedy Trial deployment with minimum activation height 709,632."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read BIP341 spending validation and privacy sections, including optional annex and signature-hash forms. Final FAQs and guide avoid the earlier universal 64-byte-signature claim, distinguish key/script paths and restrict privacy benefits to exposed spending conditions."
        ]
      }
    },
    {
      "id": "lightning-network-explained-quick-answer",
      "articleSlug": "lightning-network-explained",
      "statement": "Lightning is a protocol for payments through channels backed by Bitcoin transactions. Channel peers exchange signed state updates and can route payments through other channels. Successful off-chain payments can be quick and have low fees, but require usable liquidity and a route; they can fail. On-chain funding and closure, monitoring requirements and implementation-specific recovery procedures remain part of the system.",
      "sourceIds": [
        "source-04e655a0ea160181",
        "source-baddd9ff59d41f34",
        "source-812b137e36eab791"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-04e655a0ea160181",
          "locator": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks."
        },
        {
          "sourceId": "source-baddd9ff59d41f34",
          "locator": "Specifies the open_channel, accept_channel, funding_created, funding_signed and channel_ready messages, HTLC updates with commitment_signed and revoke_and_ack, and the shutdown and closing_signed procedure."
        },
        {
          "sourceId": "source-812b137e36eab791",
          "locator": "Describes Sphinx-based onion routing in which each hop learns only which node to forward to, not the other nodes on the route or its length."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-proposed",
      "articleSlug": "lightning-network-explained",
      "statement": "Proposed: Paper by Joseph Poon and Thaddeus Dryja, draft dated 14 January 2016",
      "sourceIds": [
        "source-04e655a0ea160181"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-04e655a0ea160181",
          "locator": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-base-layer-capacity-cited",
      "articleSlug": "lightning-network-explained",
      "statement": "Base-layer capacity cited: Fewer than 7 transactions per second with a 1 MB block limit",
      "sourceIds": [
        "source-04e655a0ea160181"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-04e655a0ea160181",
          "locator": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-prerequisite",
      "articleSlug": "lightning-network-explained",
      "statement": "Prerequisite: A malleability fix, delivered by SegWit in August 2017",
      "sourceIds": [
        "source-04e655a0ea160181",
        "source-896e868816ad19d1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-04e655a0ea160181",
          "locator": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks."
        },
        {
          "sourceId": "source-896e868816ad19d1",
          "locator": "States that removing signature data from the txid makes nonintentional malleability impossible and enables unconfirmed transaction dependency chains without counterparty risk."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-specification",
      "articleSlug": "lightning-network-explained",
      "statement": "Specification: The BOLT documents (Basis of Lightning Technology)",
      "sourceIds": [
        "source-d7fc5a77c47c0fc5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d7fc5a77c47c0fc5",
          "locator": "The index of BOLT documents, their subjects, and the note that the specification is a work in progress developed in the open."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-first-mainnet-beta",
      "articleSlug": "lightning-network-explained",
      "statement": "First mainnet beta: lnd 0.4-beta, 15 March 2018",
      "sourceIds": [
        "source-087fadb4e08563dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-087fadb4e08563dc",
          "locator": "Calls lnd 0.4-beta the first Lightning mainnet beta, aimed at developers and technical users, and advises experimenting with only small amounts."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-nodes-at-launch",
      "articleSlug": "lightning-network-explained",
      "statement": "Nodes at launch: About 1,000 already running on mainnet, per CoinDesk",
      "sourceIds": [
        "source-8715b479cd9b574b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8715b479cd9b574b",
          "locator": "Reporting that about 1,000 nodes were already on mainnet, that the software limited channels to about $1,400 and payments to about $400, and quoting Elizabeth Stark’s warning about risk."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "lightning-network-explained-fact-routing-privacy",
      "articleSlug": "lightning-network-explained",
      "statement": "Routing privacy: Onion routing limits each forwarding node’s route knowledge; the node still learns its local channels, forwarding amount and timelock information",
      "sourceIds": [
        "source-812b137e36eab791"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-812b137e36eab791",
          "locator": "Describes Sphinx-based onion routing in which each hop learns only which node to forward to, not the other nodes on the route or its length."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the Poon–Dryja paper, BOLT overview and BOLT4 routing payload. A forwarding node learns its local channels, amount and timelock; routing, liquidity and recovery constraints remain explicit."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-quick-answer",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Bitcoin Cash is a separate cryptocurrency created by an incompatible rule change in August 2017. Its initial specification required larger-block support, omitted SegWit and added replay-protection rules. It shares Bitcoin’s earlier history through block 478,558, after which separate histories developed. The November 2018 Bitcoin Cash dispute produced another persistent split, including Bitcoin SV.",
      "sourceIds": [
        "source-565c71046e083d3d",
        "source-aeb722c1b6a5670e",
        "source-e3348a71ad522779"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment."
        },
        {
          "sourceId": "source-aeb722c1b6a5670e",
          "locator": "An official record stating that on 1 August 2017, at block height 478,558, the bitcoin ledger split into two ledgers and Bitcoin Cash became tradeable shortly after."
        },
        {
          "sourceId": "source-e3348a71ad522779",
          "locator": "Reports the 15 November 2018 split after block 556,766, Bitcoin SV’s aim of restoring retired code and raising blocks from 32 MB to 128 MB, Craig Wright’s support, and the pre-fork hash power picture."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-split",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Split: Shared history through block 478,558; the first distinct Bitcoin Cash block is 478,559",
      "sourceIds": [
        "source-aeb722c1b6a5670e",
        "source-54902ec07d30f67e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-aeb722c1b6a5670e",
          "locator": "An official record stating that on 1 August 2017, at block height 478,558, the bitcoin ledger split into two ledgers and Bitcoin Cash became tradeable shortly after."
        },
        {
          "sourceId": "source-54902ec07d30f67e",
          "locator": "Reports the first Bitcoin Cash block mined by ViaBTC at about 6:14 p.m. UTC, nearly six hours after block 478,558, at 1.915 MB with 6,985 transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-fork-trigger",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Fork trigger: Activation was specified using median time past of at least Unix time 1501590000 (1 August 2017, 12:20 UTC), not a guaranteed wall-clock block time",
      "sourceIds": [
        "source-565c71046e083d3d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-first-bitcoin-cash-block",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "First Bitcoin Cash block: Mined by ViaBTC at about 6:14 p.m. UTC; 1.915 MB; 6,985 transactions",
      "sourceIds": [
        "source-54902ec07d30f67e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-54902ec07d30f67e",
          "locator": "Reports the first Bitcoin Cash block mined by ViaBTC at about 6:14 p.m. UTC, nearly six hours after block 478,558, at 1.915 MB with 6,985 transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-block-size",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Block size: The cited UAHF specification required the configured acceptance limit to be at least 8,000,000 bytes; the first fork block itself had to exceed 1,000,000 bytes",
      "sourceIds": [
        "source-565c71046e083d3d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-segwit",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "SegWit: Not included",
      "sourceIds": [
        "source-565c71046e083d3d",
        "source-f33ce7d36caff728"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment."
        },
        {
          "sourceId": "source-f33ce7d36caff728",
          "locator": "Contemporaneous reporting describing the two main changes (8 MB blocks and no SegWit), the roles of Bitcoin ABC, ViaBTC and Bitmain, the 12:20 UTC fork time, and the Culianu quote about SegWit2x."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-replay-protection",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Replay protection: A new signature flag, SIGHASH_FORKID",
      "sourceIds": [
        "source-565c71046e083d3d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-565c71046e083d3d",
          "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-origin",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Origin: Bitmain’s UAHF contingency plan, published 14 June 2017",
      "sourceIds": [
        "source-1970d9b8a81f2da6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1970d9b8a81f2da6",
          "locator": "Reporting on Bitmain’s 14 June 2017 UAHF plan, including the up-to-8 MB block size and the statement that it would only launch in response to a successful BIP148; Bitmain’s original blog post is no longer reachable."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-cash-fork-2017-fact-second-split",
      "articleSlug": "bitcoin-cash-fork-2017",
      "statement": "Second split: Bitcoin SV, 15 November 2018, after block 556,766",
      "sourceIds": [
        "source-e3348a71ad522779",
        "source-71438b844c2c7993"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e3348a71ad522779",
          "locator": "Reports the 15 November 2018 split after block 556,766, Bitcoin SV’s aim of restoring retired code and raising blocks from 32 MB to 128 MB, Craig Wright’s support, and the pre-fork hash power picture."
        },
        {
          "sourceId": "source-71438b844c2c7993",
          "locator": "The Bitcoin ABC rules that activated on 15 November 2018: numerically sorted transactions, OP_CHECKDATASIG, a 100-byte minimum transaction size and updated replay protection."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the pinned UAHF replay-protection specification and 2018 upgrade scope. Checked the IRS memorandum’s shared-ledger and hosted-wallet scenarios solely for historical access distinctions. Final FAQ distinguishes controlling spending conditions from a custodian customer’s access/crediting policy; no tax conclusion is added."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-quick-answer",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "The Bitcoin halving is a rule in the software that cuts the number of new bitcoin created with each block in half every 210,000 blocks, which works out to roughly every four years. The reward started at 50 bitcoin per block in 2009 and has halved four times: to 25 in November 2012, 12.5 in July 2016, 6.25 in May 2020 and 3.125 in April 2024. It is how Bitcoin’s supply is limited to about 21 million coins. The rule says nothing about price.",
      "sourceIds": [
        "source-0edb471176022b9a",
        "source-eea12338a7f03552",
        "source-b5fde26c297fd7e8",
        "source-bcf2402ffb12695a",
        "source-0076a66a2b1bb159"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0edb471176022b9a",
          "locator": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings."
        },
        {
          "sourceId": "source-eea12338a7f03552",
          "locator": "JSON fields height, timestamp, id; block height 210000"
        },
        {
          "sourceId": "source-b5fde26c297fd7e8",
          "locator": "JSON fields height, timestamp, id; block height 420000"
        },
        {
          "sourceId": "source-bcf2402ffb12695a",
          "locator": "JSON fields height, timestamp, id; block height 630000"
        },
        {
          "sourceId": "source-0076a66a2b1bb159",
          "locator": "JSON fields height, timestamp, id; block height 840000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-rule",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Rule: The new-coin reward halves every 210,000 blocks",
      "sourceIds": [
        "source-0edb471176022b9a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0edb471176022b9a",
          "locator": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-starting-reward",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Starting reward: 50 bitcoin per block at launch",
      "sourceIds": [
        "source-0edb471176022b9a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0edb471176022b9a",
          "locator": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-first-halving",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "First halving: Block 210,000, 28 November 2012, reward 25 BTC",
      "sourceIds": [
        "source-eea12338a7f03552"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-eea12338a7f03552",
          "locator": "JSON fields height, timestamp, id; block height 210000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-second-halving",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Second halving: Block 420,000, 9 July 2016, reward 12.5 BTC",
      "sourceIds": [
        "source-b5fde26c297fd7e8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b5fde26c297fd7e8",
          "locator": "JSON fields height, timestamp, id; block height 420000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-third-halving",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Third halving: Block 630,000, 11 May 2020, reward 6.25 BTC",
      "sourceIds": [
        "source-bcf2402ffb12695a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-bcf2402ffb12695a",
          "locator": "JSON fields height, timestamp, id; block height 630000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-fourth-halving",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Fourth halving: Block 840,000, 20 April 2024, reward 3.125 BTC",
      "sourceIds": [
        "source-0076a66a2b1bb159"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0076a66a2b1bb159",
          "locator": "JSON fields height, timestamp, id; block height 840000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-announced",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Announced: 8 January 2009, in Satoshi’s release email: “Total circulation will be 21,000,000 coins”",
      "sourceIds": [
        "source-65a3ee6e86d8dee8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-65a3ee6e86d8dee8",
          "locator": "Satoshi’s announcement stating total circulation of 21,000,000 coins, the amount cut in half every four years, and the first four-year amounts."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "bitcoin-halving-explained-fact-next-halving",
      "articleSlug": "bitcoin-halving-explained",
      "statement": "Next halving: Block 1,050,000",
      "sourceIds": [
        "source-0edb471176022b9a",
        "source-0076a66a2b1bb159"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0edb471176022b9a",
          "locator": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings."
        },
        {
          "sourceId": "source-0076a66a2b1bb159",
          "locator": "JSON fields height, timestamp, id; block height 840000"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Read GetBlockSubsidy and ConnectBlock reward limit in independently fetched Core source; verified allowed reward is fees plus subsidy and the limit rejects excess.",
          "Recomputed 3.125 + 0.20 = 3.325 BTC in integer satoshis. Added direct reward-code citations; the fee input is illustrative and no market-price response is predicted."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-quick-answer",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Satoshi Nakamoto is the name used by the author of Bitcoin’s white paper and early software and by the correspondent who helped launch the network. The cited documents establish that work, but do not establish a real-world identity. In 2024 the High Court in England and Wales found that Craig Wright was not Satoshi and did not author the white paper or create Bitcoin; that finding does not identify Satoshi.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-3b2093a917ce29fa",
        "source-d3887d90ffbf6c0d",
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The paper itself: the title, the author line giving only the name, a gmx.com address and www.bitcoin.org, and the abstract describing a purely peer-to-peer version of electronic cash."
        },
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 announcement of the paper, giving the bitcoin.org link and describing a fully peer-to-peer cash system with no trusted third party."
        },
        {
          "sourceId": "source-d3887d90ffbf6c0d",
          "locator": "Finney’s account of running the first release, receiving ten coins from Satoshi as a test, his ALS diagnosis, and his impression that Satoshi was a young man of Japanese ancestry."
        },
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: the four declarations announced on 14 March 2024, the findings that Dr Wright lied extensively and forged documents on a grand scale, the uncontested history of Satoshi delegating the project to Gavin Andresen in April 2011, and Andresen’s deposition evidence about the original code."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-white-paper-announced",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "White paper announced: 31 October 2008, on the Cryptography mailing list",
      "sourceIds": [
        "source-3b2093a917ce29fa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 announcement of the paper, giving the bitcoin.org link and describing a fully peer-to-peer cash system with no trusted third party."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-author-line-on-the-paper",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Author line on the paper: “Satoshi Nakamoto,” a webmail address and www.bitcoin.org; nothing else",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The paper itself: the title, the author line giving only the name, a gmx.com address and www.bitcoin.org, and the abstract describing a purely peer-to-peer version of electronic cash."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-software-publicized",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Software publicized: 11 February 2009, on the P2P Foundation forum",
      "sourceIds": [
        "source-7e23b97c38076d96"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7e23b97c38076d96",
          "locator": "The 11 February 2009 post announcing the released software as a new open source P2P e-cash system, with a link to the original P2P Foundation page."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-handed-over",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Handed over: Around April 2011, to developer Gavin Andresen, per High Court findings",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: the four declarations announced on 14 March 2024, the findings that Dr Wright lied extensively and forged documents on a grand scale, the uncontested history of Satoshi delegating the project to Gavin Andresen in April 2011, and Andresen’s deposition evidence about the original code."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-craig-wright",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Craig Wright: Declared not to be Satoshi by the High Court on 14 March 2024",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: the four declarations announced on 14 March 2024, the findings that Dr Wright lied extensively and forged documents on a grand scale, the uncontested history of Satoshi delegating the project to Gavin Andresen in April 2011, and Andresen’s deposition evidence about the original code."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "who-is-satoshi-nakamoto-fact-early-mined-coins",
      "articleSlug": "who-is-satoshi-nakamoto",
      "statement": "Early mined coins: Lerner’s 2013 by-eye estimate was roughly one million BTC in a disputed early-miner set; the unspent observation was made then",
      "sourceIds": [
        "source-c69624dca898aa35"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c69624dca898aa35",
          "locator": "The original analysis of the early mining pattern, its eyeball estimate of around a million coins, its stated uncertainty about attribution, and its observation that the coins had not been spent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the white paper, announcement, Finney’s firsthand account and the 2024 judgment. New evidence-reading section, description, heading and nationality FAQ separate pseudonymous documents, impressions, mining attribution and real-world identity. The judgment is not used to identify another person."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-quick-answer",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Satoshi stopped posting to the BitcoinTalk account in December 2010 while other developers took on project management. In the published exchange with Mike Hearn, Satoshi wrote on 23 April 2011 that they had moved on to other things. Court findings also record a transfer of the alert key to Gavin Andresen on 26 April 2011. These records describe a handover; they do not establish a motive for leaving or a present location.",
      "sourceIds": [
        "source-ae868bd8a78051fe",
        "source-cb7fe948812ddca2",
        "source-2eb5ec59b44cb060",
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ae868bd8a78051fe",
          "locator": "Satoshi’s last public forum post, dated 12 December 2010, announcing version 0.3.19 with denial-of-service controls and the removal of safe mode alerts."
        },
        {
          "sourceId": "source-cb7fe948812ddca2",
          "locator": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow."
        },
        {
          "sourceId": "source-2eb5ec59b44cb060",
          "locator": "The April 2011 exchange in which Hearn asks whether Satoshi will rejoin the community and Satoshi replies on 23 April that he has moved on to other things and the project is in good hands with Gavin."
        },
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "Paragraph 23.11 records, as uncontested history, that Satoshi delegated the lead core developer role to Gavin Andresen in around April 2011 and transferred a file containing the network alert key on 26 April 2011."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-the-wikileaks-remark",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "The WikiLeaks remark: 11 December 2010: “WikiLeaks has kicked the hornet’s nest”",
      "sourceIds": [
        "source-aa5af542b326017b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-aa5af542b326017b",
          "locator": "The 11 December 2010 post saying it would have been nice to get the attention in any other context and that WikiLeaks had kicked the hornet’s nest, with a link to the original thread."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-last-bitcointalk-post",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Last BitcoinTalk post: Last post in the cited Satoshi BitcoinTalk account: 12 December 2010, announcing version 0.3.19",
      "sourceIds": [
        "source-ae868bd8a78051fe"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ae868bd8a78051fe",
          "locator": "Satoshi’s last public forum post, dated 12 December 2010, announcing version 0.3.19 with denial-of-service controls and the removal of safe mode alerts."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-handover-announced",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Handover announced: 19 December 2010: Gavin Andresen, “with Satoshi’s blessing”",
      "sourceIds": [
        "source-cb7fe948812ddca2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb7fe948812ddca2",
          "locator": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-last-email-in-hearn-s-published-exchange",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Last email in Hearn’s published exchange: 23 April 2011, to Mike Hearn: “I’ve moved on to other things”",
      "sourceIds": [
        "source-2eb5ec59b44cb060"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2eb5ec59b44cb060",
          "locator": "The April 2011 exchange in which Hearn asks whether Satoshi will rejoin the community and Satoshi replies on 23 April that he has moved on to other things and the project is in good hands with Gavin."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-alert-key-transferred",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Alert key transferred: 26 April 2011, to Gavin Andresen, per High Court findings",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "Paragraph 23.11 records, as uncontested history, that Satoshi delegated the lead core developer role to Gavin Andresen in around April 2011 and transferred a file containing the network alert key on 26 April 2011."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-alert-system-retired",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Alert system retired: Final alert broadcast 19 January 2017",
      "sourceIds": [
        "source-0a41cbf91d6da692"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0a41cbf91d6da692",
          "locator": "Explains that the alert system was created by Satoshi Nakamoto to inform users, why it was retired as a source of centralization, that the final alert was broadcast on 19 January 2017, and that Bitcoin Core 0.14 hard-coded it in March 2017."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "satoshi-nakamoto-disappearance-fact-early-mined-coins",
      "articleSlug": "satoshi-nakamoto-disappearance",
      "statement": "Early mined coins: Unspent, as far as the eye could see, in 2013",
      "sourceIds": [
        "source-c69624dca898aa35"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c69624dca898aa35",
          "locator": "The original analysis of the early mining pattern, its eyeball estimate of around a million coins, its caveats about attribution, and its observation that the entity had not spent any coins."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked Hearn's published exchange, final forum records, project-management handover, COPA history and alert retirement. The 23 April email is the last in that exchange, not proof of the last communication overall."
        ]
      }
    },
    {
      "id": "hal-finney-quick-answer",
      "articleSlug": "hal-finney",
      "statement": "Hal Finney was a cryptographer and PGP developer who created RPOW in 2004. In his own 2013 account, he recalled being the first person besides Satoshi to run Bitcoin and receiving ten BTC as a test. The transaction is recorded in block 170; identifying its participants also relies on his account. He wrote about his August 2009 ALS diagnosis, and Alcor records his death and cryopreservation on 28 August 2014.",
      "sourceIds": [
        "source-d3887d90ffbf6c0d",
        "source-7628191a585097d9",
        "source-98101e92bfb927c7",
        "source-54a1b3d9004d80e0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3887d90ffbf6c0d",
          "locator": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis."
        },
        {
          "sourceId": "source-7628191a585097d9",
          "locator": "The archived RPOW pages: a prototype digital cash built on proof-of-work tokens, based on Nick Szabo’s theory of collectibles, with servers intended to run on the IBM 4758 secure cryptographic coprocessor."
        },
        {
          "sourceId": "source-98101e92bfb927c7",
          "locator": "Machine-readable record confirming block height 170, block time 1231731025 (12 January 2009 03:30 UTC), size 275 bytes, zero fee, a 5,000,000,000-satoshi input and outputs of 1,000,000,000 and 4,000,000,000 satoshis."
        },
        {
          "sourceId": "source-54a1b3d9004d80e0",
          "locator": "Alcor’s own case record: legal death on 28 August 2014 at 8:50 am in Scottsdale, Arizona, aged 58; Alcor’s 128th patient; arrangements in place for over twenty years; his choice to discontinue life support once ALS took his ability to communicate; and a short biography."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-born",
      "articleSlug": "hal-finney",
      "statement": "Born: 4 May 1956",
      "sourceIds": [
        "source-0575773d927ff8db",
        "source-a72ee5faa6c21c54"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0575773d927ff8db",
          "locator": "Reporting that gives his birth and death dates, the 10 January 2009 tweet, his PGP Corporation work, the 2004 RPOW system, and his continued programming with eye-tracking software after ALS paralyzed much of his body."
        },
        {
          "sourceId": "source-a72ee5faa6c21c54",
          "locator": "Biographical note giving his dates (4 May 1956 to 28 August 2014), his PGP Corporation work, the first anonymous remailer, RPOW, the first Bitcoin transaction, his death from ALS and cryopreservation by Alcor, plus his dated essays from 1992 to 2004."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-before-bitcoin",
      "articleSlug": "hal-finney",
      "statement": "Before Bitcoin: Early PGP developer; built RPOW, a reusable proof-of-work system, in 2004",
      "sourceIds": [
        "source-d3887d90ffbf6c0d",
        "source-7628191a585097d9",
        "source-a72ee5faa6c21c54"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3887d90ffbf6c0d",
          "locator": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis."
        },
        {
          "sourceId": "source-7628191a585097d9",
          "locator": "The archived RPOW pages: a prototype digital cash built on proof-of-work tokens, based on Nick Szabo’s theory of collectibles, with servers intended to run on the IBM 4758 secure cryptographic coprocessor."
        },
        {
          "sourceId": "source-a72ee5faa6c21c54",
          "locator": "Biographical note giving his dates (4 May 1956 to 28 August 2014), his PGP Corporation work, the first anonymous remailer, RPOW, the first Bitcoin transaction, his death from ALS and cryopreservation by Alcor, plus his dated essays from 1992 to 2004."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-running-bitcoin",
      "articleSlug": "hal-finney",
      "statement": "“Running bitcoin”: Tweeted 10 January 2009 from @halfin",
      "sourceIds": [
        "source-0575773d927ff8db"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0575773d927ff8db",
          "locator": "Reporting that gives his birth and death dates, the 10 January 2009 tweet, his PGP Corporation work, the 2004 RPOW system, and his continued programming with eye-tracking software after ALS paralyzed much of his body."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-first-transaction",
      "articleSlug": "hal-finney",
      "statement": "First transaction: A 275-byte, zero-fee transaction in block 170 has outputs of 10 and 40 BTC; Finney’s memoir identifies the ten-coin test payment",
      "sourceIds": [
        "source-98101e92bfb927c7",
        "source-d3887d90ffbf6c0d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-98101e92bfb927c7",
          "locator": "Machine-readable record confirming block height 170, block time 1231731025 (12 January 2009 03:30 UTC), size 275 bytes, zero fee, a 5,000,000,000-satoshi input and outputs of 1,000,000,000 and 4,000,000,000 satoshis."
        },
        {
          "sourceId": "source-d3887d90ffbf6c0d",
          "locator": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-als-diagnosis",
      "articleSlug": "hal-finney",
      "statement": "ALS diagnosis: August 2009",
      "sourceIds": [
        "source-d3887d90ffbf6c0d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3887d90ffbf6c0d",
          "locator": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-died",
      "articleSlug": "hal-finney",
      "statement": "Died: 28 August 2014, aged 58, in Scottsdale, Arizona",
      "sourceIds": [
        "source-54a1b3d9004d80e0",
        "source-cab6b04b2c11947e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-54a1b3d9004d80e0",
          "locator": "Alcor’s own case record: legal death on 28 August 2014 at 8:50 am in Scottsdale, Arizona, aged 58; Alcor’s 128th patient; arrangements in place for over twenty years; his choice to discontinue life support once ALS took his ability to communicate; and a short biography."
        },
        {
          "sourceId": "source-cab6b04b2c11947e",
          "locator": "Local reporting of his death on 28 August 2014 at 58, the August 2009 diagnosis, his PGP work, his Santa Barbara home, and the cryogenic preservation carried out in Arizona per his wishes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "hal-finney-fact-cryopreserved",
      "articleSlug": "hal-finney",
      "statement": "Cryopreserved: Alcor’s 128th patient, the same day",
      "sourceIds": [
        "source-54a1b3d9004d80e0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-54a1b3d9004d80e0",
          "locator": "Alcor’s own case record: legal death on 28 August 2014 at 8:50 am in Scottsdale, Arizona, aged 58; Alcor’s 128th patient; arrangements in place for over twenty years; his choice to discontinue life support once ALS took his ability to communicate; and a short biography."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the 2013 firsthand account and independently retrieved block-170 transaction. Ten and forty BTC outputs sum to the fifty BTC input with no fee. Revised title, heading and FAQs attribute participation and identity context to the account rather than to names embedded in the transaction."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-quick-answer",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Craig Wright is an Australian-born IT security specialist who claimed from 2016 to be Satoshi Nakamoto. In a case brought by the Crypto Open Patent Alliance (COPA), Mr Justice Mellor ruled on 14 March 2024 that Wright is not Satoshi, did not write the white paper and did not create Bitcoin. His written judgment found he had lied extensively and forged documents on a grand scale. In December 2024 he was found in contempt and given a suspended sentence.",
      "sourceIds": [
        "source-093fde3b744b0944",
        "source-e6c3d85dc0018f1c",
        "source-533f10cb69c126ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        },
        {
          "sourceId": "source-e6c3d85dc0018f1c",
          "locator": "Finds each of COPA’s five grounds of contempt proved to the criminal standard, describes the £911 billion claim filed on 10 October 2024 and the 9 October posts announcing it, and records that Dr Wright declined to appear at the 18 December hearing."
        },
        {
          "sourceId": "source-533f10cb69c126ef",
          "locator": "Imposes twelve months’ imprisonment suspended for two years, to be activated on any further breach of the 16 July 2024 order, notes that Dr Wright lives outside the jurisdiction, and orders an interim costs payment of £145,000 within 14 days."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-public-claim",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Public claim: 2 May 2016, to the BBC, the Economist and GQ",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-copa-sued",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "COPA sued: 2021, seeking a declaration that Wright did not write the white paper",
      "sourceIds": [
        "source-8cd923a3e534b119",
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8cd923a3e534b119",
          "locator": "Same-day reporting of the oral ruling, quoting the judge’s four declarations and describing COPA’s 2021 lawsuit to stop Wright claiming rights over Bitcoin or suing developers."
        },
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-trial",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Trial: 5 February to 14 March 2024, 22 sitting days, before Mr Justice Mellor",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-oral-ruling",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Oral ruling: 14 March 2024: four declarations, evidence “overwhelming”",
      "sourceIds": [
        "source-093fde3b744b0944",
        "source-89d802fcc27a4ae3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        },
        {
          "sourceId": "source-89d802fcc27a4ae3",
          "locator": "COPA’s same-day statement listing the four findings announced in court and calling the decision a win for developers, the open source community and the truth."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-written-judgment",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Written judgment: 20 May 2024: Wright “lied to the Court extensively and repeatedly”",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "The written judgment: its summary finding that Dr Wright lied extensively and forged documents on a grand scale, the four declarations made on Day 22 (14 March 2024), Dr Wright’s uncontested background, the 2016 proof sessions and Sartre post, the expert evidence on how signing sessions can be spoofed, and the trial dates."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-injunctions-and-referral",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Injunctions and referral: 16 July 2024: anti-suit and anti-threat orders; papers sent to prosecutors",
      "sourceIds": [
        "source-2f23d77efa2c6e4a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2f23d77efa2c6e4a",
          "locator": "The 16 July 2024 judgment setting out the anti-suit and anti-threat injunctions, quoting COPA’s self-description as a non-profit, dismissing the BTC Core claim, and referring the papers on Dr Wright and Mr Matthews to the Crown Prosecution Service."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-contempt",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Contempt: 19 December 2024: five grounds proved beyond reasonable doubt",
      "sourceIds": [
        "source-e6c3d85dc0018f1c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e6c3d85dc0018f1c",
          "locator": "Finds each of COPA’s five grounds of contempt proved to the criminal standard, describes the £911 billion claim filed on 10 October 2024 and the 9 October posts announcing it, and records that Dr Wright declined to appear at the 18 December hearing."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "craig-wright-copa-ruling-fact-sentence",
      "articleSlug": "craig-wright-copa-ruling",
      "statement": "Sentence: 20 December 2024: 12 months’ imprisonment, suspended for two years",
      "sourceIds": [
        "source-533f10cb69c126ef"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-533f10cb69c126ef",
          "locator": "Imposes twelve months’ imprisonment suspended for two years, to be activated on any further breach of the 16 July 2024 order, notes that Dr Wright lives outside the jurisdiction, and orders an interim costs payment of £145,000 within 14 days."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read official May and July judgments, December contempt liability judgment and sentencing decision. Distinguished the March oral declarations from the May written reasons and the dated December liability/sentence decisions."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-quick-answer",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Gavin Andresen announced a Bitcoin faucet offering five BTC per visitor on 11 June 2010. It helped newcomers obtain coins for experiments. In December 2010 he publicly took on project management with Satoshi’s blessing. The 2024 COPA judgment records Satoshi’s transfer of the alert key to him on 26 April 2011, and later examines his mistaken support for Craig Wright’s identity claim.",
      "sourceIds": [
        "source-854bf5f019373a81",
        "source-cb7fe948812ddca2",
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-854bf5f019373a81",
          "locator": "Andresen’s 11 June 2010 announcement of five bitcoin per customer from an initial stock of 1,100, and Satoshi’s 18 June reply calling it an excellent first project and suggesting a visible balance and rotating donation addresses."
        },
        {
          "sourceId": "source-cb7fe948812ddca2",
          "locator": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow."
        },
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "Records the April 2011 delegation and alert key transfer to Andresen, his 29 March 2016 request list, the early April 2016 proof session, the 2 May 2016 blog posts, and expert agreement that the sessions could be spoofed and the public post was not a genuine proof."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-faucet-launched",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Faucet launched: 11 June 2010: “Five ฿ per customer,” seeded with 1,100 bitcoin",
      "sourceIds": [
        "source-854bf5f019373a81"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-854bf5f019373a81",
          "locator": "Andresen’s 11 June 2010 announcement of five bitcoin per customer from an initial stock of 1,100, and Satoshi’s 18 June reply calling it an excellent first project and suggesting a visible balance and rotating donation addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-satoshi-s-verdict",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Satoshi’s verdict: 18 June 2010: “Excellent choice of a first project, nice work”",
      "sourceIds": [
        "source-854bf5f019373a81"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-854bf5f019373a81",
          "locator": "Andresen’s 11 June 2010 announcement of five bitcoin per customer from an initial stock of 1,100, and Satoshi’s 18 June reply calling it an excellent first project and suggesting a visible balance and rotating donation addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-anti-cheating-changes",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Anti-cheating changes: 23 June 2010: captchas for suspicious requests",
      "sourceIds": [
        "source-8a33f080fa404205"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a33f080fa404205",
          "locator": "Andresen’s 23 June 2010 report of repeat claims from the same address ranges, his captcha response and the 0.05 bitcoin nickel idea, and Satoshi’s 26 June suggestion of a minimum interval per address block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-faucet-closed",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Faucet closed: 2012, after cutting the amount as bitcoin gained value",
      "sourceIds": [
        "source-55e45fd102409801"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-55e45fd102409801",
          "locator": "Profile covering the faucet’s five free bitcoins and its 2012 closure, Satoshi putting Andresen’s email on the homepage, the December 2010 handover, the 2012 Bitcoin Foundation and his $209,648 pay in 2013, his Amherst home office, and van der Laan taking over as core maintainer in April 2014."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-took-over-project-management",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Took over project management: 19 December 2010, “with Satoshi’s blessing”",
      "sourceIds": [
        "source-cb7fe948812ddca2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cb7fe948812ddca2",
          "locator": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-alert-key-received",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "Alert key received: 26 April 2011, per High Court findings",
      "sourceIds": [
        "source-093fde3b744b0944"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "Records the April 2011 delegation and alert key transfer to Andresen, his 29 March 2016 request list, the early April 2016 proof session, the 2 May 2016 blog posts, and expert agreement that the sessions could be spoofed and the public post was not a genuine proof."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-bip-101",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "BIP 101: 22 June 2015: blocks of 8 million bytes, doubling every two years",
      "sourceIds": [
        "source-34af52185bacf16a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-34af52185bacf16a",
          "locator": "The proposal text: replace the fixed one-megabyte limit with a size that grows predictably, starting at 8 million bytes in January 2016 and doubling every two years through 2036; status Closed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "gavin-andresen-and-the-bitcoin-faucet-fact-on-craig-wright",
      "articleSlug": "gavin-andresen-and-the-bitcoin-faucet",
      "statement": "On Craig Wright: Backed him on 2 May 2016; called it a mistake in February 2023",
      "sourceIds": [
        "source-093fde3b744b0944",
        "source-b6ec69ccbc5969f3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-093fde3b744b0944",
          "locator": "Records the April 2011 delegation and alert key transfer to Andresen, his 29 March 2016 request list, the early April 2016 proof session, the 2 May 2016 blog posts, and expert agreement that the sessions could be spoofed and the public post was not a genuine proof."
        },
        {
          "sourceId": "source-b6ec69ccbc5969f3",
          "locator": "Crypto-press reporting of the February 2023 note Andresen added to his 2016 post, quoting him that it was a mistake to trust Craig Wright and that he regretted getting sucked into the who-is-Satoshi game."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked original faucet and management forum posts, BIP101 and the COPA judgment; faucet quantities and alert-key handover are tied to their dated records."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-quick-answer",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Cypherpunk writers argued that people should be able to protect privacy through cryptography and working software. Eric Hughes’s 1993 manifesto explicitly connects privacy with anonymous transaction systems. Before Bitcoin, proposals such as blind-signature cash, Hashcash, b-money and bit gold explored different parts of digital cash. Bitcoin’s paper and announcement combine related ideas; this intellectual history does not identify Satoshi.",
      "sourceIds": [
        "source-f0f3e8747f961cbb",
        "source-d9548fea45172703",
        "source-42b702488d4e29bb",
        "source-0869ce97dfbea546",
        "source-fd7632902d4689ac",
        "source-3b2093a917ce29fa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f0f3e8747f961cbb",
          "locator": "The 9 March 1993 text: privacy is not secrecy, privacy requires anonymous transaction systems, cash has been the primary one, and cypherpunks write code."
        },
        {
          "sourceId": "source-d9548fea45172703",
          "locator": "The paper’s introduction on what third parties learn from payment records, the carbon-paper envelope analogy, and the blind-signature protocol."
        },
        {
          "sourceId": "source-42b702488d4e29bb",
          "locator": "States that Hashcash was proposed in May 1997 to throttle abuse of email and anonymous remailers, defines the cost-function, and calls its token a proof-of-work."
        },
        {
          "sourceId": "source-0869ce97dfbea546",
          "locator": "The November 1998 proposal: the crypto-anarchy opening, money created by broadcasting solutions to computational problems, two protocols, and the admission that the first is impractical."
        },
        {
          "sourceId": "source-fd7632902d4689ac",
          "locator": "The proposal’s trust-in-a-third-party opening, its seven steps (challenge string, proof of work, timestamps, title registry), and the non-fungibility caveat; the URL is filed under December 2005 while the page shows 27 December 2008."
        },
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 email (14:10 EDT) announcing the paper, with its list of properties including no trusted third party, no mint, and Hashcash-style proof of work."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-founding-meeting",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Founding meeting: September 1992, where Tim May’s Crypto Anarchist Manifesto was read aloud",
      "sourceIds": [
        "source-62e554bf1a3622d3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-62e554bf1a3622d3",
          "locator": "The manifesto text plus its distribution notes: written mid-1988, handed out at Crypto ’88, read at the September 1992 founding meeting, posted 22 November 1992."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-the-manifesto",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "The manifesto: “A Cypherpunk’s Manifesto,” Eric Hughes, 9 March 1993",
      "sourceIds": [
        "source-f0f3e8747f961cbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f0f3e8747f961cbb",
          "locator": "The 9 March 1993 text: privacy is not secrecy, privacy requires anonymous transaction systems, cash has been the primary one, and cypherpunks write code."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-untraceable-payments",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Untraceable payments: David Chaum’s blind-signature paper, 1982; first electronic cash payment 27 May 1994",
      "sourceIds": [
        "source-d9548fea45172703",
        "source-6f80f3e726f33077"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d9548fea45172703",
          "locator": "The paper’s introduction on what third parties learn from payment records, the carbon-paper envelope analogy, and the blind-signature protocol."
        },
        {
          "sourceId": "source-6f80f3e726f33077",
          "locator": "Dates the blind-signature paper to 1982, records the first electronic cash payment on 27 May 1994, and lists DigiCash bank partnerships including Mark Twain Bank (1995), Deutsche Bank (1996) and Credit Suisse (1998)."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-hashcash",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Hashcash: Proposed by Adam Back in May 1997 to throttle email abuse; paper dated 1 August 2002",
      "sourceIds": [
        "source-42b702488d4e29bb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-42b702488d4e29bb",
          "locator": "States that Hashcash was proposed in May 1997 to throttle abuse of email and anonymous remailers, defines the cost-function, and calls its token a proof-of-work."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-b-money",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "b-money: Wei Dai, November 1998: money created by solving computational problems",
      "sourceIds": [
        "source-0869ce97dfbea546"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0869ce97dfbea546",
          "locator": "The November 1998 proposal: the crypto-anarchy opening, money created by broadcasting solutions to computational problems, two protocols, and the admission that the first is impractical."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-bit-gold",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Bit gold: Nick Szabo’s blog post, filed under December 2005 and dated December 2008 on the page",
      "sourceIds": [
        "source-fd7632902d4689ac"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fd7632902d4689ac",
          "locator": "The proposal’s trust-in-a-third-party opening, its seven steps (challenge string, proof of work, timestamps, title registry), and the non-fungibility caveat; the URL is filed under December 2005 while the page shows 27 December 2008."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "cypherpunks-before-bitcoin-fact-bitcoin-announced",
      "articleSlug": "cypherpunks-before-bitcoin",
      "statement": "Bitcoin announced: 31 October 2008, on the cryptography mailing list at metzdowd.com",
      "sourceIds": [
        "source-3b2093a917ce29fa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 email (14:10 EDT) announcing the paper, with its list of properties including no trusted third party, no mint, and Hashcash-style proof of work."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Hughes, the Chaum paper (including rasterized pages 1 and 3), Hashcash, b-money, and Szabo’s bit-gold proposal. The new comparison distinguishes blinded signatures, computational costs and digital-value records; it does not identify Satoshi or claim these proposals were Bitcoin implementations."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-quick-answer",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "The Bitcoin white paper is Satoshi Nakamoto’s nine-page design for peer-to-peer electronic cash, announced on 31 October 2008. It explains how proof of work and a shared transaction history can resolve conflicting spends without a central mint. Its security argument depends on assumptions about honest and attacking computing power; it does not guarantee that payments can never be reversed.",
      "sourceIds": [
        "source-0e46aca4dbc5a030",
        "source-3b2093a917ce29fa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The nine-page paper itself: abstract, twelve sections, the six network steps, the incentive and privacy arguments, the attacker-probability table, and eight references."
        },
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 announcement email with the link to bitcoin.org/bitcoin.pdf and its summary of the design."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-title",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "Title: “Bitcoin: A Peer-to-Peer Electronic Cash System”",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The nine-page paper itself: abstract, twelve sections, the six network steps, the incentive and privacy arguments, the attacker-probability table, and eight references."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-announced",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "Announced: 31 October 2008, by email to the cryptography mailing list at metzdowd.com",
      "sourceIds": [
        "source-3b2093a917ce29fa"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3b2093a917ce29fa",
          "locator": "The 31 October 2008 announcement email with the link to bitcoin.org/bitcoin.pdf and its summary of the design."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-length",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "Length: Nine pages, twelve numbered sections, eight references",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "The nine-page paper itself: abstract, twelve sections, the six network steps, the incentive and privacy arguments, the attacker-probability table, and eight references."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-first-objection",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "First objection: 2 November 2008, James A. Donald: it “does not seem to scale to the required size”",
      "sourceIds": [
        "source-9f79f114543c7e84"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9f79f114543c7e84",
          "locator": "The 2 November 2008 reply: “We very, very much need such a system,” followed by the objection that it does not seem to scale."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-hal-finney-s-verdict",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "Hal Finney’s verdict: 7 November 2008: “Bitcoin seems to be a very promising idea”",
      "sourceIds": [
        "source-e3200297eb5976b9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e3200297eb5976b9",
          "locator": "Finney’s 7 November 2008 message calling Bitcoin “a very promising idea” and endorsing security based on honest CPU power outweighing an attacker."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "bitcoin-whitepaper-explained-fact-on-the-chain",
      "articleSlug": "bitcoin-whitepaper-explained",
      "statement": "On the chain: The PDF was written into block 230,009 on 6 April 2013",
      "sourceIds": [
        "source-4cb85d36c6fb6e3c",
        "source-822e63ba1d0ab1ba"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4cb85d36c6fb6e3c",
          "locator": "Confirms the white-paper transaction in block 230,009 with block time 1365280090, which is 6 April 2013 at 20:28:10 UTC."
        },
        {
          "sourceId": "source-822e63ba1d0ab1ba",
          "locator": "Documents that the Bitcoin paper PDF is stored in transaction 54e48e…e713 using data encoded in place of public keys, alongside other embedded files."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the nine-page paper, sections 2, 4, 5, 6, 10 and 11, and the original October 2008 announcement. Revised answer and privacy heading retain honest-work assumptions and avoid guaranteed irreversibility. The paper does not give the 21-million cap or a block-by-block subsidy schedule."
        ]
      }
    },
    {
      "id": "genesis-block-explained-quick-answer",
      "articleSlug": "genesis-block-explained",
      "statement": "The genesis block is Bitcoin mainnet’s fixed starting block, at height 0, with a header timestamp of 3 January 2009. Its encoded contents include a Times headline about a bank bailout. The original 50 BTC output is not in the spendable-output database and cannot be spent under the current rules. Later payments to the associated address are ordinary outputs: their spendability depends on satisfying their locking conditions, including possession of the key.",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-b012dc188a4eb3bd",
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Builds the mainnet genesis block from the Times headline string, time 1231006505, nonce 2083236893, bits 0x1d00ffff, version 1 and a 50-coin reward; asserts its hash; and notes the output cannot be spent because it did not originally exist in the database."
        },
        {
          "sourceId": "source-b012dc188a4eb3bd",
          "locator": "The early implementation’s “Genesis Block” section with the same pszTimestamp headline, 50 * COIN reward, nTime, nBits and nNonce values, and the hash assertion."
        },
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Height 0, timestamp 1231006505, one transaction, 285 bytes, version 1, difficulty 1, nonce 2083236893, and a null previous-block hash."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-timestamp",
      "articleSlug": "genesis-block-explained",
      "statement": "Timestamp: 3 January 2009, 18:15:05 UTC (Unix time 1231006505)",
      "sourceIds": [
        "source-691e2f1a1d0a41de",
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Height 0, timestamp 1231006505, one transaction, 285 bytes, version 1, difficulty 1, nonce 2083236893, and a null previous-block hash."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Builds the mainnet genesis block from the Times headline string, time 1231006505, nonce 2083236893, bits 0x1d00ffff, version 1 and a 50-coin reward; asserts its hash; and notes the output cannot be spent because it did not originally exist in the database."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-headline-in-the-coinbase",
      "articleSlug": "genesis-block-explained",
      "statement": "Headline in the coinbase: “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-b012dc188a4eb3bd"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Builds the mainnet genesis block from the Times headline string, time 1231006505, nonce 2083236893, bits 0x1d00ffff, version 1 and a 50-coin reward; asserts its hash; and notes the output cannot be spent because it did not originally exist in the database."
        },
        {
          "sourceId": "source-b012dc188a4eb3bd",
          "locator": "The early implementation’s “Genesis Block” section with the same pszTimestamp headline, 50 * COIN reward, nTime, nBits and nNonce values, and the hash assertion."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-reward",
      "articleSlug": "genesis-block-explained",
      "statement": "Reward: 50 BTC, never spendable",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-d2c36e64f08016f8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Builds the mainnet genesis block from the Times headline string, time 1231006505, nonce 2083236893, bits 0x1d00ffff, version 1 and a 50-coin reward; asserts its hash; and notes the output cannot be spent because it did not originally exist in the database."
        },
        {
          "sourceId": "source-d2c36e64f08016f8",
          "locator": "Community reference on the headline as proof of date and commentary, the unspendable reward as a code quirk of unknown intent, the extra leading zeros in the hash, and the “full 6 days” gap to block 1."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-size",
      "articleSlug": "genesis-block-explained",
      "statement": "Size: 285 bytes, containing one transaction",
      "sourceIds": [
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Height 0, timestamp 1231006505, one transaction, 285 bytes, version 1, difficulty 1, nonce 2083236893, and a null previous-block hash."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-previous-block",
      "articleSlug": "genesis-block-explained",
      "statement": "Previous block: None; the explorer records the field as null",
      "sourceIds": [
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "Height 0, timestamp 1231006505, one transaction, 285 bytes, version 1, difficulty 1, nonce 2083236893, and a null previous-block hash."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-next-block",
      "articleSlug": "genesis-block-explained",
      "statement": "Next block: Block 1, 9 January 2009, 02:54:25 UTC",
      "sourceIds": [
        "source-4bf68b40049b1955"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4bf68b40049b1955",
          "locator": "Height 1, timestamp 1231469665 (9 January 2009, 02:54:25 UTC), with block 0’s hash as its previous block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "genesis-block-explained-fact-later-donations",
      "articleSlug": "genesis-block-explained",
      "statement": "Later donations: Later outputs paid to the associated address are distinct from the original unspendable 50 BTC output",
      "sourceIds": [
        "source-13be72ee1dc96f82",
        "source-ce2dc46309b7ea01"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "Builds the mainnet genesis block from the Times headline string, time 1231006505, nonce 2083236893, bits 0x1d00ffff, version 1 and a 50-coin reward; asserts its hash; and notes the output cannot be spent because it did not originally exist in the database."
        },
        {
          "sourceId": "source-ce2dc46309b7ea01",
          "locator": "On 23 September 2026 showed 79,660 funded outputs across 66,563 transactions totaling 5,747,532,734 satoshis, with zero outputs spent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Checked pinned genesis code and fresh block-0/block-1 API records. The addition distinguishes the original excluded output from later separately locked outputs and treats header timestamps as recorded fields rather than measured mining effort."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-quick-answer",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Bitcoin Pizza Day commemorates 22 May 2010, when forum user laszlo reported completing a trade of 10,000 BTC for two pizzas and thanked jercos. The associated transaction is recorded in block 57,043. The forum supplies the purchase context; the transaction alone records amounts and spending conditions, not the word pizza or the parties’ identities.",
      "sourceIds": [
        "source-9d9bb346b95d833e",
        "source-062344462df2fda1",
        "source-f1ebc78fbff9198b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d9bb346b95d833e",
          "locator": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed."
        },
        {
          "sourceId": "source-062344462df2fda1",
          "locator": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos."
        },
        {
          "sourceId": "source-f1ebc78fbff9198b",
          "locator": "JSON vin, vout, fee, size and status fields."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-offer-posted",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Offer posted: 18 May 2010, on the BitcoinTalk forum",
      "sourceIds": [
        "source-9d9bb346b95d833e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d9bb346b95d833e",
          "locator": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-trade-reported",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Trade reported: 22 May 2010",
      "sourceIds": [
        "source-062344462df2fda1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-062344462df2fda1",
          "locator": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-price-paid",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Price paid: 10,000 BTC for two large pizzas",
      "sourceIds": [
        "source-9d9bb346b95d833e",
        "source-062344462df2fda1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d9bb346b95d833e",
          "locator": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed."
        },
        {
          "sourceId": "source-062344462df2fda1",
          "locator": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-buyer",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Buyer: Laszlo Hanyecz, forum user “laszlo”",
      "sourceIds": [
        "source-9d9bb346b95d833e",
        "source-9519d7b392c67aaf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d9bb346b95d833e",
          "locator": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed."
        },
        {
          "sourceId": "source-9519d7b392c67aaf",
          "locator": "Community reference stating that jercos ordered the pizzas and received the coins, that the coins were valued at about $41, and that 22 May is called Bitcoin Pizza Day."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-pizza-supplier",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Pizza supplier: Forum user “jercos”, who ordered the pizzas and received the coins",
      "sourceIds": [
        "source-062344462df2fda1",
        "source-9519d7b392c67aaf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-062344462df2fda1",
          "locator": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos."
        },
        {
          "sourceId": "source-9519d7b392c67aaf",
          "locator": "Community reference stating that jercos ordered the pizzas and received the coins, that the coins were valued at about $41, and that 22 May is called Bitcoin Pizza Day."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-on-chain-record",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "On-chain record: Confirmed in block 57,043",
      "sourceIds": [
        "source-f1ebc78fbff9198b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f1ebc78fbff9198b",
          "locator": "JSON vin, vout, fee, size and status fields."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "bitcoin-pizza-day-fact-value-at-the-time",
      "articleSlug": "bitcoin-pizza-day",
      "statement": "Value at the time: About $41, by the Bitcoin Wiki’s estimate",
      "sourceIds": [
        "source-9519d7b392c67aaf"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9519d7b392c67aaf",
          "locator": "Community reference stating that jercos ordered the pizzas and received the coins, that the coins were valued at about $41, and that 22 May is called Bitcoin Pizza Day."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read the original offer and May 22 completion report and retrieved the 10,000 BTC transaction in block 57,043. The guide separates the purchase context from on-chain amounts and avoids turning a later hypothetical valuation into a historical purchase price or realized loss."
        ]
      }
    },
    {
      "id": "hodl-meaning-quick-answer",
      "articleSlug": "hodl-meaning",
      "statement": "HODL is crypto slang for holding rather than selling. The expression began with GameKyuubi’s BitcoinTalk post titled “I AM HODLING” on 18 December 2013. It originated as a misspelling of “holding”; the later phrase “hold on for dear life” is a backronym, not the original expansion. Knowing the word’s history does not establish whether holding a particular asset is a good decision.",
      "sourceIds": [
        "source-29dee6ca885713a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-29dee6ca885713a2",
          "locator": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-the-post",
      "articleSlug": "hodl-meaning",
      "statement": "The post: “I AM HODLING,” 18 December 2013, BitcoinTalk, user GameKyuubi",
      "sourceIds": [
        "source-29dee6ca885713a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-29dee6ca885713a2",
          "locator": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-where",
      "articleSlug": "hodl-meaning",
      "statement": "Where: The forum’s Speculation board, under Economics",
      "sourceIds": [
        "source-29dee6ca885713a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-29dee6ca885713a2",
          "locator": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-first-echo",
      "articleSlug": "hodl-meaning",
      "statement": "First echo: A reply reading only “HODL!” three minutes later, from user elux",
      "sourceIds": [
        "source-29dee6ca885713a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-29dee6ca885713a2",
          "locator": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-the-year-s-prices",
      "articleSlug": "hodl-meaning",
      "statement": "The year’s prices: Bitcoin ended 2012 at about $13.55 and 2013 at about $729.56",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7",
        "source-283f4d3273c039e2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The site’s sourced year-end observations from Coin Metrics: $13.55 at the end of 2012, $729.56 at the end of 2013, and $320.66 at the end of 2014."
        },
        {
          "sourceId": "source-283f4d3273c039e2",
          "locator": "The upstream provider’s daily per-asset CSV files (CC BY-NC 4.0) from which the site’s year-end price observations are drawn."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-dictionary",
      "articleSlug": "hodl-meaning",
      "statement": "Dictionary: Dictionary.com: “First recorded in 2013; misspelling of hold”",
      "sourceIds": [
        "source-647b413abfd99680"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-647b413abfd99680",
          "locator": "Defines hodl as a verb meaning to avoid selling cryptocurrency or other assets over a long period, with the origin note “First recorded in 2013; misspelling of hold.”"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "hodl-meaning-fact-not-an-acronym",
      "articleSlug": "hodl-meaning",
      "statement": "Not an acronym: “Hold on for dear life” is a backronym added later",
      "sourceIds": [
        "source-1fad5f2c96219d66"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1fad5f2c96219d66",
          "locator": "Anniversary piece crediting piramida with the “I AM HODLING!” image from the film 300 and stating that HODL is not an acronym for “hold on (for) dear life.”"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read GameKyuubi’s original December 18, 2013 post. Revised answer and guidance distinguish the historical misspelling from later usage and investment recommendations; no performance forecast is added. The backronym distinction was also present in the previously verified baseline."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-quick-answer",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "In December 2010, after PayPal, Visa and Mastercard stopped processing donations to WikiLeaks, Bitcoin users suggested the organization accept bitcoin instead. Satoshi Nakamoto asked WikiLeaks not to, warning that the attention could destroy the young project, and wrote that WikiLeaks had “kicked the hornet’s nest.” WikiLeaks waited, then began accepting bitcoin donations in June 2011. Its donation page, retrieved on 2 October 2026, still listed Bitcoin.",
      "sourceIds": [
        "source-7cf6ff52d069a0df",
        "source-9000597c87d0396f",
        "source-9d2c76417b94a9d8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7cf6ff52d069a0df",
          "locator": "Archive of Satoshi’s 5 December 2010 forum post asking WikiLeaks not to use Bitcoin, with the “bring it on” message it replied to."
        },
        {
          "sourceId": "source-9000597c87d0396f",
          "locator": "WikiLeaks’ own account of the blockade: the five companies it names, the 7 December 2010 start date, the claim of 95 percent revenue lost, and the January 2011 Geithner statement."
        },
        {
          "sourceId": "source-9d2c76417b94a9d8",
          "locator": "States the donation address was launched on 14 June 2011, received its 4,000th bitcoin on 12 November 2016 across more than 25,000 transactions, and that most donations came in 2011 and 2012."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-blockade-began",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "Blockade began: December 2010; PayPal, Mastercard and Visa Europe had all suspended payments by 7 December",
      "sourceIds": [
        "source-923096815c1ba948",
        "source-9000597c87d0396f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-923096815c1ba948",
          "locator": "Contemporaneous report that Visa Europe suspended WikiLeaks payments on 7 December 2010, after Mastercard on 6 December and PayPal earlier, with the companies’ stated reasons."
        },
        {
          "sourceId": "source-9000597c87d0396f",
          "locator": "WikiLeaks’ own account of the blockade: the five companies it names, the 7 December 2010 start date, the claim of 95 percent revenue lost, and the January 2011 Geithner statement."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-satoshi-s-appeal",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "Satoshi’s appeal: 5 December 2010, on BitcoinTalk: “I make this appeal to WikiLeaks not to try to use Bitcoin”",
      "sourceIds": [
        "source-7cf6ff52d069a0df"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7cf6ff52d069a0df",
          "locator": "Archive of Satoshi’s 5 December 2010 forum post asking WikiLeaks not to use Bitcoin, with the “bring it on” message it replied to."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-the-hornet-s-nest-post",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "The “hornet’s nest” post: 11 December 2010, replying to a thread about a PCWorld article",
      "sourceIds": [
        "source-d3204a0ed5167883",
        "source-0a616a807da9e14a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d3204a0ed5167883",
          "locator": "Topic 2216, opened 11 December 2010; Satoshi’s reply that evening (message 29280) reads “WikiLeaks has kicked the hornet’s nest, and the swarm is headed towards us.”"
        },
        {
          "sourceId": "source-0a616a807da9e14a",
          "locator": "The mainstream article that tied Bitcoin to WikiLeaks, describing it as uncensorable short of turning off the internet and trading at about 20 cents."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-revenue-lost-to-the-blockade",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "Revenue lost to the blockade: 95 percent, by WikiLeaks’ own account",
      "sourceIds": [
        "source-9000597c87d0396f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9000597c87d0396f",
          "locator": "WikiLeaks’ own account of the blockade: the five companies it names, the 7 December 2010 start date, the claim of 95 percent revenue lost, and the January 2011 Geithner statement."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-wikileaks-adopted-bitcoin",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "WikiLeaks adopted bitcoin: 14 June 2011",
      "sourceIds": [
        "source-9d2c76417b94a9d8",
        "source-01591b4280dd05c6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d2c76417b94a9d8",
          "locator": "States the donation address was launched on 14 June 2011, received its 4,000th bitcoin on 12 November 2016 across more than 25,000 transactions, and that most donations came in 2011 and 2012."
        },
        {
          "sourceId": "source-01591b4280dd05c6",
          "locator": "Reports Assange’s Reddit statements that WikiLeaks agreed with Satoshi’s analysis, delayed bitcoin donations until June 2011, and that the two projects helped each other survive."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-coins-received-by-the-2011-address",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "Coins received by the 2011 address: Its 4,000th bitcoin arrived on 12 November 2016, across more than 25,000 transactions",
      "sourceIds": [
        "source-9d2c76417b94a9d8"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9d2c76417b94a9d8",
          "locator": "States the donation address was launched on 14 June 2011, received its 4,000th bitcoin on 12 November 2016 across more than 25,000 transactions, and that most donations came in 2011 and 2012."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "wikileaks-and-bitcoin-fact-today",
      "articleSlug": "wikileaks-and-bitcoin",
      "statement": "Today: WikiLeaks publishes a native SegWit bitcoin address alongside five other coins",
      "sourceIds": [
        "source-e31767acf2a4f560"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e31767acf2a4f560",
          "locator": "The current donation page, listing a native SegWit bitcoin address, five other cryptocurrencies, card and PayPal via the Wau Holland Foundation, and bank accounts in four countries."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Satoshi’s two original posts, WikiLeaks’ own blockade/donation pages and the attributed 2014/2016 historical reporting. Donation acceptance is documented as a published page observation on 2 October 2026, not a tested payment flow. The June 2011 start date is attributed to the cited historical account."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-quick-answer",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Silk Road was a hidden website, reachable only through Tor and paid for only in bitcoin, where users bought and sold illegal drugs and other contraband from January 2011 until the FBI shut it down in October 2013. Its founder, Ross Ulbricht, was convicted on seven counts in February 2015 and sentenced to life in prison that May. On 21 January 2025, President Trump granted him a full and unconditional pardon.",
      "sourceIds": [
        "source-53580512e825057b",
        "source-6d2d6df31e5e01b6",
        "source-8a41a908ea998d41",
        "source-11b56b350fce4e5f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-53580512e825057b",
          "locator": "Announces the 1 October 2013 arrest, the 30 September civil forfeiture action, the 29,655 and 144,336 bitcoin seizures, and the 9.5 million bitcoin sales figure."
        },
        {
          "sourceId": "source-6d2d6df31e5e01b6",
          "locator": "Issued the day after the verdict; lists the seven counts, their maximum penalties, the four-week trial before Judge Forrest, and the commissions figure of over $13 million."
        },
        {
          "sourceId": "source-8a41a908ea998d41",
          "locator": "The life sentence, the $183,961,921 forfeiture, Judge Forrest’s remarks, the six overdose deaths prosecutors cited, and the murder-for-hire allegations with no evidence any were carried out."
        },
        {
          "sourceId": "source-11b56b350fce4e5f",
          "locator": "The official list recording the 21 January 2025 pardon of Ross William Ulbricht, the sentence pardoned, and the offenses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-operated",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Operated: January 2011 to October 2013, on the Tor network, bitcoin only",
      "sourceIds": [
        "source-8a41a908ea998d41"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a41a908ea998d41",
          "locator": "The life sentence, the $183,961,921 forfeiture, Judge Forrest’s remarks, the six overdose deaths prosecutors cited, and the murder-for-hire allegations with no evidence any were carried out."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-arrest",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Arrest: 1 October 2013, San Francisco",
      "sourceIds": [
        "source-53580512e825057b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-53580512e825057b",
          "locator": "Announces the 1 October 2013 arrest, the 30 September civil forfeiture action, the 29,655 and 144,336 bitcoin seizures, and the 9.5 million bitcoin sales figure."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-coins-seized-in-2013",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Coins seized in 2013: About 173,991 bitcoin in total: 29,655 from the site’s servers and 144,336 from Ulbricht’s hardware",
      "sourceIds": [
        "source-53580512e825057b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-53580512e825057b",
          "locator": "Announces the 1 October 2013 arrest, the 30 September civil forfeiture action, the 29,655 and 144,336 bitcoin seizures, and the 9.5 million bitcoin sales figure."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-verdict",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Verdict: Guilty on all seven counts, February 2015, after a four-week trial",
      "sourceIds": [
        "source-6d2d6df31e5e01b6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-6d2d6df31e5e01b6",
          "locator": "Issued the day after the verdict; lists the seven counts, their maximum penalties, the four-week trial before Judge Forrest, and the commissions figure of over $13 million."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-sentence",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Sentence: Life in prison and forfeiture of $183,961,921, imposed 29 May 2015",
      "sourceIds": [
        "source-8a41a908ea998d41",
        "source-11b56b350fce4e5f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a41a908ea998d41",
          "locator": "The life sentence, the $183,961,921 forfeiture, Judge Forrest’s remarks, the six overdose deaths prosecutors cited, and the murder-for-hire allegations with no evidence any were carried out."
        },
        {
          "sourceId": "source-11b56b350fce4e5f",
          "locator": "The official list recording the 21 January 2025 pardon of Ross William Ulbricht, the sentence pardoned, and the offenses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-appeal",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Appeal: Conviction and sentence affirmed by the Second Circuit, 31 May 2017",
      "sourceIds": [
        "source-679993958d64a092"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-679993958d64a092",
          "locator": "Opinion filed 31 May 2017, pp. 1–3 and conclusion p. 139; conviction and sentence affirmed."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-individual-x-forfeiture",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "“Individual X” forfeiture: Coins stolen from Silk Road, seized 3 November 2020, worth over $1 billion the next day",
      "sourceIds": [
        "source-9c70952724669458"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9c70952724669458",
          "locator": "Announces the 3 November 2020 seizure of bitcoin stolen from Silk Road by “Individual X,” the 54 traced transactions, and the value of over $1 billion."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "silk-road-and-ross-ulbricht-fact-pardon",
      "articleSlug": "silk-road-and-ross-ulbricht",
      "statement": "Pardon: 21 January 2025, full and unconditional",
      "sourceIds": [
        "source-11b56b350fce4e5f",
        "source-6d0a135e79452831"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-11b56b350fce4e5f",
          "locator": "The official list recording the 21 January 2025 pardon of Ross William Ulbricht, the sentence pardoned, and the offenses."
        },
        {
          "sourceId": "source-6d0a135e79452831",
          "locator": "Reporting on the pardon with the full Truth Social post, the May 2024 Libertarian convention promise, the arrest at a library, and the “Free Ross” supporters’ position."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read substantive DOJ releases through the web reader where cached HTTP bodies were blank, the official Second Circuit opinion and clemency register. The contemporaneous 4 February verdict statement resolves a conflicting date in a later DOJ recap. Allegations, jury counts, sentence and pardon are distinguished."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-quick-answer",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "The 2016 Bitfinex breach moved approximately 119,754 BTC in more than 2,000 unauthorized transactions, according to the later US court filing. Bitfinex allocated losses across accounts and issued BFX tokens; issuing a claim token was different from redeeming it. In 2022 US authorities announced seizure of more than 94,000 BTC. Lichtenstein and Morgan pleaded guilty in 2023, with Lichtenstein admitting the hack and both admitting laundering-related conduct.",
      "sourceIds": [
        "source-c7ab494aef793e10",
        "source-a0eef339ff7ee604",
        "source-b9a93300c46259d5",
        "source-acfc70febccaed6c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7ab494aef793e10",
          "locator": "The agent’s affidavit: 119,754 bitcoin worth about $71 million, the January 2017 movements through AlphaBay, the majority dormant until 31 January 2022, the decrypted file of 2,000 addresses, and the seizure of about 94,636 bitcoin."
        },
        {
          "sourceId": "source-a0eef339ff7ee604",
          "locator": "Bitfinex’s own account: the 2 August 2016 breach, losses allocated across users, BFX tokens at $1 per dollar lost at 3 August settlement prices, the four redemption paths, and the security changes."
        },
        {
          "sourceId": "source-b9a93300c46259d5",
          "locator": "The 8 February 2022 arrests in Manhattan, the charges, 119,754 bitcoin in over 2,000 transactions, about 25,000 laundered and more than 94,000 seized at over $3.6 billion, and the laundering methods alleged."
        },
        {
          "sourceId": "source-acfc70febccaed6c",
          "locator": "The guilty pleas, Lichtenstein’s admission of the hack and log deletion, the named mixing services, the buried gold coins, and the additional $475 million seized."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-breach",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Breach: 2 August 2016",
      "sourceIds": [
        "source-a0eef339ff7ee604"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a0eef339ff7ee604",
          "locator": "Bitfinex’s own account: the 2 August 2016 breach, losses allocated across users, BFX tokens at $1 per dollar lost at 3 August settlement prices, the four redemption paths, and the security changes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-stolen",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Stolen: 119,754 bitcoin in more than 2,000 unauthorized transactions, about $71 million at the time",
      "sourceIds": [
        "source-c7ab494aef793e10"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7ab494aef793e10",
          "locator": "The agent’s affidavit: 119,754 bitcoin worth about $71 million, the January 2017 movements through AlphaBay, the majority dormant until 31 January 2022, the decrypted file of 2,000 addresses, and the seizure of about 94,636 bitcoin."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-customer-haircut",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Customer haircut: Bitfinex allocated approximately 36% losses and issued BFX tokens at a $1 face value per dollar lost; redemption was a later process",
      "sourceIds": [
        "source-a0eef339ff7ee604"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a0eef339ff7ee604",
          "locator": "Bitfinex’s own account: the 2 August 2016 breach, losses allocated across users, BFX tokens at $1 per dollar lost at 3 August settlement prices, the four redemption paths, and the security changes."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-tokens-redeemed",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Tokens redeemed: On 3 April 2017 the issuer announced final redemption of all still-outstanding BFX tokens; some holders had previously converted tokens to equity",
      "sourceIds": [
        "source-35a71e4255eb79cb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-35a71e4255eb79cb",
          "locator": "3 April 2017 issuer announcement: final redemption of outstanding BFX tokens; scheduled mechanics at 20:00 UTC; some holders had previously converted to equity."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-seizure",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Seizure: Wallet accessed 31 January 2022; about 94,636 bitcoin seized, over $3.6 billion at the time",
      "sourceIds": [
        "source-c7ab494aef793e10",
        "source-b9a93300c46259d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c7ab494aef793e10",
          "locator": "The agent’s affidavit: 119,754 bitcoin worth about $71 million, the January 2017 movements through AlphaBay, the majority dormant until 31 January 2022, the decrypted file of 2,000 addresses, and the seizure of about 94,636 bitcoin."
        },
        {
          "sourceId": "source-b9a93300c46259d5",
          "locator": "The 8 February 2022 arrests in Manhattan, the charges, 119,754 bitcoin in over 2,000 transactions, about 25,000 laundered and more than 94,000 seized at over $3.6 billion, and the laundering methods alleged."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-arrests",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Arrests: 8 February 2022, Manhattan",
      "sourceIds": [
        "source-b9a93300c46259d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b9a93300c46259d5",
          "locator": "The 8 February 2022 arrests in Manhattan, the charges, 119,754 bitcoin in over 2,000 transactions, about 25,000 laundered and more than 94,000 seized at over $3.6 billion, and the laundering methods alleged."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-guilty-pleas",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Guilty pleas: 3 August 2023, both defendants",
      "sourceIds": [
        "source-acfc70febccaed6c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-acfc70febccaed6c",
          "locator": "The guilty pleas, Lichtenstein’s admission of the hack and log deletion, the named mixing services, the buried gold coins, and the additional $475 million seized."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "bitfinex-hack-2016-fact-sentences",
      "articleSlug": "bitfinex-hack-2016",
      "statement": "Sentences: DOJ records Lichtenstein’s 60-month sentence on 14 November 2024; Morgan’s later sentence is a separate record",
      "sourceIds": [
        "source-5bd963a46ed48757"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5bd963a46ed48757",
          "locator": "Lichtenstein’s 60-month sentence and three years of supervised release on 14 November 2024, with Morgan’s sentencing scheduled for 18 November."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked issuer BFX redemption records, the DOJ facts/pleas and Lichtenstein sentencing; preserved dated theft/recovery amounts and removed unsupported later release claims. Redemption is not the same outcome for holders who sold or converted earlier."
        ]
      }
    },
    {
      "id": "ftx-collapse-quick-answer",
      "articleSlug": "ftx-collapse",
      "statement": "FTX was a centralized crypto exchange that entered bankruptcy in November 2022. A US jury convicted Sam Bankman-Fried of fraud and conspiracy in November 2023, and he was sentenced to 25 years in March 2024. The cited proceedings describe misuse of customer funds through FTX and Alameda Research. Holding an exchange account exposed customers to that company’s custody and controls, separately from Bitcoin’s transaction-validation rules.",
      "sourceIds": [
        "source-83262ef82fa43bf9",
        "source-341f7d644fc43d12",
        "source-5a31c2a5d93770ac"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83262ef82fa43bf9",
          "locator": "Records the 2 November 2023 conviction and lists the seven counts with their maximum penalties."
        },
        {
          "sourceId": "source-341f7d644fc43d12",
          "locator": "The 25-year sentence, supervised release and forfeiture of over $11 billion, the $1.7 billion and $1.3 billion investor and lender figures, and the altered code allowing unlimited Alameda withdrawals."
        },
        {
          "sourceId": "source-5a31c2a5d93770ac",
          "locator": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-ftx-operations",
      "articleSlug": "ftx-collapse",
      "statement": "FTX operations: FTX began operating around May 2019; Bankman-Fried was its founder and CEO",
      "sourceIds": [
        "source-5a31c2a5d93770ac"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5a31c2a5d93770ac",
          "locator": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-the-run",
      "articleSlug": "ftx-collapse",
      "statement": "The run: 6 November 2022 Binance said it would sell its FTT; 8 November FTX paused all withdrawals",
      "sourceIds": [
        "source-ae547d14c19b16b5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ae547d14c19b16b5",
          "locator": "The SEC’s complaint: FTX’s founding and structure, the diversion of customer deposits to Alameda, and a dated account of 2 to 11 November 2022 including the withdrawal pause, the Binance deal and the bankruptcy."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-bankruptcy",
      "articleSlug": "ftx-collapse",
      "statement": "Bankruptcy: 11 November 2022; Bankman-Fried resigned and about 100 FTX entities filed for Chapter 11",
      "sourceIds": [
        "source-ae547d14c19b16b5",
        "source-55d329a733715988"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-ae547d14c19b16b5",
          "locator": "The SEC’s complaint: FTX’s founding and structure, the diversion of customer deposits to Alameda, and a dated account of 2 to 11 November 2022 including the withdrawal pause, the Binance deal and the bankruptcy."
        },
        {
          "sourceId": "source-55d329a733715988",
          "locator": "Ray’s sworn testimony: his appointment on 11 November, the Chapter 11 filings of over 100 entities, and his list of failed controls including commingling and unlimited Alameda borrowing."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-regulators-and-prosecutors",
      "articleSlug": "ftx-collapse",
      "statement": "Regulators and prosecutors: 13 December 2022: SEC and CFTC civil complaints, and a criminal indictment unsealed in Manhattan",
      "sourceIds": [
        "source-5a31c2a5d93770ac",
        "source-1d3f0751c8cca573"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5a31c2a5d93770ac",
          "locator": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion."
        },
        {
          "sourceId": "source-1d3f0751c8cca573",
          "locator": "The unsealed eight-count indictment, the arrest in the Bahamas the previous day, and the US Attorney’s “intentional fraud” statement."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-customer-losses",
      "articleSlug": "ftx-collapse",
      "statement": "Customer losses: More than $8 billion, per the CFTC and the Justice Department",
      "sourceIds": [
        "source-5a31c2a5d93770ac",
        "source-341f7d644fc43d12"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5a31c2a5d93770ac",
          "locator": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion."
        },
        {
          "sourceId": "source-341f7d644fc43d12",
          "locator": "The 25-year sentence, supervised release and forfeiture of over $11 billion, the $1.7 billion and $1.3 billion investor and lender figures, and the altered code allowing unlimited Alameda withdrawals."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-verdict",
      "articleSlug": "ftx-collapse",
      "statement": "Verdict: Guilty on all seven counts, 2 November 2023",
      "sourceIds": [
        "source-83262ef82fa43bf9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-83262ef82fa43bf9",
          "locator": "Records the 2 November 2023 conviction and lists the seven counts with their maximum penalties."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-sentence",
      "articleSlug": "ftx-collapse",
      "statement": "Sentence: 25 years in prison and forfeiture of over $11 billion, 28 March 2024",
      "sourceIds": [
        "source-341f7d644fc43d12"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-341f7d644fc43d12",
          "locator": "The 25-year sentence, supervised release and forfeiture of over $11 billion, the $1.7 billion and $1.3 billion investor and lender figures, and the altered code allowing unlimited Alameda withdrawals."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "ftx-collapse-fact-announced-distribution",
      "articleSlug": "ftx-collapse",
      "statement": "Announced distribution: The Trust announced a 30 September 2025 distribution that would bring eligible Class 5A claims to 78% and Class 5B claims to 95% cumulatively; receipt depended on eligibility and processing",
      "sourceIds": [
        "source-f5392f821f767554"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f5392f821f767554",
          "locator": "Trust’s announcement of planned 30 September 2025 distribution to eligible claims, cumulative class percentages, prerequisites and expected 1–3 business-day provider processing."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read SEC complaint, CFTC release, Ray testimony, DOJ charges/verdict/sentence and the recovery trust announcement. September 2025 payment percentages are scheduled conditional class distributions, not confirmation that every creditor was paid."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-quick-answer",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "China’s State Council committee called for a crackdown on Bitcoin mining and trading in May 2021, followed by mining closures and September agency restrictions. Cambridge’s sampled mining map recorded a sharp shift away from China in mid-2021, while estimated network hash rate fell. The map measures its participating pools’ observed locations; a near-zero recorded share was not proof that all mining in China had stopped.",
      "sourceIds": [
        "source-aa849e4cb395ca20",
        "source-a43dcca35aedec0e",
        "source-cdc5cae646e5185c",
        "source-7c3943af4e288532"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-aa849e4cb395ca20",
          "locator": "The official readout of the 21 May 2021 meeting, including the sentence calling for a crackdown on bitcoin mining and trading and the prevention of individual risks spreading to society."
        },
        {
          "sourceId": "source-a43dcca35aedec0e",
          "locator": "The English text of the 15 September 2021 notice by ten departments stating that virtual currencies are not legal tender, that virtual-currency business activities are illegal financial activities, and that overseas exchanges serving residents in China are acting illegally."
        },
        {
          "sourceId": "source-cdc5cae646e5185c",
          "locator": "The 13 October 2021 update reporting the 38% June 2021 hash rate drop, the 20% July to August bounceback, and August 2021 shares for the United States, Kazakhstan, Russia, Canada and China, with Michel Rauchs’s comment."
        },
        {
          "sourceId": "source-7c3943af4e288532",
          "locator": "Explains that the map geolocates miners from IP addresses reported by partner pools covering roughly 32% to 38% of hash rate, updated monthly from September 2019, and warns that VPNs and proxies distort locations."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-china-s-share-of-hash-rate-september-2019",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "China’s share of hash rate, September 2019: 75.5%, by the Cambridge mining map",
      "sourceIds": [
        "source-17671bfc399ddc9d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17671bfc399ddc9d",
          "locator": "Mining map figures showing China at 75.5% of hash rate in September 2019 and 46% in April 2021, the United States and Kazakhstan shares over the same period, and the seasonal Sichuan and Xinjiang pattern."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-china-s-share-april-2021",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "China’s share, April 2021: 46%, before any ban took effect",
      "sourceIds": [
        "source-17671bfc399ddc9d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17671bfc399ddc9d",
          "locator": "Mining map figures showing China at 75.5% of hash rate in September 2019 and 46% in April 2021, the United States and Kazakhstan shares over the same period, and the seasonal Sichuan and Xinjiang pattern."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-state-council-statement",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "State Council statement: 21 May 2021: “crack down on bitcoin mining and trading behavior”",
      "sourceIds": [
        "source-aa849e4cb395ca20"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-aa849e4cb395ca20",
          "locator": "The official readout of the 21 May 2021 meeting, including the sentence calling for a crackdown on bitcoin mining and trading and the prevention of individual risks spreading to society."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-hash-rate-drop",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "Hash rate drop: About 38% in June 2021; a record 28% difficulty cut followed on 3 July",
      "sourceIds": [
        "source-cdc5cae646e5185c",
        "source-c87ac60c1452ef43"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cdc5cae646e5185c",
          "locator": "The 13 October 2021 update reporting the 38% June 2021 hash rate drop, the 20% July to August bounceback, and August 2021 shares for the United States, Kazakhstan, Russia, Canada and China, with Michel Rauchs’s comment."
        },
        {
          "sourceId": "source-c87ac60c1452ef43",
          "locator": "Reporting on the record 28% downward difficulty adjustment of 3 July 2021, the seven-day average hash rate of 84.3 EH/s, the halving of total hash power from its record, and Chinese miners selling rigs at discounts."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-mining-notice",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "Mining notice: NDRC notice dated 3 September 2021: no new projects, existing ones to exit",
      "sourceIds": [
        "source-fd9fe59fce3f9303"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fd9fe59fce3f9303",
          "locator": "The mining notice, dated 3 September and published 24 September 2021: it characterizes mining as high-energy and low-value, bans new projects, orders existing ones to exit, lists mining as an eliminated industry and permits a 0.30 yuan per kWh surcharge."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-trading-notice",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "Trading notice: PBOC and nine other bodies, 15 September 2021: virtual-currency business is illegal financial activity",
      "sourceIds": [
        "source-a43dcca35aedec0e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a43dcca35aedec0e",
          "locator": "The English text of the 15 September 2021 notice by ten departments stating that virtual currencies are not legal tender, that virtual-currency business activities are illegal financial activities, and that overseas exchanges serving residents in China are acting illegally."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "china-bitcoin-mining-ban-2021-fact-who-picked-up-the-share-august-2021",
      "articleSlug": "china-bitcoin-mining-ban-2021",
      "statement": "Who picked up the share, August 2021: United States 35.4%, Kazakhstan 18.1%, Russia 11%",
      "sourceIds": [
        "source-cdc5cae646e5185c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cdc5cae646e5185c",
          "locator": "The 13 October 2021 update reporting the 38% June 2021 hash rate drop, the 20% July to August bounceback, and August 2021 shares for the United States, Kazakhstan, Russia, Canada and China, with Michel Rauchs’s comment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the dated Chinese agency notices and Cambridge migration findings; near-zero sampled location share is not proof of zero mining. Dates distinguish notice issuance from publication."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-quick-answer",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Ordinal theory is an indexing convention that numbers satoshis by mining order and tracks them through transactions. Inscriptions place content in witness data, conventionally using a Taproot script-path envelope. Casey Rodarmor publicly released ord for mainnet in January 2023. Bitcoin consensus validates the underlying transactions; the meaning and satoshi assignment used by the indexer are an additional convention.",
      "sourceIds": [
        "source-39faabbdd70cba3f",
        "source-46b62cd6de083c88",
        "source-96ec565badf81ac9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-39faabbdd70cba3f",
          "locator": "Defines the numbering of satoshis by mining order with first-in-first-out transfer, the rarity levels, and states that ordinal theory needs no separate token, other blockchain or changes to Bitcoin."
        },
        {
          "sourceId": "source-46b62cd6de083c88",
          "locator": "Describes inscription content stored in taproot script-path spend scripts inside an OP_FALSE OP_IF envelope, the content-type field, the 520-byte push limit, the commit and reveal transactions, and the witness discount."
        },
        {
          "sourceId": "source-96ec565badf81ac9",
          "locator": "The launch post announcing ord 0.4.0, recording the first mainnet inscription on 14 December 2022, defining inscriptions as digital artifacts, and describing the rush that filled every block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-what-an-ordinal-is",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "What an ordinal is: A number given to each satoshi in the order it was mined, tracked first-in, first-out",
      "sourceIds": [
        "source-39faabbdd70cba3f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-39faabbdd70cba3f",
          "locator": "Defines the numbering of satoshis by mining order with first-in-first-out transfer, the rarity levels, and states that ordinal theory needs no separate token, other blockchain or changes to Bitcoin."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-where-inscription-data-lives",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Where inscription data lives: In the witness of a Taproot script-path spend, inside an `OP_FALSE OP_IF … OP_ENDIF` envelope",
      "sourceIds": [
        "source-46b62cd6de083c88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-46b62cd6de083c88",
          "locator": "Describes inscription content stored in taproot script-path spend scripts inside an OP_FALSE OP_IF envelope, the content-type field, the 520-byte push limit, the commit and reveal transactions, and the witness discount."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-first-mainnet-inscription",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "First mainnet inscription: 14 December 2022, by Casey Rodarmor",
      "sourceIds": [
        "source-96ec565badf81ac9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-96ec565badf81ac9",
          "locator": "The launch post announcing ord 0.4.0, recording the first mainnet inscription on 14 December 2022, defining inscriptions as digital artifacts, and describing the rush that filled every block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-public-launch",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Public launch: ord version 0.4.0, 20 January 2023",
      "sourceIds": [
        "source-96ec565badf81ac9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-96ec565badf81ac9",
          "locator": "The launch post announcing ord 0.4.0, recording the first mainnet inscription on 14 December 2022, defining inscriptions as digital artifacts, and describing the rush that filled every block."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-why-big-files-fit",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Why big files fit: Tapscript removes the 10,000-byte script-size rule; block weight and other validation limits still apply",
      "sourceIds": [
        "source-251bb91b9f6cc707"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-251bb91b9f6cc707",
          "locator": "States that the 10,000-byte maximum script size does not apply to tapscript, that size is bounded only by block weight, and that the 520-byte stack element limit remains."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-fee-effect-may-2023",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Fee effect, May 2023: Nearly 400,000 unconfirmed transactions; Binance paused bitcoin withdrawals on 7 May",
      "sourceIds": [
        "source-9f4074cad7db5f88"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9f4074cad7db5f88",
          "locator": "Reports nearly 400,000 unconfirmed transactions, an average fee just over $8, about 14,000 BRC-20 tokens worth $482 million, Binance’s withdrawal pause on 7 May 2023 and Colin Harper’s comment."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ordinals-and-inscriptions-fact-bitcoin-core-response",
      "articleSlug": "bitcoin-ordinals-and-inscriptions",
      "statement": "Bitcoin Core response: A September 2023 proposal to filter inscriptions was closed in January 2024 without consensus",
      "sourceIds": [
        "source-e128afc50d6b2a4c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e128afc50d6b2a4c",
          "locator": "The September 2023 proposal to extend the data-carrier relay limit to witness data, the concept objections from Peter Todd, glozow and others, and its closure on 5 January 2024."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked the ordinal handbook, Rodarmor's release account and BIP342; ordinal assignment is an indexing convention and removing a script-size rule does not remove all resource limits."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-quick-answer",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "Crypto fraud can use familiar mechanisms: fabricated investment returns, recruitment rewards, impersonation and promises to double a deposit. The SEC’s Bitcoin Savings and Trust and BitConnect cases and the OneCoin criminal case document examples, with different assets and legal findings. Those cases concern schemes using crypto claims or payments; they do not by themselves show a break in Bitcoin’s consensus rules.",
      "sourceIds": [
        "source-27ad09d9672dc456",
        "source-7d81b68f98262ec7",
        "source-9803e7e0c1173bdb",
        "source-9551d44a4c282193"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27ad09d9672dc456",
          "locator": "21 July 2016 sentencing release: 18 months; approximately 146,000 BTC fraudulently obtained in the criminal case; old investors paid with new deposits."
        },
        {
          "sourceId": "source-7d81b68f98262ec7",
          "locator": "1 September 2021 plea release: Arcaro admitted participation in a scheme defrauding investors of more than $2 billion; trading-bot representations and referral program."
        },
        {
          "sourceId": "source-9803e7e0c1173bdb",
          "locator": "Records Karl Greenwood’s 20-year sentence, OneCoin’s 2014 launch in Sofia, the multi-level marketing model, more than $4 billion from more than 3.5 million victims, the “fake coins” and Ruja Ignatova’s status as a fugitive on the FBI’s Ten Most Wanted list."
        },
        {
          "sourceId": "source-9551d44a4c282193",
          "locator": "Reports nearly 7,000 crypto investment scam complaints and more than $80 million lost since October 2020, a $1,900 median loss, more than $2 million sent to Elon Musk impersonators, the giveaway scam pattern and the FTC’s warning that guaranteed returns are always scams."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-fact-bitcoin-savings-and-trust",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "Bitcoin Savings and Trust: DOJ’s criminal-case sentencing account describes approximately 146,000 BTC fraudulently obtained; this is a differently scoped measure from gross deposits alleged in the SEC case",
      "sourceIds": [
        "source-27ad09d9672dc456"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27ad09d9672dc456",
          "locator": "21 July 2016 sentencing release: 18 months; approximately 146,000 BTC fraudulently obtained in the criminal case; old investors paid with new deposits."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-fact-shavers-sentence",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "Shavers sentence: 18 months in prison on 21 July 2016, following a September 2015 guilty plea",
      "sourceIds": [
        "source-27ad09d9672dc456"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-27ad09d9672dc456",
          "locator": "21 July 2016 sentencing release: 18 months; approximately 146,000 BTC fraudulently obtained in the criminal case; old investors paid with new deposits."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-fact-bitconnect-plea",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "BitConnect plea: Glenn Arcaro pleaded guilty on 1 September 2021 to participating in a scheme described as causing over $2 billion in investor losses",
      "sourceIds": [
        "source-7d81b68f98262ec7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7d81b68f98262ec7",
          "locator": "1 September 2021 plea release: Arcaro admitted participation in a scheme defrauding investors of more than $2 billion; trading-bot representations and referral program."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-fact-onecoin",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "OneCoin: Karl Greenwood was sentenced to 20 years on 12 September 2023; authorities describe more than $4 billion obtained from over 3.5 million victims",
      "sourceIds": [
        "source-9803e7e0c1173bdb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9803e7e0c1173bdb",
          "locator": "Records Karl Greenwood’s 20-year sentence, OneCoin’s 2014 launch in Sofia, the multi-level marketing model, more than $4 billion from more than 3.5 million victims, the “fake coins” and Ruja Ignatova’s status as a fugitive on the FBI’s Ten Most Wanted list."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "bitcoin-ponzi-schemes-and-scams-fact-impersonation-reports",
      "articleSlug": "bitcoin-ponzi-schemes-and-scams",
      "statement": "Impersonation reports: The FTC reported over $2 million sent to Elon Musk impersonators in the six months preceding its May 2021 report; reports are not a complete census",
      "sourceIds": [
        "source-9551d44a4c282193"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-9551d44a4c282193",
          "locator": "Reports nearly 7,000 crypto investment scam complaints and more than $80 million lost since October 2020, a $1,900 median loss, more than $2 million sent to Elon Musk impersonators, the giveaway scam pattern and the FTC’s warning that guaranteed returns are always scams."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked DOJ criminal-case accounts, IRS OneCoin sentencing and FTC reported-loss data; distinguished allegations, pleas, sentencing, gross deposits and fraudulently obtained amounts."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-quick-answer",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Under Bitcoin mainnet’s current subsidy schedule, the sum of permitted block subsidies is 20,999,999.9769 BTC. Actual issued and spendable supply are smaller because rewards can be underclaimed and some outputs are unspendable or have lost keys. The subsidy halves every 210,000 blocks, reaches one satoshi per block in its final nonzero era, and becomes zero at block 6,930,000, conventionally estimated around 2140.",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-b9d38638a961fafc",
        "source-3334edaebb43b0cb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-b9d38638a961fafc",
          "locator": "Explains that the original subsidy code relied on undefined C++ shift behavior that would have restarted the reward after 64 halvings, and the fix that keeps the supply finite."
        },
        {
          "sourceId": "source-3334edaebb43b0cb",
          "locator": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-maximum-supply",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Maximum supply: 20,999,999.9769 BTC: the sum of scheduled maximum subsidies, not an exact circulating balance",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-3334edaebb43b0cb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-3334edaebb43b0cb",
          "locator": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-starting-reward",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Starting reward: 50 BTC per block from 3 January 2009",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-e05395c96e2827a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-e05395c96e2827a2",
          "locator": "The exact maximum of 2,099,999,997,690,000 satoshis, the four boundary blocks with dates, the zero-subsidy boundary at height 6,930,000, daily issuance per era, and the distinction between maximum, issued, spendable and liquid supply."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-halving-interval",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Halving interval: Every 210,000 blocks, roughly four years",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-3334edaebb43b0cb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-3334edaebb43b0cb",
          "locator": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-scheduled-at-the-fourth-halving-boundary",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Scheduled at the fourth halving boundary: 19,687,500 BTC scheduled through block 839,999; block 840,000 adds up to 3.125 BTC",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-e05395c96e2827a2"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-e05395c96e2827a2",
          "locator": "The exact maximum of 2,099,999,997,690,000 satoshis, the four boundary blocks with dates, the zero-subsidy boundary at height 6,930,000, daily issuance per era, and the distinction between maximum, issued, spendable and liquid supply."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-supply-at-end-of-2025",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Supply at end of 2025: About 19.97 million BTC, by Coin Metrics’ count on 31 December 2025",
      "sourceIds": [
        "source-1e5b519ef4fecde0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1e5b519ef4fecde0",
          "locator": "Daily current-supply values: about 19,687,699 BTC on 20 April 2024 and about 19,969,601 BTC on 31 December 2025."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-final-nonzero-subsidy",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Final nonzero subsidy: One satoshi per block from 6,720,000 through 6,929,999; zero from 6,930,000",
      "sourceIds": [
        "source-5192314b264f4b92",
        "source-3334edaebb43b0cb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-5192314b264f4b92",
          "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years."
        },
        {
          "sourceId": "source-3334edaebb43b0cb",
          "locator": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "how-many-bitcoins-are-there-fact-provably-stuck",
      "articleSlug": "how-many-bitcoins-are-there",
      "statement": "Provably stuck: The 50 BTC genesis reward, which the software cannot spend",
      "sourceIds": [
        "source-3cdf5ae8fa8c507d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3cdf5ae8fa8c507d",
          "locator": "The genesis reward was never entered into the spendable-output database, so no node will validate a transaction spending it; whether that was deliberate is not established."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Independently summed integer-satoshi subsidies: 2,099,999,997,690,000 sat scheduled; final positive subsidy is 1 sat at heights 6,720,000–6,929,999 and zero begins 6,930,000. Actual issued/spendable amounts and dated Coin Metrics observations are distinguished."
        ]
      }
    },
    {
      "id": "lost-bitcoins-quick-answer",
      "articleSlug": "lost-bitcoins",
      "statement": "The blockchain cannot distinguish a lost private key from a key whose owner chooses not to spend. Some outputs are unspendable under the protocol, including the original genesis subsidy; other coins are only believed lost. Court records and historical analysis document particular claims and assumptions, not an exact global lost-coin total. A deliberately constructed burn address with no known key is not the same proof of unspendability as an impossible script.",
      "sourceIds": [
        "source-64e803d81a556ac6",
        "source-13be72ee1dc96f82",
        "source-3f322e943fdd7d0c",
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-64e803d81a556ac6",
          "locator": "Judgment of 9 January 2025 recording the claimant’s alleged drive contents and dismissing his claim; the quantity alleged is not separately established key control."
        },
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "CreateGenesisBlock comment: original generation output absent from the database; fixed mainnet genesis parameters."
        },
        {
          "sourceId": "source-3f322e943fdd7d0c",
          "locator": "CScript::IsUnspendable checks scripts beginning with OP_RETURN and oversized scripts; this differs from an address whose key is merely unknown."
        },
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "Estimates about 22,000 Patoshi blocks, close to 1.1 million bitcoin, and reports that 99.9 percent of those blocks were unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "lost-bitcoins-fact-global-total",
      "articleSlug": "lost-bitcoins",
      "statement": "Global total: No exact total is established by the cited evidence; inactivity cannot reveal whether a private key survives",
      "sourceIds": [
        "source-64e803d81a556ac6",
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-64e803d81a556ac6",
          "locator": "Judgment of 9 January 2025 recording the claimant’s alleged drive contents and dismissing his claim; the quantity alleged is not separately established key control."
        },
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "Estimates about 22,000 Patoshi blocks, close to 1.1 million bitcoin, and reports that 99.9 percent of those blocks were unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "lost-bitcoins-fact-genesis-output",
      "articleSlug": "lost-bitcoins",
      "statement": "Genesis output: The original 50 BTC subsidy is absent from the spendable-output database under current rules",
      "sourceIds": [
        "source-13be72ee1dc96f82"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-13be72ee1dc96f82",
          "locator": "CreateGenesisBlock comment: original generation output absent from the database; fixed mainnet genesis parameters."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "lost-bitcoins-fact-unspendable-scripts",
      "articleSlug": "lost-bitcoins",
      "statement": "Unspendable scripts: An output beginning with OP_RETURN is a different category from a normal address with no known private key",
      "sourceIds": [
        "source-3f322e943fdd7d0c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-3f322e943fdd7d0c",
          "locator": "CScript::IsUnspendable checks scripts beginning with OP_RETURN and oversized scripts; this differs from an address whose key is merely unknown."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "lost-bitcoins-fact-howells-case",
      "articleSlug": "lost-bitcoins",
      "statement": "Howells case: The claimant alleged access to 8,000 BTC was on a discarded drive; the claim against Newport City Council was dismissed on 9 January 2025",
      "sourceIds": [
        "source-64e803d81a556ac6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-64e803d81a556ac6",
          "locator": "Judgment of 9 January 2025 recording the claimant’s alleged drive contents and dismissing his claim; the quantity alleged is not separately established key control."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "lost-bitcoins-fact-patoshi-observation",
      "articleSlug": "lost-bitcoins",
      "statement": "Patoshi observation: Lerner reported 99.9% of his selected blocks unspent in April 2019; the classification and attribution are not a proof of lost keys",
      "sourceIds": [
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "Estimates about 22,000 Patoshi blocks, close to 1.1 million bitcoin, and reports that 99.9 percent of those blocks were unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Checked pinned genesis/script code, Howells judgment and Lerner's dated analysis. The judgment records a claimant's 8,000-BTC assertion; no inactivity census proves lost keys, and OP_RETURN differs from an address with no known key."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-quick-answer",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "Bitcoin mining uses electricity to run proof-of-work hardware. Network-wide consumption is estimated from hash rate, hardware efficiency and operating assumptions, rather than directly metered by the blockchain. Published totals differ by date, scope and method. Transaction count is not a direct input to the hash calculation, although fee revenue and other economic incentives can influence how much mining is profitable.",
      "sourceIds": [
        "source-cc72df911344e03b",
        "source-2b24e54a92f2db78",
        "source-efc3bac3f20244d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc72df911344e03b",
          "locator": "Explains the hash-rate and hardware-efficiency model, the $0.05 per kWh profitability assumption, the lower bound, upper bound and best-guess estimates, the stated limitations, and the range of other published estimates."
        },
        {
          "sourceId": "source-2b24e54a92f2db78",
          "locator": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures."
        },
        {
          "sourceId": "source-efc3bac3f20244d5",
          "locator": "The EIA’s preliminary estimate of 0.6% to 2.3% of U.S. electricity, 25 to 91 TWh a year, the 137 facilities identified and 10,275 MW of capacity, and its caveats about wide bounds and mobile operations."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-how-it-is-estimated",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "How it is estimated: From hash rate, hardware efficiency and an assumed power price; Cambridge publishes a lower bound, an upper bound and a best guess",
      "sourceIds": [
        "source-cc72df911344e03b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc72df911344e03b",
          "locator": "Explains the hash-rate and hardware-efficiency model, the $0.05 per kWh profitability assumption, the lower bound, upper bound and best-guess estimates, the stated limitations, and the range of other published estimates."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-global-crypto-asset-electricity-august-2022",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "Global crypto-asset electricity, August 2022: 120 to 240 billion kWh a year, 0.4% to 0.9% of world use, per the White House OSTP",
      "sourceIds": [
        "source-2b24e54a92f2db78"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2b24e54a92f2db78",
          "locator": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-bitcoin-s-share-of-that",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "Bitcoin’s share of that: 60% to 77%, or 90 to 145 billion kWh a year (OSTP, August 2022)",
      "sourceIds": [
        "source-2b24e54a92f2db78"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2b24e54a92f2db78",
          "locator": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-all-us-crypto-mining-february-2024",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "All US crypto mining, February 2024: EIA’s preliminary estimate covered all US cryptocurrency mining: 0.6%–2.3% of US electricity, or 25–91 TWh per year",
      "sourceIds": [
        "source-efc3bac3f20244d5"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-efc3bac3f20244d5",
          "locator": "The EIA’s preliminary estimate of 0.6% to 2.3% of U.S. electricity, 25 to 91 TWh a year, the 137 facilities identified and 10,275 MW of capacity, and its caveats about wide bounds and mobile operations."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-cambridge-survey-april-2025",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "Cambridge survey, April 2025: Cambridge’s April 2025 study estimated 138 TWh/year; its 52.4% sustainable mix includes 42.6% renewables and 9.8% nuclear",
      "sourceIds": [
        "source-d627ab267525219e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d627ab267525219e",
          "locator": "Summary of the Cambridge Digital Mining Industry Report: 52.4% sustainable power, gas and coal shares, 49 firms covering about 48% of mining, 138 TWh a year and 39.8 million metric tons CO2e."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "bitcoin-energy-consumption-fact-transaction-count-distinction",
      "articleSlug": "bitcoin-energy-consumption",
      "statement": "Transaction-count distinction: Block-header hashing does not perform a separate proof of work per transaction. Fees can still affect mining incentives indirectly",
      "sourceIds": [
        "source-cc72df911344e03b",
        "source-2b24e54a92f2db78"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-cc72df911344e03b",
          "locator": "Explains the hash-rate and hardware-efficiency model, the $0.05 per kWh profitability assumption, the lower bound, upper bound and best-guess estimates, the stated limitations, and the range of other published estimates."
        },
        {
          "sourceId": "source-2b24e54a92f2db78",
          "locator": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read the OSTP report, EIA analysis, Cambridge 2025 survey and decompressed Cambridge methodology/comparisons pages. US EIA figures cover all crypto mining; sustainable mix includes nuclear; per-transaction allocation is not marginal energy demand."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-quick-answer",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "Dormancy describes an absence of spending over a stated interval. It does not establish whether keys are lost, who controls them or why coins stayed still. In July 2025 Galaxy announced a sale of more than 80,000 BTC for a client it described as a Satoshi-era investor. That statement provides context for one historical case; a blockchain movement by itself proves neither a sale nor an identity.",
      "sourceIds": [
        "source-320ddfb252f2ae6d",
        "source-07be227bd59063bc",
        "source-8a3505f6d9bca1e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-320ddfb252f2ae6d",
          "locator": "Defines dormancy as an observation about outgoing transactions; nine addresses holding about 177,416 BTC at the 6 August 2026 snapshot; the warning that early dates and large balances do not establish any relationship to a named person."
        },
        {
          "sourceId": "source-07be227bd59063bc",
          "locator": "Galaxy’s statement that it sold more than 80,000 bitcoin, worth over $9 billion, for a Satoshi-era investor as part of that investor’s estate planning."
        },
        {
          "sourceId": "source-8a3505f6d9bca1e4",
          "locator": "Shows that bitcoin days destroyed can be used to compute the average dormancy, the time since last use, of the coins moving in a given period."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-what-dormant-means",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "What dormant means: No outgoing transaction for a long time; nothing about identity, custody or loss",
      "sourceIds": [
        "source-320ddfb252f2ae6d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-320ddfb252f2ae6d",
          "locator": "Defines dormancy as an observation about outgoing transactions; nine addresses holding about 177,416 BTC at the 6 August 2026 snapshot; the warning that early dates and large balances do not establish any relationship to a named person."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-july-2025-case",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "July 2025 case: Eight addresses, about 10,000 BTC each, funded April and May 2011",
      "sourceIds": [
        "source-309b45a46ef636f6"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-309b45a46ef636f6",
          "locator": "The dossier’s timeline from 4 July to 25 July 2025 and its list of what remains unknown, including that the owner has never been identified and that Galaxy named no addresses."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-first-movement",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "First movement: 4 July 2025, after more than fourteen years",
      "sourceIds": [
        "source-309b45a46ef636f6",
        "source-b33fcf817eae021c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-309b45a46ef636f6",
          "locator": "The dossier’s timeline from 4 July to 25 July 2025 and its list of what remains unknown, including that the owner has never been identified and that Galaxy named no addresses."
        },
        {
          "sourceId": "source-b33fcf817eae021c",
          "locator": "The final 40,191 BTC tranche to Galaxy Digital on 18 July 2025, reactivation from 4 July, Galaxy routing coins to exchanges, and the caveat that sending to a desk does not confirm a sale."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-final-tranche",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "Final tranche: 40,191 BTC to Galaxy Digital on 18 July 2025",
      "sourceIds": [
        "source-b33fcf817eae021c"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b33fcf817eae021c",
          "locator": "The final 40,191 BTC tranche to Galaxy Digital on 18 July 2025, reactivation from 4 July, Galaxy routing coins to exchanges, and the caveat that sending to a desk does not confirm a sale."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-galaxy-s-statement",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "Galaxy’s statement: Sale of more than 80,000 BTC for a “Satoshi-era investor,” announced 25 July 2025",
      "sourceIds": [
        "source-07be227bd59063bc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-07be227bd59063bc",
          "locator": "Galaxy’s statement that it sold more than 80,000 bitcoin, worth over $9 billion, for a Satoshi-era investor as part of that investor’s estate planning."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-nine-dormant-addresses-on-this-site",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "Nine dormant addresses on this site: About 177,416 BTC combined at the 6 August 2026 snapshot",
      "sourceIds": [
        "source-320ddfb252f2ae6d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-320ddfb252f2ae6d",
          "locator": "Defines dormancy as an observation about outgoing transactions; nine addresses holding about 177,416 BTC at the 6 August 2026 snapshot; the warning that early dates and large balances do not establish any relationship to a named person."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "dormant-bitcoin-whales-fact-bitcoin-days-destroyed",
      "articleSlug": "dormant-bitcoin-whales",
      "statement": "Bitcoin days destroyed: Coins moved multiplied by days since they last moved",
      "sourceIds": [
        "source-7cba406e5f684e92"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-7cba406e5f684e92",
          "locator": "Definition and worked example: coins multiplied by days since last spent, so 100 BTC received a week ago and spent destroys 700 bitcoin days."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-08-06",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Summed the nine published rounded balances to 177,416.29 BTC at the 6 August 2026 snapshot; verified seven no-spend rows and two rows with 17 and 4 outgoing transactions. Read Galaxy’s primary announcement and dated movement reporting. Unspent outputs do not prove no economic sale; directed graph reachability is not literal coin ancestry. This check reproduces the published historical snapshot, not current address balances."
        ]
      }
    },
    {
      "id": "patoshi-pattern-quick-answer",
      "articleSlug": "patoshi-pattern",
      "statement": "The Patoshi pattern is a set of statistical patterns in early Bitcoin blocks described by Sergio Demian Lerner beginning in 2013. He interpreted extra-nonce slopes and nonce distributions as evidence of a dominant mining setup and estimated about 1.1 million BTC in a 2019 analysis. That attribution, the selected block set, and its connection to Satoshi are inferences. His 99.9 percent unspent figure describes his classified blocks in 2019, not a current independently verified balance.",
      "sourceIds": [
        "source-c69624dca898aa35",
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c69624dca898aa35",
          "locator": "The original extra-nonce analysis of blocks 0 to 36,288: constant-slope segments with periodic restarts, the “at eyesight” estimate of about one million bitcoin, and the author’s caveats about his parser and certainty."
        },
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-first-published",
      "articleSlug": "patoshi-pattern",
      "statement": "First published: 17 April 2013 on Bitslog, by Sergio Demian Lerner",
      "sourceIds": [
        "source-c69624dca898aa35"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c69624dca898aa35",
          "locator": "The original extra-nonce analysis of blocks 0 to 36,288: constant-slope segments with periodic restarts, the “at eyesight” estimate of about one million bitcoin, and the author’s caveats about his parser and certainty."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-first-analysis",
      "articleSlug": "patoshi-pattern",
      "statement": "First analysis: Extra-nonce values in blocks 0 to 36,288",
      "sourceIds": [
        "source-c69624dca898aa35"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-c69624dca898aa35",
          "locator": "The original extra-nonce analysis of blocks 0 to 36,288: constant-slope segments with periodic restarts, the “at eyesight” estimate of about one million bitcoin, and the author’s caveats about his parser and certainty."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-nonce-fingerprint",
      "articleSlug": "patoshi-pattern",
      "statement": "Nonce fingerprint: Last byte of the nonce only in the ranges 0 to 9 and 19 to 58",
      "sourceIds": [
        "source-185e3ba0b4f9d9c3",
        "source-8249aebb799c0bcb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent."
        },
        {
          "sourceId": "source-8249aebb799c0bcb",
          "locator": "The site’s criteria for the set, the competing estimates from Lerner, Whale Alert and BitMEX Research, the spent and unspent counts, and the attribution caveats including Lerner’s “unsigned emails and not math” remark."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-estimated-size",
      "articleSlug": "patoshi-pattern",
      "statement": "Estimated size: Lerner’s 2019 analysis estimates about 22,000 blocks, or approximately 1.1 million BTC at 50 BTC per block",
      "sourceIds": [
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-spent",
      "articleSlug": "patoshi-pattern",
      "statement": "Spent: Lerner reported 99.9 percent of the blocks in his classified Patoshi set unspent in April 2019",
      "sourceIds": [
        "source-185e3ba0b4f9d9c3"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-185e3ba0b4f9d9c3",
          "locator": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-peer-reviewed-follow-up",
      "articleSlug": "patoshi-pattern",
      "statement": "Peer-reviewed follow-up: Óskarsdóttir and Mallett, PLoS ONE, 2021",
      "sourceIds": [
        "source-e4b013c73a3cf63b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-e4b013c73a3cf63b",
          "locator": "Peer-reviewed paper, DOI 10.1371/journal.pone.0258001, confirming the extended Patoshi anomaly in the first 64 blocks, crediting Lerner, and finding the anomaly recurring in later periods."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "patoshi-pattern-fact-early-concentration",
      "articleSlug": "patoshi-pattern",
      "statement": "Early concentration: Most bitcoin mined before 9 February 2011 came from 64 agents (Blackburn et al., 2022)",
      "sourceIds": [
        "source-19277a7046160c3a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-19277a7046160c3a",
          "locator": "Finds that most bitcoin between launch and 9 February 2011 was mined by sixty-four agents, using an address-linking procedure the authors report at over 99 percent sensitivity and specificity."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2019-04-16",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:22:07.965Z",
        "reviewer": "automated independent verification agent /root/content_seo_verification",
        "notes": [
          "Read Lerner’s stated inference, selection uncertainty and dated 2019 unspent percentage alongside the later nonce-rule source. New description, heading and guide preserve classification, date and attribution limits; they introduce no current balance or key-control claim."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-quick-answer",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "Bitcoin records transactions publicly under pseudonymous addresses and scripts. Fresh addresses can reduce simple linking, but transaction structure and external records can reveal relationships. An address is not inherently a person’s identity, and graph reachability is not proof that particular satoshis or ownership passed along every path.",
      "sourceIds": [
        "source-38ff15e10892f1ee",
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-38ff15e10892f1ee",
          "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation"
        },
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 10, Privacy: keeping public keys anonymous, the stock-exchange tape analogy, a new key pair per transaction, and the unavoidable linking of multi-input transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-white-paper-section-10",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "White paper, section 10: Privacy by keeping public keys anonymous; a new key pair for each transaction",
      "sourceIds": [
        "source-0e46aca4dbc5a030"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0e46aca4dbc5a030",
          "locator": "Section 10, Privacy: keeping public keys anonymous, the stock-exchange tape analogy, a new key pair per transaction, and the unavoidable linking of multi-input transactions."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-satoshi-25-november-2009",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "Satoshi, 25 November 2009: “For greater privacy, it’s best to use bitcoin addresses only once.”",
      "sourceIds": [
        "source-dfe971f5ba992266"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-dfe971f5ba992266",
          "locator": "Satoshi’s advice to use each address only once, what a transaction reveals when identities are unknown, and running the software through Tor."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-clustering-paper",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "Clustering paper: Meiklejohn et al., 2013, DOI 10.1145/2504730.2504747: shared-input and change-address heuristics",
      "sourceIds": [
        "source-17bdea7b67cd679e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-17bdea7b67cd679e",
          "locator": "DOI 10.1145/2504730.2504747. The shared-input and change-address clustering heuristics, re-identification by transacting with known services, the parse of 231,207 blocks, and the subpoena-power conclusion."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-silk-road-verdict",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "Silk Road verdict: Ross Ulbricht convicted on all seven counts, 4 February 2015",
      "sourceIds": [
        "source-fb61b7f4301942ef",
        "source-75e9b631a024fa8d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-fb61b7f4301942ef",
          "locator": "The 4 February 2015 conviction on all seven counts, Silk Road’s bitcoin-based payment system designed to conceal identities, and commissions of more than $13 million."
        },
        {
          "sourceId": "source-75e9b631a024fa8d",
          "locator": "4 February 2015 statement announcing the verdict. The 5 February detailed release says yesterday; a later sentencing recap uses a conflicting date."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-individual-x-seizure",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "Individual X seizure: Authorities seized approximately 69,370 BTC on 3 November 2020; the later civil complaint sought forfeiture",
      "sourceIds": [
        "source-64fdea4b65d0e0af"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-64fdea4b65d0e0af",
          "locator": "Describes Silk Road’s tumbler, the 54 transfers totaling 70,411.46 BTC found with a third-party attribution company, the 2,500 BTC pattern, the April 2013 consolidation, the 2015 BTC-e transfer, Individual X and the 3 November 2020 consent to forfeiture."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-coinjoin",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "CoinJoin: Proposed by Gregory Maxwell on 22 August 2013",
      "sourceIds": [
        "source-24799b57e0005e64"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-24799b57e0005e64",
          "locator": "The common-input-ownership assumption, the independence of signatures that lets strangers build one transaction, and the coordination and Tor caveats."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "is-bitcoin-anonymous-fact-this-site-s-graph",
      "articleSlug": "is-bitcoin-anonymous",
      "statement": "This site’s graph: 1.53 billion address records traced through block 960,000",
      "sourceIds": [
        "source-905ab634c8c31644"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-905ab634c8c31644",
          "locator": "Path tracing from 28,583 early coinbase addresses across 1.53 billion address records through block 960,000, the 89.16 percent reachability figure, and the statement that graph proximity does not establish ownership or identity."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked fresh-address derivation and exported-xpub privacy against BIP-32, developer wallets and white-paper section 10.",
          "Independently fetched the Meiklejohn paper and Maxwell CoinJoin post; read account-control definitions, heuristic conditions and false-positive discussion. Corrected the paper summary and unconditional cluster attribution. Collaborative input ownership invalidates an automatic common-owner inference."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-quick-answer",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "A block explorer presents an operator’s indexed view of blocks and transactions. For an ordinary Bitcoin transaction, inspect which previous outputs it spends, the new outputs it creates, the fee, and whether it is in the accepted chain. Confirmations equal the current tip height minus the transaction’s block height plus one. An unconfirmed transaction may be in that operator’s mempool, but can also be unknown or dropped. Addresses and transactions do not by themselves identify people.",
      "sourceIds": [
        "source-2534f9b512b6d55b",
        "source-b282fdecc069b74d",
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2534f9b512b6d55b",
          "locator": "Documents the transaction status object (confirmed, block_height null when unconfirmed, block_time), and the address statistics for confirmed and mempool activity, including funded and spent output sums."
        },
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains inputs spending previous outputs, unspent transaction outputs, change outputs, the fee as the remainder, transaction identifiers, and the advice against address reuse."
        },
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains how blocks chain by the previous header hash, defines block height as the number of blocks from the first block, and describes forks and stale blocks."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-what-it-shows",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "What it shows: Blocks, transactions and addresses, read from one node’s copy of the chain",
      "sourceIds": [
        "source-2dc6e0741a5c695f",
        "source-0a2e216299208355"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2dc6e0741a5c695f",
          "locator": "Describes mempool.space as a mempool visualizer, explorer and API service, and encourages self-hosting on hardware from a Raspberry Pi upward."
        },
        {
          "sourceId": "source-0a2e216299208355",
          "locator": "The source text of the FAQ shown at mempool.space/docs/faq: definitions of a mempool and a block explorer, the note that every node keeps its own mempool, fee rates in sat/vB, larger transactions paying more, and the advice that a stuck transaction will either confirm or not."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-inputs-and-outputs",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "Inputs and outputs: For an ordinary transaction, inputs reference previous outputs; input value minus output value is the fee",
      "sourceIds": [
        "source-b282fdecc069b74d"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b282fdecc069b74d",
          "locator": "Explains inputs spending previous outputs, unspent transaction outputs, change outputs, the fee as the remainder, transaction identifiers, and the advice against address reuse."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-worked-example-the-pizza-transaction",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "Worked example: the pizza transaction: 131 inputs, one output of 10,000 BTC, a fee of 0.99 BTC, confirmed in block 57,043",
      "sourceIds": [
        "source-f1ebc78fbff9198b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f1ebc78fbff9198b",
          "locator": "The explorer’s data for the 10,000 BTC transaction: 131 inputs, one output of 1,000,000,000,000 satoshis, a fee of 99,000,000 satoshis, size 23,620 bytes, confirmed in block 57,043 with block time 1274552191 (22 May 2010 UTC)."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-confirmations",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "Confirmations: For a transaction in the accepted chain: tip height − transaction block height + 1",
      "sourceIds": [
        "source-190b9fe0eec933dc",
        "source-5100780ba9c0cc55"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Explains how blocks chain by the previous header hash, defines block height as the number of blocks from the first block, and describes forks and stale blocks."
        },
        {
          "sourceId": "source-5100780ba9c0cc55",
          "locator": "Recommends at least six confirmations for high-value payments, warns that zero-confirmation transactions should not be trusted without risk analysis, and describes what a recipient sees when an unconfirmed payment is replaced."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-unconfirmed",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "Unconfirmed: Not included in the operator’s accepted chain; presence in a mempool is a separate observation",
      "sourceIds": [
        "source-2534f9b512b6d55b"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-2534f9b512b6d55b",
          "locator": "Documents the transaction status object (confirmed, block_height null when unconfirmed, block_time), and the address statistics for confirmed and mempool activity, including funded and spent output sums."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "how-to-read-a-block-explorer-fact-worked-example-the-genesis-block",
      "articleSlug": "how-to-read-a-block-explorer",
      "statement": "Worked example: the genesis block: Height 0, one transaction, 285 bytes, timestamp 3 January 2009 18:15:05 UTC, no previous block",
      "sourceIds": [
        "source-691e2f1a1d0a41de"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-691e2f1a1d0a41de",
          "locator": "The explorer’s data for block 0: timestamp 1231006505 (3 January 2009 18:15:05 UTC), one transaction, size 285 bytes, weight 1,140, difficulty 1 and a null previous block hash."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:26:58.075Z",
        "reviewer": "Codex independent automated reviewer /root/verify_bitcoin_stablecoins_100",
        "notes": [
          "Checked explorer interpretation against transaction and block guides. Limited input-minus-output fee calculation explicitly to ordinary non-coinbase transactions.",
          "Read Core local-pool removal logic and corrected the old assumption that every unconfirmed transaction remains in a universal queue. Block reference, tip and observation time are required context; an address label is not identity proof."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-quick-answer",
      "articleSlug": "bitcoin-price-history",
      "statement": "The first price in this site’s dataset is about eight cents, on 18 July 2010. Year-end values then ran from $0.30 in 2010 to $729.56 in 2013, $13,921.48 in 2017, $46,355.12 in 2021 and $87,516.98 at the end of 2025, with four falls of more than 76 percent along the way. The figures come from Coin Metrics daily reference prices. They describe what happened and say nothing about what comes next.",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7",
        "source-1e5b519ef4fecde0",
        "source-f1b53283e887b5ed"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        },
        {
          "sourceId": "source-1e5b519ef4fecde0",
          "locator": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces."
        },
        {
          "sourceId": "source-f1b53283e887b5ed",
          "locator": "The four drawdowns of more than 76 percent with their recovery times, the post-halving returns, and the finding that the log-log fit is descriptive, not predictive."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-data",
      "articleSlug": "bitcoin-price-history",
      "statement": "Data: Coin Metrics PriceUSD, one observation per UTC day, value on 31 December, nominal dollars",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7",
        "source-1e5b519ef4fecde0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        },
        {
          "sourceId": "source-1e5b519ef4fecde0",
          "locator": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-first-observation",
      "articleSlug": "bitcoin-price-history",
      "statement": "First observation: $0.0858 on 18 July 2010",
      "sourceIds": [
        "source-1e5b519ef4fecde0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-1e5b519ef4fecde0",
          "locator": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-end-of-2013",
      "articleSlug": "bitcoin-price-history",
      "statement": "End of 2013: $729.56",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-end-of-2017",
      "articleSlug": "bitcoin-price-history",
      "statement": "End of 2017: $13,921.48",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-end-of-2021",
      "articleSlug": "bitcoin-price-history",
      "statement": "End of 2021: $46,355.12",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-end-of-2025",
      "articleSlug": "bitcoin-price-history",
      "statement": "End of 2025: $87,516.98",
      "sourceIds": [
        "source-8a4a0a23e05ed7a7"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-8a4a0a23e05ed7a7",
          "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    },
    {
      "id": "bitcoin-price-history-fact-deepest-falls",
      "articleSlug": "bitcoin-price-history",
      "statement": "Deepest falls: Completed daily-close drawdowns of 92.75%, 84.52%, 83.78% and 76.67% in the dataset ending 31 December 2025",
      "sourceIds": [
        "source-f1b53283e887b5ed",
        "source-1e5b519ef4fecde0"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-f1b53283e887b5ed",
          "locator": "The four drawdowns of more than 76 percent with their recovery times, the post-halving returns, and the finding that the log-log fit is descriptive, not predictive."
        },
        {
          "sourceId": "source-1e5b519ef4fecde0",
          "locator": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces."
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2025-12-31",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T16:01:48.343Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Reproduced all 16 annual values with zero discrepancy, four completed drawdowns, four following-365-day returns, 5,646-observation OLS coefficients/R² and residual correlation from the pinned Coin Metrics CSV. Found and disclosed that immutable v1.1.0 preceding-window fields use the previous calendar date (366 days earlier) despite their 365-day labels; this article does not use those erroneous pre-window values. Existing historical dossiers provide the clearly linked event context."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "intro",
      "label": "Introduction to Ethereum",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/intro-to-ethereum/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/intro-to-ethereum/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.358654+00:00",
      "locator": "What is Ethereum; what is ether; terminology",
      "sha256": "72f60ab4254aadddd57eaee9413888e73f24591ade108f1b1114636b219020c8",
      "note": "Defines Ethereum as a shared execution/state network and separates transactions, contracts, accounts and ETH.",
      "recordId": "source-200378547025c5f4",
      "contentSha256": "72f60ab4254aadddd57eaee9413888e73f24591ade108f1b1114636b219020c8"
    },
    {
      "id": "pos",
      "label": "Proof of stake",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/consensus-mechanisms/pos/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.818781+00:00",
      "locator": "Validators; transaction execution; finality; fork choice",
      "sha256": "54450f20b10562f7b1094f3ba79aee51512206e45aeccabb636e1c533a70f9cd",
      "note": "Supports 12-second slots, 32-slot epochs, stake-weighted checkpoint voting and block verification.",
      "recordId": "source-0fc300dcdcf420c6",
      "contentSha256": "54450f20b10562f7b1094f3ba79aee51512206e45aeccabb636e1c533a70f9cd"
    },
    {
      "id": "contracts",
      "label": "Introduction to smart contracts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/smart-contracts/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.398357+00:00",
      "locator": "What is a smart contract; a digital vending machine; limitations; multisig",
      "sha256": "e0933f91c6c58d30c1f5f05cac3c45529bf34dcb0711bbaa9a4dfe2b9b9946db",
      "note": "Supports contract code/state, deterministic rules, illustrative vending logic, external-data limits and multisignature access.",
      "recordId": "source-1bffcf35253de959",
      "contentSha256": "e0933f91c6c58d30c1f5f05cac3c45529bf34dcb0711bbaa9a4dfe2b9b9946db"
    },
    {
      "id": "evm",
      "label": "Ethereum Virtual Machine",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/evm/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/evm/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.399163+00:00",
      "locator": "State transition function; EVM instructions; storage",
      "sha256": "2a938eb38a613c0cd2e27229691f7bc3741585ab495a89e9db67fdd575f8b052",
      "note": "Supports deterministic execution, opcodes and the distinction between temporary execution memory and persistent state.",
      "recordId": "source-f31f86bc84bd28d7",
      "contentSha256": "2a938eb38a613c0cd2e27229691f7bc3741585ab495a89e9db67fdd575f8b052"
    },
    {
      "id": "ether",
      "label": "Introduction to ether",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/intro-to-ether/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/intro-to-ether/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:42:49.460408+00:00",
      "locator": "What is ether; denominations; transferring ether",
      "sha256": "9fb80f16e8729c15f32ff263defc77bf27be0f495014d72072746259526666be",
      "note": "Defines ETH, wei and gwei, the transaction value field and the role of ETH in fees and staking.",
      "recordId": "source-92cb5bbc68517168",
      "contentSha256": "9fb80f16e8729c15f32ff263defc77bf27be0f495014d72072746259526666be"
    },
    {
      "id": "transactions",
      "label": "Ethereum transactions",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/transactions/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/transactions/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.399251+00:00",
      "locator": "What is a transaction; the data field; transaction lifecycle",
      "sha256": "59345c5f1ceb028a1e16e21c5fd22e902b5714c94a7d9be349f2d100422880ab",
      "note": "Supports nonce ordering, value versus calldata, signed transaction fields, receipts and transaction inclusion.",
      "recordId": "source-b75ec7ad726d1661",
      "contentSha256": "59345c5f1ceb028a1e16e21c5fd22e902b5714c94a7d9be349f2d100422880ab"
    },
    {
      "id": "accounts",
      "label": "Ethereum accounts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/accounts/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/accounts/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.369782+00:00",
      "locator": "Account types; an account examined; a note on wallets",
      "sha256": "774839a895f46d6d398c27ab56e3a3ba9eb445eae87374cf41a78e7f28ac7983",
      "note": "Supports accounts versus wallet software and account state fields. The older empty-code EOA description is qualified using EIP-7702.",
      "recordId": "source-d131f5d8edf3944c",
      "contentSha256": "774839a895f46d6d398c27ab56e3a3ba9eb445eae87374cf41a78e7f28ac7983"
    },
    {
      "id": "gas",
      "label": "Gas and fees",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/gas/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/gas/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.393022+00:00",
      "locator": "How are gas fees calculated; base fee; gas limit",
      "sha256": "5af7b13e15072d45f38e6fd48e414324c7229b6110d6f8f7fc14100e5153509d",
      "note": "Supports gas units, ETH/gwei units, base/priority fees, resource limits and charges for executed failed transactions.",
      "recordId": "source-a8f47d83f0f10a68",
      "contentSha256": "5af7b13e15072d45f38e6fd48e414324c7229b6110d6f8f7fc14100e5153509d"
    },
    {
      "id": "erc4337",
      "label": "ERC-4337: Account Abstraction Using Alt Mempool",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-4337.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-4337",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.049363+00:00",
      "locator": "Abstract; definitions; UserOperation; EntryPoint; paymasters",
      "sha256": "baaa07330dcb67838234774ee8cf8022b5e16e68ddbfa4958913505dc7d44562",
      "note": "Defines user operations, bundlers, programmable validation and sponsored gas settlement.",
      "recordId": "source-a40a3054f2d60b07",
      "contentSha256": "baaa07330dcb67838234774ee8cf8022b5e16e68ddbfa4958913505dc7d44562"
    },
    {
      "id": "erc20",
      "label": "ERC-20: Token Standard",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-20",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.037727+00:00",
      "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance",
      "sha256": "50d0bdc535ed8987ac5c124cb5f9c39606806c97e909aae66ef4b747dd9c93dd",
      "note": "Defines fungible token balances, optional display metadata and spending allowance behavior.",
      "recordId": "source-e99ee03961c5d3e7",
      "contentSha256": "50d0bdc535ed8987ac5c124cb5f9c39606806c97e909aae66ef4b747dd9c93dd"
    },
    {
      "id": "issuance",
      "label": "How ETH supply changed after the Merge",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/roadmap/merge/issuance/index.md",
      "canonicalUrl": "https://ethereum.org/en/roadmap/merge/issuance/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:44.215542+00:00",
      "locator": "Post-merge issuance; the burn",
      "sha256": "c6dc1692fbd4462446ef7b240235629dd9c03c5d2accc4f5f3cde9ba9a026bf4",
      "note": "Supports consensus issuance versus fee burning; historical issuance estimates are not used as current rates.",
      "recordId": "source-8c7a7c856b194f9e",
      "contentSha256": "c6dc1692fbd4462446ef7b240235629dd9c03c5d2accc4f5f3cde9ba9a026bf4"
    },
    {
      "id": "eip1559",
      "label": "EIP-1559: Fee market change",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1559.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-1559",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.249311+00:00",
      "locator": "Abstract; specification; reference implementation",
      "sha256": "4460ad966a22d8501e12d75165c2c784c61748d8128229f115ebac1bfccac59f",
      "note": "Defines the base-fee burn, tip, maximum fee and effective gas price calculation.",
      "recordId": "source-52c8282149224113",
      "contentSha256": "4460ad966a22d8501e12d75165c2c784c61748d8128229f115ebac1bfccac59f"
    },
    {
      "id": "merge",
      "label": "The Merge",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/roadmap/merge/index.md",
      "canonicalUrl": "https://ethereum.org/en/roadmap/merge/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.712420+00:00",
      "locator": "What was the Merge; users and holders; misconceptions; relationship between upgrades",
      "sha256": "ae4ef544c8d433f3bc9c660a93e1c5de14ad5a6dbd1642b029fa2f79508dd67c",
      "note": "Supports the 2022 consensus transition, preservation of history and ETH balances, and separation from fee scaling and withdrawals.",
      "recordId": "source-50d8840839d92efa",
      "contentSha256": "ae4ef544c8d433f3bc9c660a93e1c5de14ad5a6dbd1642b029fa2f79508dd67c"
    },
    {
      "id": "eip7702",
      "label": "EIP-7702: Set Code for EOAs",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-7702.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-7702",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.249142+00:00",
      "locator": "Abstract; persistence of code delegation; transaction origination; security considerations",
      "sha256": "3d46953e13ebc7ebe229971b301ede853aad6e29f4faf4db1eb9a2085accde1b",
      "note": "Defines persistent EOA code delegation, continued transaction origination and the account-wide consequences of delegate code.",
      "recordId": "source-d4e3c4ededc427a1",
      "contentSha256": "3d46953e13ebc7ebe229971b301ede853aad6e29f4faf4db1eb9a2085accde1b"
    },
    {
      "id": "forks",
      "label": "Ethereum protocol upgrade history",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/ethereum-forks/index.md",
      "canonicalUrl": "https://ethereum.org/en/ethereum-forks/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:42:49.753070+00:00",
      "locator": "Prague-Electra (Pectra); Paris (The Merge); London",
      "sha256": "5271b10144c46964edd0e49ba692114de372f258ccdc94306198da8b7dae0d3a",
      "note": "Records shipped Pectra changes including EIP-7702 and EIP-7251; supports dated historical upgrade context.",
      "recordId": "source-556d7525a12cff50",
      "contentSha256": "5271b10144c46964edd0e49ba692114de372f258ccdc94306198da8b7dae0d3a"
    },
    {
      "id": "devguide-transactions",
      "label": "Bitcoin Developer Guide: Transactions",
      "publisher": "developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/devguide/transactions.html",
      "note": "Explains inputs spending previous outputs, unspent transaction outputs, change outputs, the fee as the remainder, transaction identifiers, and the advice against address reuse.",
      "checkedAt": "2026-10-02T14:48:40.568452+00:00",
      "contentSha256": "64097efbee7c8112f28ad172acc4d0f15c34f109fa0e3dacd5b6501506ac6e06",
      "locator": "Explains inputs spending previous outputs, unspent transaction outputs, change outputs, the fee as the remainder, transaction identifiers, and the advice against address reuse.",
      "recordId": "source-b282fdecc069b74d",
      "version": null
    },
    {
      "id": "rpc",
      "label": "JSON-RPC API",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/apis/json-rpc/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/apis/json-rpc/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.605538+00:00",
      "locator": "eth_chainId; eth_getBalance; eth_getTransactionCount; eth_call; eth_getTransactionReceipt",
      "sha256": "849abb0a4240a2f8ee9c249ceecfd120a908b08aaa0f5f7fc63055e704fc6cbd",
      "note": "Defines chain identity, balance/nonces, read-only simulation and receipt/status/log fields.",
      "recordId": "source-a7715dc3ab892daa",
      "contentSha256": "849abb0a4240a2f8ee9c249ceecfd120a908b08aaa0f5f7fc63055e704fc6cbd"
    },
    {
      "id": "interacting",
      "label": "Interacting with smart contracts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/interacting/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/smart-contracts/interacting/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.398262+00:00",
      "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating",
      "sha256": "0c969a8627399edfcae7e30d5fa1fcc02218265808be25f52a9a9a46da7dc29f",
      "note": "Supports read-only calls, state-changing transactions, ABI decoding and limits of simulation.",
      "recordId": "source-64ab603c23f79017",
      "contentSha256": "0c969a8627399edfcae7e30d5fa1fcc02218265808be25f52a9a9a46da7dc29f"
    },
    {
      "id": "eth-transactions",
      "label": "Ethereum transactions",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/transactions/",
      "locator": "The transaction lifecycle; Typed transaction envelope",
      "note": "Signed transaction fields, nonces, propagation, inclusion and transaction types.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.854Z",
      "contentSha256": "2eb9d9cb65efec673d9bb3327961aa14a0e354b612e149c5a6b733032977fee7",
      "recordId": "source-c4666896686db30e"
    },
    {
      "id": "x425-eth-eth-jsonrpc",
      "label": "Ethereum JSON-RPC API",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/apis/json-rpc/",
      "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs",
      "note": "RPC requests explicitly identify addresses and block scope; receipts and removed log fields support verification examples.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.990Z",
      "contentSha256": "ed13997ec4f415dff80883add0730d4e64bcc8c17b95dd4f6c27aed0241a4073",
      "recordId": "source-a5154b4118a3d15f"
    },
    {
      "id": "eth-accounts",
      "label": "Ethereum accounts",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/accounts/",
      "locator": "Account types; An account examined; Account creation",
      "note": "Key-controlled and code-controlled accounts, balances, nonces and storage.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.958Z",
      "contentSha256": "262a5694899ae6f774aacae66b13d6929b658ecc9e23c276af9e23ee9455f034",
      "recordId": "source-2fb64d6fc5cedb00"
    },
    {
      "id": "eip4844",
      "label": "EIP-4844: Shard Blob Transactions",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-4844.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-4844",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.590523+00:00",
      "locator": "Abstract; gas accounting; consensus-layer validation; rationale",
      "sha256": "2772bdb675d90d89ebb4bf74269e48c8ea46745e78161c8574ffa78328b31885",
      "note": "Defines blob commitments, separately priced blob gas and time-limited data serving; original capacity constants are not treated as current limits.",
      "recordId": "source-62554f5963866df3",
      "contentSha256": "2772bdb675d90d89ebb4bf74269e48c8ea46745e78161c8574ffa78328b31885"
    },
    {
      "id": "scaling",
      "label": "Scaling overview",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.354550+00:00",
      "locator": "Layer 2 scaling; rollups; sidechains; validium",
      "sha256": "184af71e45f53390c4f782d936954caf42715feb82048072d79eb05495569a21",
      "note": "Supports rollup execution/settlement roles and distinct security assumptions of sidechains and offchain data systems.",
      "recordId": "source-27bb64638570155e",
      "contentSha256": "184af71e45f53390c4f782d936954caf42715feb82048072d79eb05495569a21"
    },
    {
      "id": "x425-defi-eth-gas",
      "label": "Gas and fees",
      "publisher": "ethereum.org",
      "url": "https://ethereum.org/en/developers/docs/gas/",
      "locator": "Gas; transaction fees; failed transactions",
      "note": "Network resource cost separately from swap fees.",
      "version": "Documentation retrieved 2026-10-02",
      "checkedAt": "2026-10-02T18:53:23.863Z",
      "contentSha256": "566e61b7dce594a477ef28bab1f5a23279feb4f782e2838623fc7491c9daec66",
      "recordId": "source-5cadd0da692ffaa8"
    },
    {
      "id": "eip1559",
      "label": "Fee market change for ETH 1.0 chain",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1559",
      "locator": "Specification",
      "note": "Base fees, fee caps, priority fees and effective transaction gas price.",
      "version": "EIP/ERC-1559; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.151Z",
      "contentSha256": "453b293845f8faac282a468be0c01594f0a785dde3af34947ee676c085e011b7",
      "recordId": "source-2be2a692f09f4d89"
    },
    {
      "id": "x425-sc-erc20",
      "label": "ERC-20 Token Standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-20",
      "locator": "Token methods and events",
      "note": "Names/symbols, balances and Transfer events do not independently authenticate the issuer.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:07.936Z",
      "contentSha256": "98bda5e4707841a68684879878c4c165fdaa47d89ed69ebf232ab9be06ff050e",
      "recordId": "source-ac4ad503a55127bb"
    },
    {
      "id": "eip4844",
      "label": "Shard Blob Transactions",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4844",
      "locator": "Gas accounting; Opcode to get versioned hashes; Point evaluation precompile; Consensus layer validation",
      "note": "Blob commitments, separate blob-gas fee calculations and temporary data availability.",
      "version": "EIP/ERC-4844; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.506Z",
      "contentSha256": "d1c1eb7c505919bb326f493d163b9200b72ed0de2416deae37db6d75cc07baa5",
      "recordId": "source-f8f55ea8fe5a54a7"
    },
    {
      "id": "optimism-fees",
      "label": "OP Stack transaction fees",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/stack/transactions/fees",
      "locator": "Gas fee components; Execution gas fee; L1 data fee; Operator fee",
      "note": "Rollup execution, data-publication and operator fee components depend on active network upgrades.",
      "version": null,
      "checkedAt": "2026-10-02T17:55:17.901Z",
      "contentSha256": "99d0390b07f64df31a092d5daedf00c7aecc718e5e5601e5b70f9935fa1dc043",
      "recordId": "source-06697b48df70893b"
    },
    {
      "id": "upgrading",
      "label": "Upgrading smart contracts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/upgrading/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/smart-contracts/upgrading/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.712296+00:00",
      "locator": "What is a smart contract upgrade; proxy patterns; limitations",
      "sha256": "c1314b02587c77a7b43ce0ba02b5c8945f57b4f55ce142adb2e76044243556e5",
      "note": "Supports separation of deployed code from changeable application behavior and upgrade authority.",
      "recordId": "source-3c467cd6c5e31729",
      "contentSha256": "c1314b02587c77a7b43ce0ba02b5c8945f57b4f55ce142adb2e76044243556e5"
    },
    {
      "id": "eip140",
      "label": "REVERT instruction",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-140",
      "locator": "Specification",
      "note": "State rollback and remaining gas behavior for a REVERT instruction.",
      "version": "EIP/ERC-140; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.150Z",
      "contentSha256": "e6f49a3606194ec36158182489ede14ccc81b5d44b2450ea15f40d568e912345",
      "recordId": "source-ccab9c4be966af8f"
    },
    {
      "id": "eip658",
      "label": "Embedding transaction status code in receipts",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-658",
      "locator": "Specification",
      "note": "Receipts report top-level execution success or failure.",
      "version": "EIP/ERC-658; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.150Z",
      "contentSha256": "8bd00dd00fb9ce4944ba96e0c986486d90df7bd78c88ff9f9b6a7c7a56287f58",
      "recordId": "source-fc3b7cce0edd664b"
    },
    {
      "id": "solidity-delegatecall",
      "label": "Solidity: Delegatecall and Libraries",
      "publisher": "Solidity contributors",
      "url": "https://docs.soliditylang.org/en/v0.8.30/introduction-to-smart-contracts.html",
      "locator": "Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls",
      "note": "Execution uses another contract’s code in the caller’s context and storage.",
      "version": "Solidity 0.8.30 documentation",
      "checkedAt": "2026-10-02T17:03:42.822Z",
      "contentSha256": "9fde27b9eb16bcd47d5e9fb73a80d2d3b288ae7b74ac56b29956267028fe7a55",
      "recordId": "source-7399ee01181109d4"
    },
    {
      "id": "nodes",
      "label": "Nodes and clients",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/nodes-and-clients/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/nodes-and-clients/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.541421+00:00",
      "locator": "What are nodes and clients; benefits to you; alternatives",
      "sha256": "cb031af5a627217c4fbcd4a524e3a4c695feb7f8b1ffec6991c4d6d04475c8a6",
      "note": "Supports execution/consensus client roles, independent validation, RPC services and node-versus-validator distinctions.",
      "recordId": "source-60a91d91cd9a2e6e",
      "contentSha256": "cb031af5a627217c4fbcd4a524e3a4c695feb7f8b1ffec6991c4d6d04475c8a6"
    },
    {
      "id": "eip1193",
      "label": "EIP-1193: Ethereum Provider JavaScript API",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-1193.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-1193",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:55.037764+00:00",
      "locator": "request; events; security considerations; user account exposure",
      "sha256": "a3b5bca210b6818321c95279b9a47622343cb0eb51db058f1326b5e25ee4040d",
      "note": "Defines wallet provider requests, account/chain changes and the boundary between provider communication and wallet permission.",
      "recordId": "source-36f6aadc103db598",
      "contentSha256": "a3b5bca210b6818321c95279b9a47622343cb0eb51db058f1326b5e25ee4040d"
    },
    {
      "id": "eip712",
      "label": "EIP-712: Typed structured data hashing and signing",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-712.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-712",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:55.017191+00:00",
      "locator": "Abstract; domainSeparator; security considerations",
      "sha256": "459086f5a0b2d6a0ac4e404faebf3660a49aa4b1712711521093380689f02304",
      "note": "Defines typed-message structure and domain separation; explicitly does not supply application replay protection.",
      "recordId": "source-67a18d868dbe6d78",
      "contentSha256": "459086f5a0b2d6a0ac4e404faebf3660a49aa4b1712711521093380689f02304"
    },
    {
      "id": "eip712",
      "label": "Typed structured data hashing and signing",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-712",
      "locator": "Specification; Security Considerations",
      "note": "Typed-data encoding and domain fields; replay protection is application-specific.",
      "version": "EIP/ERC-712; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.239Z",
      "contentSha256": "0951c36c432c48e281bd131331bdd5f4426706417e0d38fa3e667c0b7f84a530",
      "recordId": "source-c78d0f0c60a42b2d"
    },
    {
      "id": "eip2612",
      "label": "Permit Extension for EIP-20 Signed Approvals",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-2612",
      "locator": "Specification; Security Considerations",
      "note": "Signed token allowances, deadlines, nonces and domain checks.",
      "version": "EIP/ERC-2612; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.295Z",
      "contentSha256": "aa208d281cac5dbb182656bc7a3feab982df5c5df9e2f6dfa9b9efb5fc578ed1",
      "recordId": "source-1f53bb744ddddb6b"
    },
    {
      "id": "erc721",
      "label": "ERC-721: Non-Fungible Token Standard",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-721",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.241155+00:00",
      "locator": "Specification; metadata extension; transfer and operator methods",
      "sha256": "238787165c08ac748928ffad57a24045802174bb38220af9e7b63c44778b7372",
      "note": "Defines token-specific ownership, transfer approvals, metadata pointers and receiving-contract checks.",
      "recordId": "source-b32b4b786f2e09c9",
      "contentSha256": "238787165c08ac748928ffad57a24045802174bb38220af9e7b63c44778b7372"
    },
    {
      "id": "erc1155",
      "label": "ERC-1155: Multi Token Standard",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-1155",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.247570+00:00",
      "locator": "Abstract; specification; safe transfer rules; metadata; approval",
      "sha256": "beac04fc902314ec0d60000e3bcb73cb7080d586f6a718b6b35a6d68a8ac98b1",
      "note": "Defines per-ID balances, batched transfers, receiver checks and operator-wide approval.",
      "recordId": "source-ebda78c6293f67ad",
      "contentSha256": "beac04fc902314ec0d60000e3bcb73cb7080d586f6a718b6b35a6d68a8ac98b1"
    },
    {
      "id": "gasper",
      "label": "Gasper",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/consensus-mechanisms/pos/gasper/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/gasper/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.699844+00:00",
      "locator": "What is finality; fork choice; inactivity leak",
      "sha256": "2b020265a6224a6c45a633ea00cdbe3f6d4390481ab24c1630630c4d41c6af41",
      "note": "Supports fork choice versus checkpoint finality and the at-least-one-third conflicting-vote overlap argument.",
      "recordId": "source-3679d5e45c004c3f",
      "contentSha256": "2b020265a6224a6c45a633ea00cdbe3f6d4390481ab24c1630630c4d41c6af41"
    },
    {
      "id": "penalties",
      "label": "Proof-of-stake rewards and penalties",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.680530+00:00",
      "locator": "Penalties; slashing; inactivity leak",
      "sha256": "71cca5841162a470adb41d748ecc776cbc33581cce37d6aa624d80f7d3c06e6e",
      "note": "Supports ordinary nonparticipation penalties versus slashable conflicting proposals/votes. Inconsistent numeric examples are not reused.",
      "recordId": "source-84ee2184771b76ba",
      "contentSha256": "71cca5841162a470adb41d748ecc776cbc33581cce37d6aa624d80f7d3c06e6e"
    },
    {
      "id": "eip7251",
      "label": "EIP-7251: Increase the MAX_EFFECTIVE_BALANCE",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-7251.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-7251",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.253355+00:00",
      "locator": "Constants; consensus layer; rationale",
      "sha256": "2a29b8d474d92c04b077f7acdb40da0cb5ba3e2e78e1e8be94c862a77c58ea5a",
      "note": "Defines 32 ETH minimum activation, 2,048 ETH maximum effective balance for compounding validators and changed withdrawal/penalty mechanics.",
      "recordId": "source-3cf968793afa83ad",
      "contentSha256": "2a29b8d474d92c04b077f7acdb40da0cb5ba3e2e78e1e8be94c862a77c58ea5a"
    },
    {
      "id": "withdrawals",
      "label": "Staking withdrawals",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/staking/withdrawals/index.md",
      "canonicalUrl": "https://ethereum.org/en/staking/withdrawals/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.704850+00:00",
      "locator": "Compounding validators; exiting staking entirely; gas free",
      "sha256": "b07adc1b65a1d3ca9805abf19bfb0bcbdb47c9de368784f55a72f75d2747b6f6",
      "note": "Supports legacy/compounding withdrawal differences, withdrawal credentials, queues and fees for execution-triggered requests.",
      "recordId": "source-1e183865190931d9",
      "contentSha256": "b07adc1b65a1d3ca9805abf19bfb0bcbdb47c9de368784f55a72f75d2747b6f6"
    },
    {
      "id": "staking",
      "label": "Solo staking",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/staking/solo/index.md",
      "canonicalUrl": "https://ethereum.org/en/staking/solo/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:43.704988+00:00",
      "locator": "How it works; responsibilities; considerations",
      "sha256": "b146ce657d32d3d025d9570df05679bd3f238f04d68ffe76d953fa4585b14380",
      "note": "Supports running execution/consensus/validator software and the operational nature of staking.",
      "recordId": "source-f2b60fa719e0c0c7",
      "contentSha256": "b146ce657d32d3d025d9570df05679bd3f238f04d68ffe76d953fa4585b14380"
    },
    {
      "id": "eip4895",
      "label": "EIP-4895: Beacon chain push withdrawals as operations",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://raw.githubusercontent.com/ethereum/EIPs/ac912ca6a9685590345dd8e5736cda75976d0131/EIPS/eip-4895.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-4895",
      "version": "ac912ca6a9685590345dd8e5736cda75976d0131",
      "checkedAt": "2026-10-02T14:35:51.020711+00:00",
      "locator": "Specification; rationale",
      "sha256": "f7766f0bd9bb14f76479c01e77388fd1a8823cb17c2919a317d51038a9e1be69",
      "note": "Defines consensus-initiated withdrawals as balance credits distinct from ordinary EVM transactions.",
      "recordId": "source-f3607f391480a169",
      "contentSha256": "f7766f0bd9bb14f76479c01e77388fd1a8823cb17c2919a317d51038a9e1be69"
    },
    {
      "id": "optimistic",
      "label": "Optimistic rollups",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/optimistic-rollups/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.579696+00:00",
      "locator": "Fraud proving; censorship resistance; exiting the rollup",
      "sha256": "cb9e43862d4716e7fac18423a53aa8efde7597ef9ed4c19d65acb7ceca2f21cd",
      "note": "Supports challenge periods, dispute verification, sequencer ordering and withdrawal distinctions; concrete timings depend on the implementation.",
      "recordId": "source-e415b897a2b02da7",
      "contentSha256": "cb9e43862d4716e7fac18423a53aa8efde7597ef9ed4c19d65acb7ceca2f21cd"
    },
    {
      "id": "validity",
      "label": "Zero-knowledge rollups",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/scaling/zk-rollups/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/scaling/zk-rollups/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.579728+00:00",
      "locator": "Data availability; validity proofs; withdrawals; EVM compatibility",
      "sha256": "c3d22a952a4e66b8ee0bd45a80fd013b2a6ee9d78e1d346482297c2768fe2712",
      "note": "Supports validity proofs and public rollup data; no claim that every withdrawal is instant or that every ZK system is private.",
      "recordId": "source-b267e88f1835f980",
      "contentSha256": "c3d22a952a4e66b8ee0bd45a80fd013b2a6ee9d78e1d346482297c2768fe2712"
    },
    {
      "id": "data-availability",
      "label": "Data availability",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/data-availability/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/data-availability/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:47.112785+00:00",
      "locator": "Data availability problem; rollups; availability versus retrievability",
      "sha256": "8ef54fe5d3ff94dec32a7de22795770098bed269e308d5a2ad1dd6e542d909e9",
      "note": "Supports why a hash is not sufficient to reconstruct data and why availability differs from permanent historical storage.",
      "recordId": "source-73ba119e5fae20da",
      "contentSha256": "8ef54fe5d3ff94dec32a7de22795770098bed269e308d5a2ad1dd6e542d909e9"
    },
    {
      "id": "explorer",
      "label": "Block explorers",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/data-and-analytics/block-explorers/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/data-and-analytics/block-explorers/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:42:49.128620+00:00",
      "locator": "Execution data; transactions; accounts; tokens; consensus layer data",
      "sha256": "38648bf2bd01368d91b53747550b0ab705046fee3d011a9a3f9ac8dc0da38df3",
      "note": "Supports the fields a learner can inspect and the distinction between execution and consensus views.",
      "recordId": "source-1fa084080820eccf",
      "contentSha256": "38648bf2bd01368d91b53747550b0ab705046fee3d011a9a3f9ac8dc0da38df3"
    },
    {
      "id": "geth-tracing",
      "label": "Geth built-in tracers",
      "publisher": "Go Ethereum",
      "url": "https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers",
      "locator": "callTracer; prestateTracer",
      "note": "Nested EVM call traces and the distinction between tracing and top-level transactions.",
      "version": null,
      "checkedAt": "2026-10-02T17:25:58.908Z",
      "contentSha256": "0528d605bfb3fb8f0e38525282805a88734c04f9f3763e7a05dff9b3934b11a3",
      "recordId": "source-269c0acf9654acdf"
    },
    {
      "id": "stablecoin-definition",
      "label": "SEC Division of Corporation Finance: Statement on Stablecoins",
      "publisher": "U.S. Securities and Exchange Commission",
      "url": "https://www.sec.gov/newsroom/speeches-statements/statement-stablecoins-040425",
      "note": "Definition and intended reference asset; statement has explicitly limited scope, not a general legal classification.",
      "checkedAt": "2026-10-02T14:41:32.877120+00:00",
      "locator": "Introduction and Description of Covered Stablecoins",
      "recordId": "source-3869f308765efb15",
      "contentSha256": null,
      "version": null
    },
    {
      "id": "x425-sc-circle-terms",
      "label": "USDC Terms",
      "publisher": "Circle",
      "url": "https://www.circle.com/legal/usdc-terms",
      "locator": "USDC; redemption; third-party services and risk disclosures",
      "note": "Issuer redemption eligibility, dollar denomination, third-party market value and supported-chain limitations.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.108Z",
      "contentSha256": "9f4f8a97c8adae035c09f0d03f088939f9d6b1e25de1be3e3e56035ca1fd1a2f",
      "recordId": "source-3f274c8c1e62ebb9"
    },
    {
      "id": "sky-vat",
      "label": "Vat: Core Accounting",
      "publisher": "Sky Protocol",
      "url": "https://developers.skyeco.com/protocol/core/vat/",
      "note": "Collateralized issuance, debt accounting, oracle and governance dependencies.",
      "checkedAt": "2026-10-02T14:38:38.888971+00:00",
      "locator": "Vault Management; Failure Modes; Accounting",
      "version": "Response SHA-256 78db21089399df6c25df458f98d0129333f3e72138de185b96610fe82f0a74dd",
      "recordId": "source-69368320969c12c1",
      "contentSha256": null
    },
    {
      "id": "circle-transparency",
      "label": "Transparency and Stability",
      "publisher": "Circle",
      "url": "https://www.circle.com/transparency",
      "locator": "Reserves composition; Monthly assurance and transparency",
      "note": "Issuer-disclosed backing, separate reserve funds and assurance report scope.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:43.181Z",
      "contentSha256": "c309c9d5d4475f82930927a407a8e895e9e7a9e0da0de6901562892c33385209",
      "recordId": "source-0040950f540a1520"
    },
    {
      "id": "circle-bridged",
      "label": "Third-Party Bridged USDC Terms",
      "publisher": "Circle",
      "url": "https://www.circle.com/legal/bridged-usdc-terms",
      "note": "Bridged tokens and native USDC differ in issuer relationship and bridge dependency.",
      "checkedAt": "2026-10-02T14:38:48.775643+00:00",
      "locator": "Scope; risks and bridge conversion",
      "version": "Response SHA-256 aeeeba497c6a8aaa31c70867b65eff818ef40eb2e96e7a890c49d48893974137",
      "recordId": "source-4f0a8db3369a736a",
      "contentSha256": null
    },
    {
      "id": "circle-risk",
      "label": "USDC Risk Factors",
      "publisher": "Circle",
      "url": "https://www.circle.com/legal/usdc-risk-factors",
      "note": "Operational, banking and transfer restrictions.",
      "checkedAt": "2026-10-02T14:38:29.678429+00:00",
      "locator": "Blocked Addresses; Software protocols; Claim on funds",
      "version": "Response SHA-256 0b2c30c7cbbb8058626ad7023b2c5282cb99b5bf95216d97010979846ce0e073",
      "recordId": "source-f0ded1628723f35a",
      "contentSha256": null
    },
    {
      "id": "tether-fees",
      "label": "Tether fee schedule",
      "publisher": "Tether",
      "url": "https://tether.to/en/fees/",
      "note": "Issuer service fees and minimums, distinct from exchange and network fees.",
      "checkedAt": "2026-10-02T14:38:29.678719+00:00",
      "locator": "Direct acquisition and redemption",
      "version": "Response SHA-256 6e032c6a54088fea9f166296137237ab04cf589fc35b921e42df3ca6d922456c",
      "recordId": "source-1f069dbb50ebe6ce",
      "contentSha256": null
    },
    {
      "id": "circle-eurc",
      "label": "EURC Terms",
      "publisher": "Circle",
      "url": "https://www.circle.com/legal/eurc-terms",
      "note": "Euro reference, reserve denomination and issuer/redemption scope; not a USD peg.",
      "checkedAt": "2026-10-02T14:38:53.343445+00:00",
      "locator": "Sections 1–2 and 13",
      "version": "Response SHA-256 4001e52b92c2e8a39d906c99e579bba86e0ef4c6c7540f32926f314b314fed54",
      "recordId": "source-a09b71c06b48db6b",
      "contentSha256": null
    },
    {
      "id": "tether-terms",
      "label": "Tether Terms of Service",
      "publisher": "Tether",
      "url": "https://tether.to/en/legal/",
      "locator": "Terms of Service; Eligibility; Redemption",
      "note": "Direct access and redemption depend on current issuer terms and customer eligibility.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:43.707Z",
      "contentSha256": "c1b3340b4a7d30479fbb342895a2c5edbc46561e71271e8e52ec66c8e26c941e",
      "recordId": "source-42226350ff0e7b0b"
    },
    {
      "id": "pcaob-por",
      "label": "Investor advisory on proof-of-reserve reports",
      "publisher": "PCAOB Office of the Investor Advocate",
      "url": "https://pcaobus.org/resources/information-for-investors/investor-advisories/investor-advisory-exercise-caution-with-third-party-verification-proof-of-reserve-reports",
      "note": "Proof of reserves is not an audit; obligations and rights may be omitted.",
      "checkedAt": "2026-10-02T14:41:32.877368+00:00",
      "locator": "PoR Reports Are Not Audits; Limitations",
      "recordId": "source-31ff3a0c34592267",
      "contentSha256": null,
      "version": null
    },
    {
      "id": "sky-liquidation",
      "label": "Collateral Liquidation",
      "publisher": "Sky Protocol",
      "url": "https://developers.skyeco.com/protocol/vaults/collateral-liquidation/",
      "note": "Liquidation via collateral sales, parameters and failure modes.",
      "checkedAt": "2026-10-02T14:38:38.896399+00:00",
      "locator": "Liquidation 2.0 module; Auctions",
      "version": "Response SHA-256 87c3e3e29ccffdca8cf63e766c29458e2bd58033852894bb347f9f7fdae53a5d",
      "recordId": "source-e50fa98c976bfb4a",
      "contentSha256": null
    },
    {
      "id": "sky-collateral",
      "label": "What is USDS?",
      "publisher": "Sky.money / Skybase International",
      "url": "https://sky.money/blog/what-is-usds",
      "note": "Dated 2026-06-12 description of diversified collateral and separate savings product; marketing assertions not independently audited.",
      "checkedAt": "2026-10-02T14:38:42.654541+00:00",
      "locator": "How USDS holds its peg; Protocol Collateral; Does USDS generate yield?",
      "version": "Response SHA-256 3726cdd7e7b5e102192c9e0df4f87d2c7fc6dda8b0259152430012681ef85c1d",
      "recordId": "source-e789fc9fcc6cbef2",
      "contentSha256": null
    },
    {
      "id": "terra-order",
      "label": "Tai Mo Shan settlement: UST stability claims",
      "publisher": "U.S. Securities and Exchange Commission",
      "url": "https://www.sec.gov/newsroom/press-releases/2024-212",
      "note": "Historical UST mechanism, 2021 depeg intervention and misleading claims.",
      "checkedAt": "2026-10-02T14:41:32.877371+00:00",
      "locator": "December 20, 2024 release and order summary",
      "recordId": "source-481192ca52ef4728",
      "contentSha256": null,
      "version": null
    },
    {
      "id": "ethena-overview",
      "label": "Ethena Overview",
      "publisher": "Ethena",
      "url": "https://docs.ethena.fi/",
      "note": "USDe hedge mechanism and sUSDe separation.",
      "checkedAt": "2026-10-02T14:38:45.120498+00:00",
      "locator": "Ethena Overview",
      "version": "Response SHA-256 9bdb9a08e8e6b1524188c86350374c2be2dbfc790c4e22dfba0c7cefb738c7c5",
      "recordId": "source-bb28943c341debcb",
      "contentSha256": null
    },
    {
      "id": "ethena-funding",
      "label": "Funding Risk",
      "publisher": "Ethena",
      "url": "https://docs.ethena.fi/protocol-overview/risks/funding-risk",
      "note": "Positive and negative derivatives funding, reserve buffer, no guaranteed yield.",
      "checkedAt": "2026-10-02T14:38:45.198396+00:00",
      "locator": "Funding Risk",
      "version": "Response SHA-256 ee8eac437f5ce9a530f8680ad4d9ff4b3410c081aa1e141752c0713fe34acb05",
      "recordId": "source-d76fdb05e65ebdf3",
      "contentSha256": null
    },
    {
      "id": "ethena-risks",
      "label": "Risks",
      "publisher": "Ethena",
      "url": "https://docs.ethena.fi/protocol-overview/risks",
      "locator": "Funding risk; Custody risk; Exchange failure risk",
      "note": "Dependencies that can affect the synthetic-dollar hedge and redemption mechanism.",
      "version": null,
      "checkedAt": "2026-10-02T17:21:46.948Z",
      "contentSha256": "2c45213bf0394ab2ef1c8880620b24c375a46d187f3fb227f725a7bb59f15d9d",
      "recordId": "source-ae3fbd942aa6f5fe"
    },
    {
      "id": "sky-usds",
      "label": "USDS and DAI USDS Converter",
      "publisher": "Sky Protocol",
      "url": "https://developers.skyeco.com/protocol/tokens/usds/",
      "note": "1:1 bidirectional conversion, no route fee, upgradeable USDS token.",
      "checkedAt": "2026-10-02T14:38:41.077417+00:00",
      "locator": "Overview; DAI USDS Converter",
      "version": "Response SHA-256 3a95b542120de92772fc69193e03ada9c3d397c933276d6dac3fbe7b75254e2c",
      "recordId": "source-ef2407e0023c001f",
      "contentSha256": null
    },
    {
      "id": "x425-sc-tether-faq",
      "label": "Frequently asked questions",
      "publisher": "Tether",
      "url": "https://tether.to/en/faqs/",
      "locator": "Authorized but not issued; tokens in circulation; mining",
      "note": "Treasury authorization, issuance and reserve/redemption vocabulary as described by the issuer.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:06.704Z",
      "contentSha256": "9962856579d7c42b07095dcc537811b643fb596ca3240c7d6e4e0ab8bd6710f6",
      "recordId": "source-d1b96579be34c419"
    },
    {
      "id": "paxos-pyusd",
      "label": "PayPal USD Transparency",
      "publisher": "Paxos",
      "url": "https://www.paxos.com/pyusd-transparency",
      "locator": "Reserve reports; Issuer disclosures",
      "note": "PYUSD issuer disclosures and dated reserve attestations.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:43.402Z",
      "contentSha256": "e0c17220177f94d461c34fa82061459cdf6a83733efc0597dda6966a477852a6",
      "recordId": "source-14f3159cb9c7a996"
    },
    {
      "id": "circle-svb",
      "label": "USDC reserve risk removed after Silicon Valley Bank failure",
      "publisher": "Circle",
      "url": "https://www.circle.com/pressroom/3-3-billion-of-usdc-reserve-risk-removed-dollar-de-peg-closes",
      "note": "Historical $3.3 billion reserve deposit and banking access; no current reserve estimate.",
      "checkedAt": "2026-10-02T14:38:47.482024+00:00",
      "locator": "March 12, 2023 announcement, published March 13",
      "version": "Response SHA-256 1678a0037bca77a2dccf83de12cb3b8342cc8f899852756a2f997753913d3da3",
      "recordId": "source-063c331ff17c4380",
      "contentSha256": null
    },
    {
      "id": "x425-sc-circle-cctp",
      "label": "Cross-Chain Transfer Protocol",
      "publisher": "Circle",
      "url": "https://developers.circle.com/cctp",
      "locator": "CCTP overview; CCTP for non-USDC assets comparison table (Attestation)",
      "note": "Native USDC cross-chain burn/attest/mint transport and its supported-network scope.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.961Z",
      "contentSha256": "c4e7c094a2db1da563c12fd00050c89ba20c55822f19735a119825b891aaba1c",
      "recordId": "source-c7e6dd4bc23e4413"
    },
    {
      "id": "circle-cctp-flow",
      "label": "Cross-Chain Transfer Protocol",
      "publisher": "Circle",
      "url": "https://www.circle.com/cross-chain-transfer-protocol",
      "locator": "Burn; Attestation; Mint",
      "note": "Issuer-described attestation dependency in cross-chain asset transfers.",
      "version": null,
      "checkedAt": "2026-10-02T17:33:31.537Z",
      "contentSha256": "2904f8ac4f383b5658aa964aa94def9ff7c93db5de6a0461c7b9d127b1cc5ba7",
      "recordId": "source-fea34ae52509a994"
    },
    {
      "id": "sky-savings",
      "label": "Sky Savings Rate",
      "publisher": "Sky",
      "url": "https://developers.skyeco.com/protocol/tokens/susds/",
      "locator": "sUSDS (Savings USDS); Details",
      "note": "Savings-share interface and upgradeable design; parameter values and deployed authority require separate evidence.",
      "version": null,
      "checkedAt": "2026-10-02T17:06:51.378Z",
      "contentSha256": "716dfc8908869b68eaf9041894aa1e6e46abc71f19181e89f89ac5955a6a8831",
      "recordId": "source-99c494fb0f9d448b"
    },
    {
      "id": "aave-reserve",
      "label": "Reserve",
      "publisher": "Aave",
      "url": "https://www.aave.com/docs/aave-v3/concepts/reserve",
      "locator": "Key Reserve Parameters; Dynamic Parameters and Governance",
      "note": "Reserve LTV, liquidation threshold, borrow availability, caps and rate parameters.",
      "version": "Aave V3 documentation",
      "checkedAt": "2026-10-02T17:03:44.647Z",
      "contentSha256": "d0a67f33949654d88c124c14222ce1e493f86a9895b956b5e7b99c5f8102e672",
      "recordId": "source-15989fc372ee02a4"
    },
    {
      "id": "ethena-staking",
      "label": "Staked USDe",
      "publisher": "Ethena",
      "url": "https://docs.ethena.fi/technical-design/staking-usde",
      "locator": "Staked USDe; Rewards; Unstaking",
      "note": "Share-based staking token, variable rewards and withdrawal conditions.",
      "version": null,
      "checkedAt": "2026-10-02T17:06:51.358Z",
      "contentSha256": "eb38212c56b73270a60d2c077a48a5039b0f00cba26a2a24fd105ce8456ec873",
      "recordId": "source-1a907fa1c9e187fe"
    },
    {
      "id": "eip4626",
      "label": "Tokenized Vaults",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4626",
      "locator": "Specification; Security Considerations",
      "note": "Assets, shares, deposits, withdrawals, limits and preview rounding.",
      "version": "EIP/ERC-4626; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.366Z",
      "contentSha256": "0f3b3abdb9e37ef4094f0ad5c6c469a56e888fcc52415d4bf8e657e2b34792ab",
      "recordId": "source-0500eb916f66cd39"
    },
    {
      "id": "franklin-prospectus",
      "label": "Franklin OnChain U.S. Government Money Fund prospectus",
      "publisher": "Franklin Templeton / SEC EDGAR",
      "url": "https://www.sec.gov/Archives/edgar/data/1786958/000165558926000970/c485bpos.htm",
      "note": "Fund shares/BENJI, government money-market assets, eligible accounts, no insured deposit or guaranteed share value.",
      "checkedAt": "2026-10-02T14:41:32.877374+00:00",
      "locator": "Fund Summary; Principal Risks; Shareholder Information",
      "recordId": "source-b44349208fc7b5d5",
      "contentSha256": null,
      "version": null
    },
    {
      "id": "defi",
      "label": "Ethereum DeFi overview",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/defi/",
      "locator": "What is DeFi?; How does DeFi work?",
      "note": "Financial applications and the distinction between blockchain, assets, protocols and interfaces.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-6bc833104d3a27ba",
      "contentSha256": null
    },
    {
      "id": "x425-defi-aave-pool",
      "label": "Aave v3 Pool",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/pool",
      "locator": "repay; setUserUseReserveAsCollateral; withdraw; setUserEMode",
      "note": "Specific v3 write-method constraints and amount sentinel.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.762Z",
      "contentSha256": "fb2828e86231a1280760fef675f3ee83825f32543b79c8c8529050e8da3281a3",
      "recordId": "source-b35859a766315ce4"
    },
    {
      "id": "x425-defi-oz-access",
      "label": "Access Control",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/access-control",
      "locator": "Ownership; roles; delayed access",
      "note": "Privileges beyond a locked LP position.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:23.338Z",
      "contentSha256": "64d4904044619055e92ed628892df0be1db2aec6a37ccd1c14384b4348211c80",
      "recordId": "source-56dd3f4220f6fea2"
    },
    {
      "id": "x425-eth-eip1193",
      "label": "Ethereum Provider JavaScript API",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1193",
      "locator": "Provider errors; connectivity; request",
      "note": "Wallet connection and authorization error categories do not prove an onchain transaction occurred.",
      "version": "EIP-1193",
      "checkedAt": "2026-10-02T18:55:24.986Z",
      "contentSha256": "7a29e3f43c262ad3f663b8f419257132c127e1580c91cbe837d59f86a5bd7ab4",
      "recordId": "source-b0746cbddfc23325"
    },
    {
      "id": "pricing",
      "label": "Uniswap v2 pricing",
      "publisher": "Uniswap",
      "url": "https://developers.uniswap.org/docs/protocols/v2/concepts/pricing",
      "locator": "Pricing Trades; Exact Input; Exact Output",
      "note": "Reserve-dependent quotes, trade bounds and external price observations.",
      "version": "Uniswap v2",
      "checkedAt": "2026-10-02",
      "recordId": "source-5cf943a6c62eb740",
      "contentSha256": null
    },
    {
      "id": "x425-defi-v2-pair-code",
      "label": "Uniswap v2 Pair implementation",
      "publisher": "Uniswap",
      "url": "https://raw.githubusercontent.com/Uniswap/v2-core/v1.0.1/contracts/UniswapV2Pair.sol",
      "locator": "mint; burn; swap; _mintFee",
      "note": "LP redemption authority and reserve accounting.",
      "version": "Uniswap v2-core v1.0.1",
      "checkedAt": "2026-10-02T18:53:23.210Z",
      "contentSha256": "43a5421b31415868367b62bfa161ca10bcee03778873faad905f5a3e2cce9cbd",
      "recordId": "source-5651ae58cdcb25c2"
    },
    {
      "id": "uniswapx",
      "label": "Introducing the UniswapX Protocol",
      "publisher": "Uniswap Labs",
      "url": "https://blog.uniswap.org/uniswapx-protocol",
      "locator": "Next-level aggregation; Gas-free swapping — and no cost for failed swaps",
      "note": "Dated example of signed orders filled and submitted by competing third parties.",
      "version": "2023-07-17 announcement",
      "checkedAt": "2026-10-02",
      "recordId": "source-9b0271b32c669dd2",
      "contentSha256": null
    },
    {
      "id": "uniswap-v2",
      "label": "Uniswap v2 whitepaper",
      "publisher": "Uniswap",
      "url": "https://app.uniswap.org/whitepaper.pdf",
      "locator": "Price oracle; Liquidity; Fees",
      "note": "Full-range constant-product inventory and cumulative-price oracle design.",
      "version": "Uniswap v2 whitepaper, March 2020",
      "checkedAt": "2026-10-02T17:03:45.008Z",
      "contentSha256": "32f8efd517767d8effb908e322df5ed1fe746ad0a3e642d49596cf2de1a6d21d",
      "recordId": "source-9d6f5c70415da83e"
    },
    {
      "id": "x425-defi-uni-x",
      "label": "UniswapX Overview",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/uniswapx/overview",
      "locator": "Signed orders; fillers; auctions",
      "note": "Outcome-based swap authorization and filler settlement.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.990Z",
      "contentSha256": "924f997b2916887483dd58e39a87e4e2111f4c00fd068df1fb24ce47ef271248",
      "recordId": "source-2ffecd3d628a4d03"
    },
    {
      "id": "v3",
      "label": "Introducing Uniswap v3",
      "publisher": "Uniswap Labs",
      "url": "https://blog.uniswap.org/uniswap-v3",
      "locator": "Concentrated Liquidity; Active Liquidity; Non-Fungible Liquidity",
      "note": "Range-based liquidity, inactive positions and position-specific accounting.",
      "version": "2021-03-23 announcement",
      "checkedAt": "2026-10-02",
      "recordId": "source-f5705afc81647349",
      "contentSha256": null
    },
    {
      "id": "library",
      "label": "Uniswap v2 quote library",
      "publisher": "Uniswap",
      "url": "https://raw.githubusercontent.com/Uniswap/v2-periphery/ed24991304291297c3b4a52818d02f46a17aa9a2/contracts/libraries/UniswapV2Library.sol",
      "locator": "getAmountOut, lines 43–49; getAmountIn, lines 53–58",
      "note": "Fee-adjusted exact-input output uses integer division; exact-output input rounds upward.",
      "version": "v2-periphery commit ed24991304291297c3b4a52818d02f46a17aa9a2",
      "checkedAt": "2026-10-02",
      "recordId": "source-797a8496336a5bb2",
      "contentSha256": null
    },
    {
      "id": "pools",
      "label": "Uniswap v2 pools",
      "publisher": "Uniswap",
      "url": "https://developers.uniswap.org/docs/protocols/v2/concepts/pools",
      "locator": "Introduction; Pool tokens",
      "note": "Two-token pools, proportional claims and changing token composition.",
      "version": "Uniswap v2",
      "checkedAt": "2026-10-02",
      "recordId": "source-6f65e0d527a4f4eb",
      "contentSha256": null
    },
    {
      "id": "uniswap-v3",
      "label": "Uniswap v3 whitepaper",
      "publisher": "Uniswap",
      "url": "https://app.uniswap.org/whitepaper-v3.pdf",
      "locator": "Concentrated Liquidity; Oracle",
      "note": "Range-based positions and oracle time accumulation.",
      "version": "Uniswap v3 whitepaper, March 2021",
      "checkedAt": "2026-10-02T17:03:45.213Z",
      "contentSha256": "1be05d1134f677dfbce9afa7392a2c200c000f3db74fb8d228e3636a2b624494",
      "recordId": "source-a0860b156550d3eb"
    },
    {
      "id": "returns",
      "label": "Understanding returns",
      "publisher": "Uniswap",
      "url": "https://developers.uniswap.org/docs/protocols/v2/concepts/understanding-returns",
      "locator": "Risks; Why is my liquidity worth less than I put in?",
      "note": "The no-fee full-range constant-product comparison with holding both tokens.",
      "version": "Uniswap v2",
      "checkedAt": "2026-10-02",
      "recordId": "source-0960594c4bc8beaa",
      "contentSha256": null
    },
    {
      "id": "router",
      "label": "Introducing the Auto Router",
      "publisher": "Uniswap Labs",
      "url": "https://blog.uniswap.org/auto-router",
      "locator": "Split Routes; Gas Cost Awareness",
      "note": "A dated implementation example of routing across pools with gas-aware optimization.",
      "version": "2021-09-16 announcement",
      "checkedAt": "2026-10-02",
      "recordId": "source-8c39f0775aa765a9",
      "contentSha256": null
    },
    {
      "id": "mev",
      "label": "Maximal extractable value",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/developers/docs/mev/",
      "locator": "MEV extraction; Examples of MEV",
      "note": "Transaction ordering, arbitrage, liquidation and sandwich mechanisms.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-5bbc1a71e6d876eb",
      "contentSha256": null
    },
    {
      "id": "flash",
      "label": "Aave V3 flash loans",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/guides/flash-loans",
      "locator": "Overview; Execution Flow; Flash loan fee",
      "note": "Atomic repayment, receiver callbacks and distinct debt-opening options.",
      "version": "Aave V3",
      "checkedAt": "2026-10-02",
      "recordId": "source-f64306b50a0ea831",
      "contentSha256": null
    },
    {
      "id": "oracle",
      "label": "Oracles",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/developers/docs/oracles/",
      "locator": "What is an oracle?; The oracle problem",
      "note": "External observations and the trust boundary between data and consensus.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-72dd33a43173ecf1",
      "contentSha256": null
    },
    {
      "id": "feed",
      "label": "Data Feeds API Reference",
      "publisher": "Chainlink",
      "url": "https://docs.chain.link/data-feeds/api-reference",
      "locator": "decimals; latestRoundData",
      "note": "Feed values, decimal scaling and the updatedAt timestamp.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-163350e327eb8f0a",
      "contentSha256": null
    },
    {
      "id": "feeds",
      "label": "Selecting Quality Data Feeds",
      "publisher": "Chainlink",
      "url": "https://docs.chain.link/data-feeds/selecting-data-feeds",
      "locator": "Data Feed Categories; Market pricing risk by category; Risk Mitigation",
      "note": "Feed-specific assumptions, liquidity and integration risk.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-76ea868a55c4a4e6",
      "contentSha256": null
    },
    {
      "id": "aave-tokens",
      "label": "Tokenization",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/tokenization",
      "locator": "aToken; VariableDebtToken",
      "note": "Supply receipt and nontransferable debt accounting using interest indexes.",
      "version": "Aave V3 documentation",
      "checkedAt": "2026-10-02T17:03:44.686Z",
      "contentSha256": "8ffed956886dda4a4e36704b1f63b33bf2c270ebecefe048a8cce3bb46d55c10",
      "recordId": "source-8a1758eedafba9ec"
    },
    {
      "id": "x425-defi-aave-health",
      "label": "Health Factor and Liquidations",
      "publisher": "Aave",
      "url": "https://aave.com/help/borrowing/liquidations",
      "locator": "Health Factor; Managing Health Factor",
      "note": "Weighted liquidation thresholds; no universal safe ratio.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.960Z",
      "contentSha256": "30c991765c763cc1bc7665de9fdf6603c969677068261beca7dfb11eb85018f4",
      "recordId": "source-74f79d59daaab5f0"
    },
    {
      "id": "rates",
      "label": "Aave V3 interest rate strategy",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/interest-rate-strategy",
      "locator": "Interest Rate Strategy; calculateInterestRates",
      "note": "Reserve-dependent variable rates and slopes around the optimal usage ratio.",
      "version": "Aave V3",
      "checkedAt": "2026-10-02",
      "recordId": "source-e0d5e3ec6dc3c5f1",
      "contentSha256": null
    },
    {
      "id": "incentives",
      "label": "Aave V3 incentives",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/incentives",
      "locator": "RewardsController; configureAssets; claimRewards",
      "note": "Reward distribution and emission schedules are separate from lending interest.",
      "version": "Aave V3",
      "checkedAt": "2026-10-02",
      "recordId": "source-fd03592de5076eb9",
      "contentSha256": null
    },
    {
      "id": "lido",
      "label": "Lido core contract",
      "publisher": "Lido contributors",
      "url": "https://docs.lido.fi/contracts/lido/",
      "locator": "Deposit; Redeem; Rebase",
      "note": "stETH share accounting, rebases and staking-pool dependencies.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-ed9152cad5abfcb8",
      "contentSha256": null
    },
    {
      "id": "wsteth",
      "label": "wstETH wrapper",
      "publisher": "Lido contributors",
      "url": "https://docs.lido.fi/contracts/wsteth/",
      "locator": "What is wrapped stETH (wstETH)?; wrap; unwrap",
      "note": "Fixed wrapper balances with changing stETH conversion rates.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-0c2e10353d5983bd",
      "contentSha256": null
    },
    {
      "id": "lido-withdrawals",
      "label": "WithdrawalQueueERC721",
      "publisher": "Lido",
      "url": "https://docs.lido.fi/contracts/withdrawal-queue-erc721/",
      "locator": "Request; Finalization; Claim",
      "note": "Withdrawal request receipts, finalization and separate claims.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:45.624Z",
      "contentSha256": "cde7564b0947a9a0bad64921749dbbea5fa01602436e2f1818fd096acfc6fedd",
      "recordId": "source-e6758f7dcc7bc56a"
    },
    {
      "id": "weth",
      "label": "WETH9 reference implementation",
      "publisher": "Uniswap repository",
      "url": "https://raw.githubusercontent.com/Uniswap/v2-periphery/ed24991304291297c3b4a52818d02f46a17aa9a2/contracts/test/WETH9.sol",
      "locator": "deposit; withdraw; balanceOf",
      "note": "ETH deposits mint WETH balances; withdrawal burns balance and returns ETH.",
      "version": "v2-periphery commit ed24991304291297c3b4a52818d02f46a17aa9a2",
      "checkedAt": "2026-10-02",
      "recordId": "source-012a4cc1dd651125",
      "contentSha256": null
    },
    {
      "id": "bridges",
      "label": "Introduction to blockchain bridges",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/developers/docs/bridges/",
      "locator": "How do bridges work?; Bridge types; Risk with bridges",
      "note": "Lock/mint, burn/mint and liquidity-based transfers have different trust assumptions.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-707654935f40e45a",
      "contentSha256": null
    },
    {
      "id": "crosschain",
      "label": "ERC-5164: Cross-Chain Execution",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-5164",
      "locator": "MessageDispatcher; MessageExecutor; Security Considerations",
      "note": "An interface specification showing unique message identifiers, origin validation and replay protection; implementation security is separate.",
      "version": "ERC-5164 Last Call, retrieved 2026-10-02",
      "checkedAt": "2026-10-02",
      "recordId": "source-afe3d8fc39833a5a",
      "contentSha256": null
    },
    {
      "id": "across",
      "label": "Intent Architecture in Across",
      "publisher": "Across Protocol",
      "url": "https://docs.across.to/guides/concepts/intents-architecture",
      "locator": "Competitive Relayer Network; Settlement Layer; How Settlement Flows",
      "note": "Relayers front destination capital and are reimbursed through a separate settlement process.",
      "version": "Documentation retrieved 2026-10-02",
      "checkedAt": "2026-10-02",
      "recordId": "source-53b00db0ed8a534c",
      "contentSha256": null
    },
    {
      "id": "oz-vault",
      "label": "ERC-4626",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/erc4626",
      "locator": "Security concern: Inflation attack; Defending with a virtual offset",
      "note": "Vault share conversion, rounding, donations and inflation-attack defenses.",
      "version": "OpenZeppelin Contracts 5.x",
      "checkedAt": "2026-10-02T17:03:43.088Z",
      "contentSha256": "76a796f770dd8a76bb890dbe91359d0f35582c995e72e1aa809f32b41831005f",
      "recordId": "source-e18b8696025f65d0"
    },
    {
      "id": "x425-defi-oz-governance",
      "label": "How to set up on-chain governance",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/governance",
      "locator": "Proposal threshold; quorum; Votes; snapshot",
      "note": "Governance gates, historical voting power and execution.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.811Z",
      "contentSha256": "8cd8a9df31a3165f8f33dab4dfe215bbed6043818a09edfaf72c4600c1463843",
      "recordId": "source-5ae9ea0050b20bf7"
    },
    {
      "id": "dao",
      "label": "Decentralized autonomous organizations",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/dao/",
      "locator": "How do DAOs work?; DAO membership; How do DAOs govern?",
      "note": "Membership, proposal processes and treasury governance vary across organizations.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-89c144007e4dcbca",
      "contentSha256": null
    },
    {
      "id": "oz-proxy",
      "label": "Proxy contracts",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/api/proxy",
      "locator": "TransparentUpgradeableProxy; UUPSUpgradeable; ERC1967Proxy",
      "note": "Proxy implementation slots, delegated execution and upgrade authority.",
      "version": "OpenZeppelin Contracts 5.x",
      "checkedAt": "2026-10-02T17:03:43.024Z",
      "contentSha256": "58fe40b9eaa6d3cf92e48caed2d8db247a790b1a3055948095a48c7f8eb77854",
      "recordId": "source-16bb921e662a5173"
    },
    {
      "id": "audit",
      "label": "Uniswap v4 Core Audit",
      "publisher": "OpenZeppelin Security",
      "url": "https://www.openzeppelin.com/news/uniswap-v4-core-audit",
      "locator": "Scope; Security Model and Trust Assumptions; Conclusion",
      "note": "An actual audit identifies reviewed revisions, assumptions, findings and resolutions.",
      "version": "2024-08-27 report; reviewed commit d5d4957",
      "checkedAt": "2026-10-02",
      "recordId": "source-3665c27c1b3e405a",
      "contentSha256": null
    },
    {
      "id": "euler",
      "label": "Euler V1 exploit and recovery account",
      "publisher": "Euler Labs",
      "url": "https://www.euler.finance/blog/war-peace-behind-the-scenes-of-eulers-240m-exploit-recovery",
      "locator": "March 13th; WTF is the donateToReserves function?; The exploit in real-time",
      "note": "The team attributes the 2023 exploit to a missing health check and describes affected integrations.",
      "version": "2024-01-10 retrospective of March 2023",
      "checkedAt": "2026-10-02",
      "recordId": "source-3920ce4881048430",
      "contentSha256": null
    },
    {
      "id": "vyper",
      "label": "Incorrectly allocated named re-entrancy locks",
      "publisher": "Vyper maintainers",
      "url": "https://github.com/vyperlang/vyper/security/advisories/GHSA-5824-cm3x-3c38",
      "locator": "Affected versions; Impact; Patches",
      "note": "Vyper versions 0.2.15, 0.2.16 and 0.3.0 had cross-function reentrancy-lock defects.",
      "version": "GHSA-5824-cm3x-3c38; 2023-08-05",
      "checkedAt": "2026-10-02",
      "recordId": "source-73ae7cef2e3cab66",
      "contentSha256": null
    },
    {
      "id": "chainlink-feeds",
      "label": "Using Data Feeds",
      "publisher": "Chainlink",
      "url": "https://docs.chain.link/data-feeds/overview",
      "locator": "Heartbeat and deviation thresholds; Data quality",
      "note": "Feed update conditions, chain/feed-specific configuration and consumer checks.",
      "version": null,
      "checkedAt": "2026-10-02T17:38:46.139Z",
      "contentSha256": "37f2068378558fa727b04d3bd68118ec6000f2d67e90a7fa6a2c8d965ac2f670",
      "recordId": "source-48b910b0d31d6788"
    },
    {
      "id": "bip125",
      "label": "BIP125: Opt-in Full Replace-by-Fee Signaling",
      "publisher": "Bitcoin Improvement Proposals, GitHub",
      "author": "David A. Harding and Peter Todd",
      "issued": "2015-12-04",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0125.mediawiki",
      "note": "Specifies nSequence signaling for replaceable transactions and the replacement rules, and records that Satoshi’s original replacement mechanism was removed in version 0.3.12.",
      "checkedAt": "2026-10-02T15:04:16.848832+00:00",
      "contentSha256": "da53c6f77100581b715befcfcb2e84adc672d205628a4219c77106f66978aad2",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Specifies nSequence signaling for replaceable transactions and the replacement rules, and records that Satoshi’s original replacement mechanism was removed in version 0.3.12.",
      "recordId": "source-67b7ee4bcd0e4a4f"
    },
    {
      "id": "edition-core-bumpfee",
      "label": "bumpfee RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/",
      "locator": "Arguments and result fields",
      "note": "Wallet-assisted replacement and the required fee and transaction conditions.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:40.979Z",
      "contentSha256": "7a978997ffb0827fcc25fc4760b9ba7faab60021e1a2f173238cc8e07d94f15c",
      "recordId": "source-b7f4c1c78e78f2af"
    },
    {
      "id": "core-replacement",
      "label": "Bitcoin Core replacement policy",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp",
      "locator": "GetEntriesForConflicts; PaysForRBF",
      "note": "Implementation-specific replacement fees and conflict constraints.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.829Z",
      "contentSha256": "41748f81bf1410c657e048332787edee9a54eca6ebce46d14891d47c5298e9ae",
      "recordId": "source-1ec3dafaa6208350"
    },
    {
      "id": "edition-core-walletcreatefundedpsbt",
      "label": "walletcreatefundedpsbt RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/",
      "locator": "Arguments and result fields",
      "note": "Input selection, fee units, change output, selected inputs and transaction funding.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:40.827Z",
      "contentSha256": "d30514044f4ab73bb52b4f8d9bb2d5b8a64482c26fd1b63be11defcb0f2ac6d6",
      "recordId": "source-a8abe4366f2656ba"
    },
    {
      "id": "edition-core-packages",
      "label": "Bitcoin Core package policy",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/doc/policy/packages.md",
      "locator": "Package Mempool Acceptance Rules; Package Fees and Feerate",
      "note": "Package fee accounting and policy for dependent transaction admission.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:21:46.897Z",
      "contentSha256": "5caabc65a25e89c4c4d8f3c60ec56d59d6962253db031f3ce8bb13334c411141",
      "recordId": "source-9da8e2ada19d24a9"
    },
    {
      "id": "bip141",
      "label": "BIP 141: Segregated Witness (Consensus layer)",
      "publisher": "Bitcoin Improvement Proposals repository on GitHub",
      "author": "Eric Lombrozo and Johnson Lau and Pieter Wuille",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0141.mediawiki",
      "note": "States that removing signature data from the txid makes nonintentional malleability impossible and enables unconfirmed transaction dependency chains without counterparty risk.",
      "checkedAt": "2026-10-02T15:04:13.421045+00:00",
      "contentSha256": "d72409335872a32494f75e7547589abf4b3b23b6beebe6bc6999c7a84b135e2c",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "States that removing signature data from the txid makes nonintentional malleability impossible and enables unconfirmed transaction dependency chains without counterparty risk.",
      "recordId": "source-896e868816ad19d1"
    },
    {
      "id": "edition-core-mempool",
      "label": "Bitcoin Core mempool maintenance",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/txmempool.cpp",
      "locator": "CTxMemPool::Expire; CTxMemPool::TrimToSize",
      "note": "Node-local expiry and size-based eviction of unconfirmed transactions.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:55:16.998Z",
      "contentSha256": "922122645a6b32760948a73deeefa18a1398450bfe765b9b123497e2e5693b53",
      "recordId": "source-b42abb14efd07b1e"
    },
    {
      "id": "devguide-blockchain",
      "label": "Bitcoin Developer Guide: Block Chain",
      "publisher": "developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/devguide/block_chain.html",
      "note": "Explains how blocks chain by the previous header hash, defines block height as the number of blocks from the first block, and describes forks and stale blocks.",
      "checkedAt": "2026-10-02T14:48:36.834850+00:00",
      "contentSha256": "3ddf7f1164ec8d670a5fbbcf7f4aaca7549bbc10c75f0bb3dad930dbfad08a25",
      "locator": "Explains how blocks chain by the previous header hash, defines block height as the number of blocks from the first block, and describes forks and stale blocks.",
      "recordId": "source-190b9fe0eec933dc",
      "version": null
    },
    {
      "id": "edition-bitcoin-dev-wallets",
      "label": "Bitcoin Developer Guide: Wallets",
      "publisher": "Bitcoin developer documentation contributors",
      "url": "https://developer.bitcoin.org/devguide/wallets.html",
      "locator": "Wallet Programs; Public Key Distribution-Only Wallets; Hierarchical Deterministic Key Creation",
      "note": "Spending keys, address derivation, backups and privacy trade-offs.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:41.163Z",
      "contentSha256": "e136c099f4abfa15673e3ead4f06e61536de38a71b88ef4a8965706c718d5893",
      "recordId": "source-38ff15e10892f1ee"
    },
    {
      "id": "edition-bip32",
      "label": "Hierarchical Deterministic Wallets",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0032.mediawiki",
      "locator": "Extended keys; Child key derivation; Security",
      "note": "Extended public keys, derivation and private-key exposure limitations.",
      "version": "BIP-32; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.467Z",
      "contentSha256": "e5e00a8289db2f681052cf24a745320afc225e66b25d1e489a7c884d2fc7f11f",
      "recordId": "source-225ce32b9f96878c"
    },
    {
      "id": "whitepaper",
      "label": "Bitcoin: A Peer-to-Peer Electronic Cash System",
      "publisher": "bitcoin.org",
      "author": "Satoshi Nakamoto",
      "issued": "2008",
      "url": "https://bitcoin.org/bitcoin.pdf",
      "note": "Section 10, Privacy: keeping public keys anonymous, the stock-exchange tape analogy, a new key pair per transaction, and the unavoidable linking of multi-input transactions.",
      "checkedAt": "2026-10-02T15:04:11.761440+00:00",
      "contentSha256": "b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553",
      "locator": "Section 10, Privacy: keeping public keys anonymous, the stock-exchange tape analogy, a new key pair per transaction, and the unavoidable linking of multi-input transactions.",
      "recordId": "source-0e46aca4dbc5a030",
      "version": null
    },
    {
      "id": "core-lockunspent",
      "label": "lockunspent RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/lockunspent/",
      "locator": "Arguments and result fields",
      "note": "Preventing specified wallet outputs from automatic coin selection.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:41.086Z",
      "contentSha256": "f8b3a01fa0af658e8f7d3e4d0b6b78ab86d58ed37d8751a0c448b46968c8969b",
      "recordId": "source-9f8c993a5e0440ca"
    },
    {
      "id": "bip65",
      "label": "OP_CHECKLOCKTIMEVERIFY",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0065.mediawiki",
      "locator": "Summary; Specification",
      "note": "Absolute locktime constraints for spending transaction outputs.",
      "version": "BIP-65; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.600Z",
      "contentSha256": "717400aef7789a795bbc86a67e0f40ea94966aea13975052e1fc31a047207399",
      "recordId": "source-4c5f236c04800844"
    },
    {
      "id": "core-policy",
      "label": "Bitcoin Core relay-policy implementation",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/policy.cpp",
      "locator": "GetDustThreshold; IsDust",
      "note": "Dust depends on script spend cost and relay-fee policy, not a consensus minimum.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.248Z",
      "contentSha256": "cddacdf92b6ba51198a9ea9f63585cabbf6e48dfc718032babd09e271386aa34",
      "recordId": "source-d8199d250aac8f2f"
    },
    {
      "id": "x425-btc-bip174",
      "label": "Partially Signed Bitcoin Transaction Format",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0174.mediawiki",
      "locator": "Roles; Creator; Signer; Transaction Extractor",
      "note": "Offline signing workflow, UTXO information and separate signing/finalization/broadcast steps.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:54.151Z",
      "contentSha256": "f2a8e1a9c9e31cc7f607b3c7e2419c63eeccc4bd5b725968cde54ab8cfa1d410",
      "recordId": "source-5790dff0294c8035"
    },
    {
      "id": "edition-bip380",
      "label": "Output Script Descriptors General Operation",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0380.mediawiki",
      "locator": "Specification; Key expressions; Checksum",
      "note": "Descriptors describe output scripts, keys and derivation information.",
      "version": "BIP-380; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.620Z",
      "contentSha256": "34e6510bb2eba9445a68eacf3d24d5a4e5f24481477488d5552f674ac81dd5fe",
      "recordId": "source-36e62aca6baaa2f2"
    },
    {
      "id": "core-importdescriptors",
      "label": "importdescriptors RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/importdescriptors/",
      "locator": "Arguments and result fields",
      "note": "Descriptor import, active ranges, timestamps and watch-only use.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:40.832Z",
      "contentSha256": "f11c0815a39b91d5c8fb7e080f7f7b07777fd71615771dfa490a44bc86590140",
      "recordId": "source-0b4367ccf61f3090"
    },
    {
      "id": "bip39",
      "label": "BIP 39: Mnemonic code for generating deterministic keys",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Marek Palatinus, Pavol Rusnak, Aaron Voisine and Sean Bowe",
      "issued": "2013-09-10",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0039.mediawiki",
      "note": "Specifies 12 to 24 word mnemonic phrases that encode a wallet seed, cited for its authors, date and purpose.",
      "checkedAt": "2026-10-02T15:04:11.762465+00:00",
      "contentSha256": "afcbcbed36fe9eb734bd607398a8c124683ded2a75c3830e1b16c47b043a9134",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Specifies 12 to 24 word mnemonic phrases that encode a wallet seed, cited for its authors, date and purpose.",
      "recordId": "source-a7583e32275982ab"
    },
    {
      "id": "edition-core-walletpassphrase",
      "label": "walletpassphrase RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletpassphrase/",
      "locator": "Arguments and result fields",
      "note": "Unlocking an encrypted wallet temporarily; distinct from a BIP-39 passphrase.",
      "version": "Bitcoin Core 29.0.0 RPC",
      "checkedAt": "2026-10-02T17:03:41.013Z",
      "contentSha256": "cd9e589b0773ebfd7d0bc2734aba0a8ab22d8530cb0c81a9a45c419e4361c31d",
      "recordId": "source-7780ee9334c1bcbd"
    },
    {
      "id": "bip68",
      "label": "Relative lock-time using consensus-enforced sequence numbers",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0068.mediawiki",
      "locator": "Specification",
      "note": "Sequence-based relative confirmation age constraints.",
      "version": "BIP-68; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.762Z",
      "contentSha256": "ec5a50cc66fff7b4e4bc1f2e24587d7876649d1b5329ef73ffa2e5a3f647281b",
      "recordId": "source-bdcb60e00657be1f"
    },
    {
      "id": "bip112",
      "label": "CHECKSEQUENCEVERIFY",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0112.mediawiki",
      "locator": "Summary; Specification",
      "note": "Script enforcement of relative lock-time constraints.",
      "version": "BIP-112; immutable revision pinned in source URL",
      "checkedAt": "2026-10-02T17:22:20.748Z",
      "contentSha256": "61022872545daeb779ef5d38f769d7a155c0f85333653b20c83b0a2329b523c4",
      "recordId": "source-c12cc4fc6275fee3"
    },
    {
      "id": "core-0-11-0",
      "label": "Bitcoin Core 0.11.0 release notes",
      "publisher": "Bitcoin Core, bitcoincore.org",
      "issued": "2015-07-12",
      "url": "https://bitcoincore.org/en/releases/0.11.0/",
      "note": "Introduces block file pruning as a fully validating node without raw block data on disk, with a 550 MB minimum chosen to keep at least 288 blocks; published 12 July 2015.",
      "checkedAt": "2026-10-02T14:48:45.211591+00:00",
      "contentSha256": "bfba2b0e8a351ef0032fb0f2e8f6892c31214792ef249376feefa524943fd9f1",
      "locator": "Introduces block file pruning as a fully validating node without raw block data on disk, with a 550 MB minimum chosen to keep at least 288 blocks; published 12 July 2015.",
      "recordId": "source-997df60df1815097",
      "version": null
    },
    {
      "id": "x425-btc-core-files",
      "label": "Files",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/doc/files.md",
      "locator": "Data directory location and chain-specific paths; Data directory layout: blocks/, chainstate/, wallets/; Multi-wallet environment and backupwallet guidance",
      "note": "Wallet, block, chainstate and index files have different recovery purposes.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T18:53:55.926Z",
      "contentSha256": "b22521efd202f947f5a126bb1f8bf24b1f03e48c3cc7928d3d5d11c53e2657b4",
      "recordId": "source-49ac1d73e9642790"
    },
    {
      "id": "edition-core-validation",
      "label": "Bitcoin Core validation implementation",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/consensus/tx_verify.cpp",
      "locator": "CheckTxInputs",
      "note": "Coinbase maturity, input value conservation and transaction fee validation.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.391Z",
      "contentSha256": "8fbc9bde843c2cfb0577ae7d179ad11f928b09bf8b0fc3e43a9ede7dc34a7370",
      "recordId": "source-48301996fb33a646"
    },
    {
      "id": "core-consensus",
      "label": "Bitcoin Core consensus constants",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/consensus/consensus.h",
      "locator": "COINBASE_MATURITY; WITNESS_SCALE_FACTOR",
      "note": "Consensus maturity and witness scale constants.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T17:03:40.530Z",
      "contentSha256": "b87cd3fc5ade6924e15b3f3cb558065b6abc656b4c19683238948c2c71eea862",
      "recordId": "source-7f9f03e49e78d731"
    },
    {
      "id": "bolt2",
      "label": "BOLT 2: Peer Protocol for Channel Management",
      "publisher": "Lightning specification contributors",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/02-peer-protocol.md",
      "locator": "Channel Establishment; Forwarding HTLCs; Channel Close",
      "note": "Channel funding, commitment updates, forwarding and channel closing.",
      "version": null,
      "checkedAt": "2026-10-02T17:22:20.750Z",
      "contentSha256": "1b491b10b6ff92aa558df6aa9b70f4bd432cdded0c0c8087b9342bc57846f0c9",
      "recordId": "source-b9dd1646f089b1a7"
    },
    {
      "id": "bolt7",
      "label": "BOLT 7: P2P Node and Channel Discovery",
      "publisher": "Lightning specification contributors",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/07-routing-gossip.md",
      "locator": "The channel_update Message; HTLC Fees; Example; fee_base_msat; fee_proportional_millionths",
      "note": "Direction-specific advertised routing fees and channel update parameters.",
      "version": null,
      "checkedAt": "2026-10-02T17:22:20.753Z",
      "contentSha256": "b7fb6e94e4efe29ab0011432874c2be1da8104b80f219d23ca5d375baeebe35a",
      "recordId": "source-d55abd3fe3dfc8b1"
    },
    {
      "id": "lnd-liquidity",
      "label": "Understanding Liquidity",
      "publisher": "Lightning Labs",
      "url": "https://docs.lightning.engineering/the-lightning-network/liquidity/understanding-liquidity",
      "locator": "Payments; Receiving funds; Routing liquidity",
      "note": "Channel balance placement determines the direction in which a payment can move.",
      "version": null,
      "checkedAt": "2026-10-02T17:55:17.054Z",
      "contentSha256": "55a8fb3d43edeb66958dce5676a435022f75853b8076d6d1df70ee923bc0cc9f",
      "recordId": "source-648d3322879b342a"
    },
    {
      "id": "eip155",
      "label": "Simple replay attack protection",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-155",
      "locator": "Specification",
      "note": "Transaction chain ID domain separation; not blanket protection for all signatures.",
      "version": "EIP/ERC-155; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.312Z",
      "contentSha256": "d2ee74d5b9d5230e5871645148c0978b10463b039a25d2ba753d3a8d6350c8c0",
      "recordId": "source-1975773eb9dbad9f"
    },
    {
      "id": "eip4337",
      "label": "Account Abstraction Using Alt Mempool",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4337",
      "locator": "Specification; Bundlers; Paymasters; Security Considerations",
      "note": "User operations, bundler transaction submission and paymaster validation.",
      "version": "EIP/ERC-4337; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.486Z",
      "contentSha256": "ba69db925f98b811c8b73915af67c25fa70fc8d5d8c8f2c4166ab376e0fcb115",
      "recordId": "source-0bc8df50fb6b85e4"
    },
    {
      "id": "solidity-abi",
      "label": "Contract ABI Specification",
      "publisher": "Solidity contributors",
      "url": "https://docs.soliditylang.org/en/v0.8.30/abi-spec.html",
      "locator": "Function Selector; Argument Encoding; Events; Errors; JSON",
      "note": "ABI encoding, selectors, event topics and event data.",
      "version": "Solidity 0.8.30 documentation",
      "checkedAt": "2026-10-02T17:03:42.824Z",
      "contentSha256": "f5889011070e9e83487b6fd899f56ccecd0c08382c998cd2f8860daafd27dc7b",
      "recordId": "source-6219cf92582a012d"
    },
    {
      "id": "geth-txpool",
      "label": "Geth command-line options",
      "publisher": "Go Ethereum",
      "url": "https://geth.ethereum.org/docs/fundamentals/command-line-options",
      "locator": "txpool.pricebump; txpool.lifetime",
      "note": "Implementation-configurable transaction replacement and local pool policies.",
      "version": null,
      "checkedAt": "2026-10-02T17:25:58.872Z",
      "contentSha256": "15d07bf43b3a68bff858ea6a38966baf7f75bf99e6e1be13d33ca2f99263e8b3",
      "recordId": "source-7d0cb48e5739e6a6"
    },
    {
      "id": "geth-replacement-code",
      "label": "Geth legacy-pool replacement checks",
      "publisher": "Go Ethereum",
      "url": "https://raw.githubusercontent.com/ethereum/go-ethereum/v1.15.11/core/txpool/legacypool/list.go",
      "locator": "list.Add; gasFeeCap and gasTipCap replacement thresholds",
      "note": "Versioned same-nonce replacement policy and EIP-1559 fee-cap conditions.",
      "version": "go-ethereum v1.15.11",
      "checkedAt": "2026-10-02T17:55:17.128Z",
      "contentSha256": "b77aa9b9ca687be7ea72ee5ec2262e6d15b3644b772edcbdc7f7339aba1f0e7b",
      "recordId": "source-efbba534b1e4de35"
    },
    {
      "id": "eip55",
      "label": "Mixed-case checksum address encoding",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-55",
      "locator": "Specification; Rationale; Test Cases",
      "note": "Capitalization encodes a checksum without changing the address bytes.",
      "version": "EIP/ERC-55; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.205Z",
      "contentSha256": "c204b03e6e2b392c88a5271d5ff20d3a42d2105abd52459e95bd3a4736e49768",
      "recordId": "source-c93ab64d58d43e2d"
    },
    {
      "id": "solidity-layout",
      "label": "Layout of State Variables in Storage and Transient Storage",
      "publisher": "Solidity contributors",
      "url": "https://docs.soliditylang.org/en/v0.8.30/internals/layout_in_storage.html",
      "locator": "Layout of State Variables; Mappings and Dynamic Arrays",
      "note": "Persistent storage slots, packing and mappings.",
      "version": "Solidity 0.8.30 documentation",
      "checkedAt": "2026-10-02T17:03:42.820Z",
      "contentSha256": "de5fd67613e71fdb6b46e30bcb1c7e63380ea40d9521e757cfba947a5ee8d738",
      "recordId": "source-2b10f2b55ba1af87"
    },
    {
      "id": "etherscan-verification",
      "label": "Navigating the Contract Code tab",
      "publisher": "Etherscan",
      "url": "https://kb.etherscan.com/navigating-the-contract-code-tab",
      "locator": "Source Code Verification; Compiler; Optimization; Similar Match",
      "note": "Published source and compiler settings are checked against deployed bytecode.",
      "version": null,
      "checkedAt": "2026-10-02T17:29:13.898Z",
      "contentSha256": "1f830f5762395f1789ee6e712db04e2ab3b62d647116693b0b479c8b3b9f08f6",
      "recordId": "source-8cd8637c251c0d91"
    },
    {
      "id": "eip1014",
      "label": "Skinny CREATE2",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1014",
      "locator": "Specification; Clarifications",
      "note": "Contract creation address derived from deployer, salt and initialization-code hash.",
      "version": "EIP/ERC-1014; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.283Z",
      "contentSha256": "cbb767237cef6c22bd8d5b6225d0828b95986688cdc27edd35f853b843918176",
      "recordId": "source-9d6e8c178ca966e9"
    },
    {
      "id": "x425-eth-erc721",
      "label": "ERC-721 NFT standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-721",
      "locator": "safeTransferFrom; approve; setApprovalForAll; Transfer; metadata",
      "note": "Ownership, receiver checks, token-level and operator approvals, mint/burn event semantics.",
      "version": "ERC-721",
      "checkedAt": "2026-10-02T18:55:25.399Z",
      "contentSha256": "bedd672103f3ebb6803ce2bddb33a9ff3d23b08e8e3ae3173b6a5b016f65e2a1",
      "recordId": "source-b08b9aae11ea4085"
    },
    {
      "id": "eip5192",
      "label": "Minimal Soulbound NFTs",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-5192",
      "locator": "Specification",
      "note": "A minimal locked-token interface; not a universal identity or revocation design.",
      "version": "EIP/ERC-5192; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.322Z",
      "contentSha256": "1417dff344e912f6bea406cbc9d44e3c3f3c6c8fbaa42a75fc39453b3e1b8548",
      "recordId": "source-17115c75eee88c85"
    },
    {
      "id": "eip2930",
      "label": "Optional access lists",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-2930",
      "locator": "Specification",
      "note": "Predeclared account and storage access sets with explicit gas charges.",
      "version": "EIP/ERC-2930; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.494Z",
      "contentSha256": "f09871e6ddd399f05f4ffc83d1b0d49cbce28397feeff2e0c6077292fdee277a",
      "recordId": "source-3292ac77ce3024af"
    },
    {
      "id": "eip7691",
      "label": "Blob throughput increase",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-7691",
      "locator": "Specification; Rationale",
      "note": "A later fork changes blob targets and limits relative to EIP-4844.",
      "version": "EIP/ERC-7691; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:55:17.000Z",
      "contentSha256": "b66bc5e8d3d0007fcdb80bb33401bcc80fa238f195c6ce4d44e0795b1f3a2153",
      "recordId": "source-d6dfc1b290d95b50"
    },
    {
      "id": "safe-recovery",
      "label": "Recovery with Safe",
      "publisher": "Safe",
      "url": "https://help.safe.global/articles/9622260218-account-recovery-with-saferecoveryhub",
      "locator": "What are Recoverers?; Two-step recovery execution; How to set up the account recovery",
      "note": "Recovery arrangements depend on the wallet’s configured authorization mechanism.",
      "version": null,
      "checkedAt": "2026-10-02T17:21:47.385Z",
      "contentSha256": "6432d936869a4fc99d8bb51eabbc50d40c76baa02eaf4f3bb85b525868b9691d",
      "recordId": "source-15e4e64134381ae1"
    },
    {
      "id": "x425-sc-tether-transparency",
      "label": "Tether transparency",
      "publisher": "Tether",
      "url": "https://tether.to/en/transparency/",
      "locator": "Tether Tokens in Circulation; reports and reserves",
      "note": "Issuer supply reporting categories; this article does not publish a current numeric supply.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:06.686Z",
      "contentSha256": "9ec443d7dfbfb520f8883b63645dcec553c05d6bd513b01dbdc9cbdbcf0644b9",
      "recordId": "source-657588e9c7056096"
    },
    {
      "id": "x425-sc-circle-addresses",
      "label": "USDC contract addresses",
      "publisher": "Circle",
      "url": "https://developers.circle.com/stablecoins/usdc-contract-addresses",
      "locator": "Mainnet addresses; Solana",
      "note": "Official chain-specific token identification. Testnet and mainnet identities must not be confused.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.791Z",
      "contentSha256": "429d18007d36b6b885c2937cc881602fd126e7993edf4445fc2b0e0b38ad2d1a",
      "recordId": "source-66270bffe3272787"
    },
    {
      "id": "treasury-bills",
      "label": "Treasury Bills",
      "publisher": "US Treasury",
      "url": "https://www.treasurydirect.gov/marketable-securities/treasury-bills/",
      "locator": "Rates and terms; Maturity",
      "note": "Treasury bill maturity and payment at face value; not a claim about a token holder’s rights.",
      "version": null,
      "checkedAt": "2026-10-02T17:33:31.602Z",
      "contentSha256": "f8ea8aa9af2412d5abd77ff2e2a38f14606f5d9980a45a77cac80b9dc3f00fb3",
      "recordId": "source-1d9528ab17ace706"
    },
    {
      "id": "fdic-crypto",
      "label": "What the Public Needs to Know About FDIC Deposit Insurance and Crypto Companies",
      "publisher": "Federal Deposit Insurance Corporation",
      "url": "https://www.fdic.gov/news/fact-sheets/crypto-fact-sheet-7-28-22.html",
      "locator": "Deposit insurance; Non-deposit products; Crypto companies",
      "note": "US FDIC coverage distinguishes insured-bank deposits from crypto products and nonbank failures.",
      "version": "2022 fact sheet; scope limited to US FDIC insurance",
      "checkedAt": "2026-10-02T17:03:44.009Z",
      "contentSha256": "d557d6afa9687a45b0f920160afd0bc4eff6173d52310ff2d6dae0805a91c9d0",
      "recordId": "source-ee0694126db6bd5b"
    },
    {
      "id": "circle-eurc",
      "label": "EURC",
      "publisher": "Circle",
      "url": "https://www.circle.com/eurc",
      "locator": "Euro-backed stablecoin; Redeemability",
      "note": "EURC targets the euro, and cross-currency exposure remains for other unit-of-account holders.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:43.229Z",
      "contentSha256": "99ee09bddf311d439f6ed29e31dec4344475a7d5aef92e189d0a4b516209d3a9",
      "recordId": "source-20a8193fc4b24652"
    },
    {
      "id": "ethena-usde",
      "label": "USDe overview",
      "publisher": "Ethena",
      "url": "https://docs.ethena.fi/overview/how-usde-works",
      "locator": "USDe; Backing assets; Delta hedging",
      "note": "Issuer-described synthetic dollar construction and its backing and hedge dependencies.",
      "version": null,
      "checkedAt": "2026-10-02T17:06:51.420Z",
      "contentSha256": "23ba8c79df566b5bf8094f2aafc28e146ddeeea9a5b589881a80275c037c5546",
      "recordId": "source-88745701c39094aa"
    },
    {
      "id": "sky-savings-code",
      "label": "Savings USDS implementation",
      "publisher": "Sky contributors",
      "url": "https://raw.githubusercontent.com/sky-ecosystem/sdai/dfc7f41cb7599afcb0f0eb1ddaadbf9dd4015dce/src/SUsds.sol",
      "locator": "ssr; file; drip; convertToAssets",
      "note": "Savings-rate accumulator, administrator-set rate and share conversions.",
      "version": "susds implementation at dfc7f41cb7599afcb0f0eb1ddaadbf9dd4015dce",
      "checkedAt": "2026-10-02T17:41:56.801Z",
      "contentSha256": "9fe0c713751142e75a1da60ad6c0127d5ad01cb6d24289183ac48b202f3c5d69",
      "recordId": "source-65e5b82a59b99eee"
    },
    {
      "id": "aave-glossary",
      "label": "Aave Docs Glossary",
      "publisher": "Aave",
      "url": "https://www.aave.com/docs/resources/glossary",
      "locator": "APY; Borrow Cap; Credit Delegation; Debt Ceiling",
      "note": "Protocol glossary distinguishes APY including compounding from APR and defines lending terms.",
      "version": null,
      "checkedAt": "2026-10-02T17:58:05.650Z",
      "contentSha256": "d187d006c1343e0a48ba293b7893216184e9a344032c74d6ccb2900e96fd23f5",
      "recordId": "source-8847a72e1c4b461f"
    },
    {
      "id": "investor-compound",
      "label": "How does compound interest work?",
      "publisher": "Consumer Financial Protection Bureau",
      "url": "https://www.consumerfinance.gov/ask-cfpb/how-does-compound-interest-work-en-1683/",
      "locator": "Compound interest; Examples",
      "note": "The arithmetic effect of compounding at a stated hypothetical rate.",
      "version": null,
      "checkedAt": "2026-10-02T17:21:46.950Z",
      "contentSha256": "aca5301a0ac8c59fa20f2ea34eba9588089bfb2d57f112633c9c029f14ca4fe7",
      "recordId": "source-f6fab0de28f98515"
    },
    {
      "id": "aave-math",
      "label": "Aave V3 MathUtils",
      "publisher": "Aave",
      "url": "https://raw.githubusercontent.com/aave/aave-v3-core/v1.19.3/contracts/protocol/libraries/math/MathUtils.sol",
      "locator": "calculateLinearInterest; calculateCompoundedInterest",
      "note": "Protocol-specific simple and approximated compounded interest calculations.",
      "version": "aave-v3-core v1.19.3",
      "checkedAt": "2026-10-02T17:03:44.337Z",
      "contentSha256": "7f73c927e9801debfe0666e2a6364b92f62fd2d58d0c4b485ff04765fd4dc58d",
      "recordId": "source-59093bf947639a66"
    },
    {
      "id": "defillama-tvl",
      "label": "DefiLlama: How we calculate TVL",
      "publisher": "DefiLlama",
      "url": "https://docs.llama.fi/analysts/data-definitions",
      "locator": "Total Value Locked",
      "note": "Provider-specific valuation scope and TVL methodology.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:46.209Z",
      "contentSha256": "fdef2a756c1c1b0e08da545903b0155ed3e86d4903a68fa8e2c9cddcb7edefa7",
      "recordId": "source-3649ada489ba8078"
    },
    {
      "id": "oz-vesting",
      "label": "VestingWallet",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/api/finance",
      "locator": "VestingWallet; vestingSchedule; release",
      "note": "Vesting schedules, releasable balances and ownership transfer.",
      "version": "OpenZeppelin Contracts 5.x",
      "checkedAt": "2026-10-02T17:03:46.020Z",
      "contentSha256": "56d9271af9e3abe9869e51e4617397ecf87928cf371bbbadfa502933bb622d34",
      "recordId": "source-014ee3dc1518e070"
    },
    {
      "id": "aave-reserve-logic",
      "label": "Aave V3 ReserveLogic",
      "publisher": "Aave",
      "url": "https://raw.githubusercontent.com/aave/aave-v3-core/v1.19.3/contracts/protocol/libraries/logic/ReserveLogic.sol",
      "locator": "getNormalizedIncome; getNormalizedDebt; updateState",
      "note": "Cumulative supply and borrow indexes update accounting over time.",
      "version": "aave-v3-core v1.19.3",
      "checkedAt": "2026-10-02T17:03:44.467Z",
      "contentSha256": "6b827ea494fa5bb1b38fa9e7db973bd0aed0ee3d53677cac950f6614cb8fd0c9",
      "recordId": "source-7f081b54ee6558ab"
    },
    {
      "id": "aave-isolation",
      "label": "Isolation Mode",
      "publisher": "Aave",
      "url": "https://www.aave.com/help/supplying/isolation-mode",
      "locator": "Isolation Mode",
      "note": "Isolated collateral settings, borrowing restrictions and debt ceilings.",
      "version": "Aave V3 documentation",
      "checkedAt": "2026-10-02T17:06:51.590Z",
      "contentSha256": "83db39302bb3c16fb60a64d9da6efb46d9d19931997c58f16aa28aa42bfa003c",
      "recordId": "source-7ac01b374e81b3ac"
    },
    {
      "id": "eth-mev",
      "label": "Maximal extractable value",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/mev/",
      "locator": "Sandwich trading; MEV protection",
      "note": "Ordering-dependent extraction and limits of private submission.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:45.625Z",
      "contentSha256": "5cae47952034f725ecaf04ec7c7c6638287a34ada1a5df2696ab9f346950bad7",
      "recordId": "source-b9c1aef903b1d75a"
    },
    {
      "id": "flashbots-protect",
      "label": "Flashbots Protect overview",
      "publisher": "Flashbots",
      "url": "https://docs.flashbots.net/flashbots-protect/overview",
      "locator": "MEV protection; Privacy; How it works",
      "note": "Private submission changes who receives a transaction and depends on relay and builder behavior.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:45.401Z",
      "contentSha256": "704ca49b36e9ec52864ddc16622657bdb144ae52e30735e17f4e45c242afb638",
      "recordId": "source-f3d456a5988db888"
    },
    {
      "id": "limit-order-protocol",
      "label": "1inch Limit Order Protocol",
      "publisher": "1inch contributors",
      "url": "https://raw.githubusercontent.com/1inch/limit-order-protocol/50bd1300315606a3d32e9021898374c9d0dc2335/README.md",
      "locator": "Order structure; Features; Examples",
      "note": "Signed limit-order parameters, flexible execution conditions and settlement.",
      "version": "Pinned repository revision 50bd1300315606a3d32e9021898374c9d0dc2335",
      "checkedAt": "2026-10-02T17:41:56.773Z",
      "contentSha256": "29f10c603392f721676835f986d617026af7e08d539c128f401608267d259904",
      "recordId": "source-46aefaca405a0e77"
    },
    {
      "id": "uniswap-v4-hooks",
      "label": "Uniswap v4 Hooks",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/v4/concepts/hooks",
      "locator": "Core Hook Functions; Hook lifecycle",
      "note": "Hooks execute custom logic at pool operation boundaries.",
      "version": "Uniswap v4 documentation",
      "checkedAt": "2026-10-02T17:03:45.793Z",
      "contentSha256": "5eb85303942c793df3be1b9acc59c502b13c0a45c0f840bf0beb7d3b3319e33e",
      "recordId": "source-dc5d5dd3b089171c"
    },
    {
      "id": "x425-defi-uniswap-security",
      "label": "Token Integration Issues",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/concepts/protocol/integration-issues",
      "locator": "Nonstandard token behavior; rebasing; fees",
      "note": "Token code can alter pool integration behavior even when liquidity exists.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:23.402Z",
      "contentSha256": "1a009ddb8e66f122a95438ab276d91337fbfa9644b3c169cdf7352ad3ae7f853",
      "recordId": "source-1dfb73e432851474"
    },
    {
      "id": "lido-steth",
      "label": "stETH integration guide",
      "publisher": "Lido",
      "url": "https://docs.lido.fi/guides/lido-tokens-integration-guide/",
      "locator": "stETH; wstETH; Withdrawal queue",
      "note": "Rebasing balances, wrapped shares and asynchronous withdrawal accounting.",
      "version": null,
      "checkedAt": "2026-10-02T17:03:45.519Z",
      "contentSha256": "aa4330581cab2fccdb27f78d7046ddba8221464162088df97ca00697bb591a88",
      "recordId": "source-6ff5ad291aef20ef"
    },
    {
      "id": "eigen-restaking",
      "label": "EigenLayer documentation",
      "publisher": "Eigen Labs",
      "url": "https://raw.githubusercontent.com/Layr-Labs/eigenlayer-docs/b265bd95169a06c4b61cefe452717a335a50a21b/docs/developers/Concepts/eigenlayer-contracts/core-contracts.md",
      "locator": "Core contract table; Version scope",
      "note": "Additional service commitments, operator choice and slashing exposure.",
      "version": "EigenLayer core-contract documentation v1.5.0; pinned repository revision",
      "checkedAt": "2026-10-02T17:22:20.774Z",
      "contentSha256": "2a4f81d3fd47bdc1d123d5d45da664aa9dcd92f9618907d5cb9c4c824fdef804",
      "recordId": "source-67e1c03b6f61dc15"
    },
    {
      "id": "x425-btc-individuals",
      "label": "Bitcoin for Individuals",
      "publisher": "Bitcoin.org",
      "url": "https://bitcoin.org/en/bitcoin-for-individuals",
      "locator": "Mobile payments made easy; Works everywhere, anytime",
      "note": "Receiving and sending payments across compatible wallet applications.",
      "checkedAt": "2026-10-02T18:53:53.645Z",
      "contentSha256": "43a41d4347eb0021e8863c8f5fbf294d06390d63ae243ffe2f13d0e169635e86",
      "recordId": "source-a9b064a549c150fd",
      "version": null
    },
    {
      "id": "payment-processing",
      "label": "Bitcoin Developer Guide: Payment Processing",
      "publisher": "developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/devguide/payment_processing.html",
      "note": "Recommends at least six confirmations for high-value payments, warns that zero-confirmation transactions should not be trusted without risk analysis, and describes what a recipient sees when an unconfirmed payment is replaced.",
      "checkedAt": "2026-10-02T14:48:41.373881+00:00",
      "contentSha256": "1ff825693b4c21f3045187263f1c2c0923e0f170bca1f0fada6f6212ee1ba44f",
      "locator": "Recommends at least six confirmations for high-value payments, warns that zero-confirmation transactions should not be trusted without risk analysis, and describes what a recipient sees when an unconfirmed payment is replaced.",
      "recordId": "source-5100780ba9c0cc55",
      "version": null
    },
    {
      "id": "secure-your-wallet",
      "label": "Securing your wallet",
      "publisher": "bitcoin.org",
      "url": "https://bitcoin.org/en/secure-your-wallet",
      "note": "States that a third party holding your keys means relying on its security and honesty, that exchanges and online wallets have been hacked, failed or frozen, and that online backups are highly vulnerable to theft.",
      "checkedAt": "2026-10-02T14:48:38.097528+00:00",
      "contentSha256": "4387f7a712e048049752015c48cbed9af67dfac1fea1b2300f4f01aa92286890",
      "locator": "States that a third party holding your keys means relying on its security and honesty, that exchanges and online wallets have been hacked, failed or frozen, and that online backups are highly vulnerable to theft.",
      "recordId": "source-ccf126c494bfe748",
      "version": null
    },
    {
      "id": "x425-btc-trezor-display",
      "label": "Trezor’s Trusted Display",
      "publisher": "Trezor",
      "url": "https://trezor.io/guides/trezor-devices/trezor-fundamentals/trezor-s-trusted-display-verify-every-address-on-your-device",
      "locator": "Trusted display article: on-device verification steps and limits of what the device verifies",
      "note": "Manufacturer explanation of device display checks and the limits of a host-computer screen.",
      "checkedAt": "2026-10-02T18:53:56.900Z",
      "contentSha256": "b88fbc2dd8d7eb309d6c6aaba742dbedf7dec05e2ac57a230770e14bd2b2d14d",
      "recordId": "source-6d1aa1923394141c",
      "version": null
    },
    {
      "id": "x425-btc-bip321",
      "label": "URI Scheme",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0321.mediawiki",
      "locator": "General rules for handling (important!); General Format; Query Keys; Transfer amount; Forward compatibility; Backward compatibility",
      "note": "Successor payment URI scheme and wallet-dependent payment instructions.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:54.108Z",
      "contentSha256": "6fcb782620390c0a60958d983e0ca9ffbd67eadfba37169f94e1228028eee8c4",
      "recordId": "source-8d372ef951aaea6c"
    },
    {
      "id": "x425-btc-btcpay-invoices",
      "label": "Invoices",
      "publisher": "BTCPay Server",
      "url": "https://docs.btcpayserver.org/Users/invoices/",
      "locator": "Invoice statuses; Invoice details; Refunding an invoice; Archiving invoices",
      "note": "Checkout states, paid-late/over/partial exceptions and confirmations as distinct events.",
      "checkedAt": "2026-10-02T18:53:56.741Z",
      "contentSha256": "a11f17e7322f9808e32959ebdf197c53b99e62ba631fd8c29bf5ad84f72df3e1",
      "recordId": "source-c7252b1be610c37c",
      "version": null
    },
    {
      "id": "x425-btc-ln-cycle",
      "label": "The payment cycle",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/the-lightning-network/multihop-payments/the-payment-cycle.md",
      "locator": "Introduction: sender and receiver interaction; Create invoice; Make the payment; Check the payment; Other payment types",
      "note": "Invoice-first Lightning flow, routes and settlement preimages.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.281Z",
      "contentSha256": "2dcefeb9131b603080560a8c32f80873312133414a8bab1aa7aa357abf8ecc38",
      "recordId": "source-a021bc3231273474"
    },
    {
      "id": "x425-btc-core-sendtoaddress",
      "label": "sendtoaddress RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/sendtoaddress/",
      "locator": "Description; Arguments: amount, comment, comment_to, subtractfeefromamount, fee_rate; Result",
      "note": "Fee subtraction changes recipient output; comments remain local metadata.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.005Z",
      "contentSha256": "5a7533879c09df8fe7dac0c92fc30ef619b2c0ae9332ab6d388a9bde3e9a583b",
      "recordId": "source-34552f149068cb49"
    },
    {
      "id": "x425-btc-know",
      "label": "Some things you need to know",
      "publisher": "Bitcoin.org",
      "url": "https://bitcoin.org/en/you-need-to-know",
      "locator": "Bitcoin payments are irreversible; Unconfirmed transactions aren't secure; You are your own bank; Bitcoin is not anonymous",
      "note": "Payment reversibility, confirmation risk and visible transaction records.",
      "checkedAt": "2026-10-02T18:53:53.609Z",
      "contentSha256": "929c698d3e96a7886d6e701b8d55470e6a3586d7eb525325e8993f9c56feb6c0",
      "recordId": "source-ba4dc8db91e16d53",
      "version": null
    },
    {
      "id": "x425-btc-core-sendrawtransaction",
      "label": "sendrawtransaction RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/rawtransactions/sendrawtransaction/",
      "locator": "Description; Arguments; Result",
      "note": "Submitting serialized signed transactions, fee guardrails and rebroadcast privacy warning.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:56.420Z",
      "contentSha256": "c1402d0c9c6677bd967fdd20dbb650991a8169c30e1a6598fbed3ac4defbd08a",
      "recordId": "source-4d4d250c55f548e4"
    },
    {
      "id": "x425-btc-bip21",
      "label": "URI Scheme",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0021.mediawiki",
      "locator": "Superseded by BIP 321; Specification; Rationale; Forward compatibility",
      "note": "Historical Bitcoin payment URI fields, amount units and required-parameter handling.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:53.954Z",
      "contentSha256": "4505e28fb572ca8b336c7563b34670dfdb9cdf95e398ad5e7a5c350015bac962",
      "recordId": "source-4a82ebda19174ffa"
    },
    {
      "id": "x425-btc-btcpay-refunds",
      "label": "Refunds",
      "publisher": "BTCPay Server",
      "url": "https://docs.btcpayserver.org/Refund/",
      "locator": "Create a refund; Processing refund",
      "note": "A refund creates a separate payout and requires a usable destination rather than reversing history.",
      "checkedAt": "2026-10-02T18:53:56.900Z",
      "contentSha256": "3cc8ecf3a795adf57e18d5495c54101072ff1af8ed3c21788e5c8c98ef1d9a77",
      "recordId": "source-363266151956e734",
      "version": null
    },
    {
      "id": "x425-btc-core-getblockchaininfo",
      "label": "getblockchaininfo RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/blockchain/getblockchaininfo/",
      "locator": "Result: chain, blocks, headers, verificationprogress, initialblockdownload",
      "note": "Network identity and sync-status fields; progress is an estimate.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.851Z",
      "contentSha256": "1606375ff762737f95c646b1acc42138eff69ce22d6490aca60f054dedf97ef1",
      "recordId": "source-961282fbeb6f3ea6"
    },
    {
      "id": "x425-btc-electrum-faq",
      "label": "Frequently Asked Questions",
      "publisher": "Electrum",
      "url": "https://electrum.readthedocs.io/en/latest/faq.html",
      "locator": "Does Electrum trust servers?; Can I import private keys from other Bitcoin clients?; Can I sweep private keys from other Bitcoin clients?; What is the gap limit?; How do I upgrade Electrum?",
      "note": "Electrum-specific sweep/import distinctions, seed recovery scope and address discovery.",
      "checkedAt": "2026-10-02T18:53:56.378Z",
      "contentSha256": "a7f9a2d109a2a753b0010cda1bd2d789a0417a0788a48ea6632c3fe3b391fb06",
      "recordId": "source-82375415e215e2f2",
      "version": null
    },
    {
      "id": "bip44",
      "label": "BIP 44: Multi-Account Hierarchy for Deterministic Wallets",
      "publisher": "Bitcoin Improvement Proposals (github.com/bitcoin/bips)",
      "author": "Marek Palatinus, Pavol Rusnak",
      "issued": "2014-04-24",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0044.mediawiki",
      "note": "Defines the five-level path of purpose, coin type, account, change and index, with coin type 0 for Bitcoin and an address gap limit of 20.",
      "checkedAt": "2026-10-02T15:04:11.762572+00:00",
      "contentSha256": "6a541c79f94077ac529941a8cbd373ce077a5d6e97b6dd8209b45ac10f737eaf",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Defines the five-level path of purpose, coin type, account, change and index, with coin type 0 for Bitcoin and an address gap limit of 20.",
      "recordId": "source-43d35242be710673"
    },
    {
      "id": "x425-btc-core-getbalances",
      "label": "getbalances RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/getbalances/",
      "locator": "Result: mine, watchonly, trusted, untrusted_pending, immature",
      "note": "Wallet balances are divided by trust and spendability-related categories.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.000Z",
      "contentSha256": "bf988ef023ba084bbaf87ceaa30aea5f6d445c36b80be60f9b1fa8f5cf91c0ff",
      "recordId": "source-cd336b4fe95b9402"
    },
    {
      "id": "x425-btc-core-rescanblockchain",
      "label": "rescanblockchain RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/rescanblockchain/",
      "locator": "Description; Arguments; Result",
      "note": "Rescan local blocks for wallet-related transactions within a height range.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.698Z",
      "contentSha256": "26c1114ca6d3e56b68b4d410a1558b304e5811b96ef3b15016fbf961e333d9a5",
      "recordId": "source-b5cd05a883329592"
    },
    {
      "id": "x425-btc-core-init",
      "label": "Node initialization",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/init.cpp",
      "locator": "SetupServerArgs: assumevalid, reindex, reindex-chainstate, prune, listen, server; prune/reindex-chainstate compatibility check",
      "note": "Definitions of reindex/chainstate rebuild and node configuration switches.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T18:53:55.958Z",
      "contentSha256": "2d9bc7051d02ea8678e59a5f55947fb2381b00998293c0d040310540bc1b5c61",
      "recordId": "source-75e29245a2925c41"
    },
    {
      "id": "x425-btc-core-sendmany",
      "label": "sendmany RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/sendmany/",
      "locator": "Arguments: amounts, subtractfeefrom",
      "note": "Multiple recipient outputs and optional fee deduction behavior.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:54.997Z",
      "contentSha256": "55626c9a328b8fc3ffd6dc770e8f283e9745a3a5de239e21193dd5c4dcbfc838",
      "recordId": "source-92ae850777eb59b9"
    },
    {
      "id": "x425-btc-kraken-withdrawals",
      "label": "Cryptocurrency withdrawal fees and minimums",
      "publisher": "Kraken",
      "url": "https://support.kraken.com/ca/articles/360000767986-cryptocurrency-withdrawal-fees-and-minimums",
      "locator": "Withdrawal fees and minimums",
      "note": "Service withdrawal quote and fees can change; no current BTC price or fee is reproduced.",
      "checkedAt": "2026-10-02T18:53:58.010Z",
      "contentSha256": "aa23b2eebf836b1827ef558f3f818402038323fe31ade039601b6cbe9ecee7f6",
      "recordId": "source-ed6008b9cb62f085",
      "version": null
    },
    {
      "id": "x425-btc-core-validateaddress",
      "label": "validateaddress RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/util/validateaddress/",
      "locator": "Result: isvalid, address, scriptPubKey, error",
      "note": "Address syntax validation does not authenticate a payee.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.094Z",
      "contentSha256": "49a0af3da24209707e3fb1a3073fe504d9a4feec1f0e7cea0f1d1358c9b0f8f4",
      "recordId": "source-da1629d9523069bc"
    },
    {
      "id": "bip173",
      "label": "BIP 173: Base32 address format for native v0-16 witness outputs",
      "publisher": "Bitcoin Improvement Proposals repository on GitHub",
      "author": "Pieter Wuille and Greg Maxwell",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0173.mediawiki",
      "note": "Specifies Bech32 addresses with the bc prefix and lists the problems with base58: mixed case, QR code inefficiency and a checksum with no error-detection guarantees.",
      "checkedAt": "2026-10-02T15:04:13.515182+00:00",
      "contentSha256": "b19eab06b264bbd15ad7f7d640fa34de8f4a8809fba8a6ecc3e165545b27a543",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Specifies Bech32 addresses with the bc prefix and lists the problems with base58: mixed case, QR code inefficiency and a checksum with no error-detection guarantees.",
      "recordId": "source-7c30c03ff7365c18"
    },
    {
      "id": "bip350",
      "label": "BIP 350: Bech32m format for v1+ witness addresses",
      "publisher": "Bitcoin Improvement Proposals repository on GitHub",
      "author": "Pieter Wuille",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0350.mediawiki",
      "note": "Explains the Bech32 insertion weakness and specifies Bech32m for witness versions 1 and above, which gives Taproot addresses the bc1p prefix.",
      "checkedAt": "2026-10-02T15:04:13.517498+00:00",
      "contentSha256": "63634b06aa8bae88b31929674736e74964c4598684269ac2b0b140c43a7a0dec",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Explains the Bech32 insertion weakness and specifies Bech32m for witness versions 1 and above, which gives Taproot addresses the bc1p prefix.",
      "recordId": "source-b33f2e5a3eb0e76d"
    },
    {
      "id": "x425-btc-bolt11",
      "label": "BOLT 11: Invoice Protocol for Lightning Payments",
      "publisher": "Lightning specification contributors",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/11-payment-encoding.md",
      "locator": "Human-Readable Part; Data Part; Tagged Fields; Payer / Payee Interactions; Payer / Payee Requirements",
      "note": "Invoice amounts, payment hashes, expiry, signing and feature constraints.",
      "version": "Pinned BOLTs revision",
      "checkedAt": "2026-10-02T18:53:57.096Z",
      "contentSha256": "d2ede88b25ca3017e8cce7cc313a88d3b6a780d34ded2d403b996b2a8c7e9810",
      "recordId": "source-e70fcc81fb7aecfd"
    },
    {
      "id": "x425-btc-electrum-cold",
      "label": "Cold Storage",
      "publisher": "Electrum",
      "url": "https://electrum.readthedocs.io/en/latest/coldstorage.html",
      "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction",
      "note": "Electrum offline signing workflow and separation of watch-only and signing devices.",
      "checkedAt": "2026-10-02T18:53:56.455Z",
      "contentSha256": "f2cbfc12c3786bf15734a1822ac509c5c3e3ae1763a84aac7a851e3892a65ff1",
      "recordId": "source-cf3812de54f14280",
      "version": null
    },
    {
      "id": "x425-btc-electrum-seed",
      "label": "Seed Version System",
      "publisher": "Electrum",
      "url": "https://electrum.readthedocs.io/en/latest/seedphrase.html",
      "locator": "Electrum Seed Version System; Description; Motivation; Security implications",
      "note": "Electrum mnemonic format differs from BIP-39 and encodes a version indication.",
      "checkedAt": "2026-10-02T18:53:56.665Z",
      "contentSha256": "93d7422d74821ecabd6364a8c3912fea3d0521229bd16b9b3d512537545511e7",
      "recordId": "source-7eae899f0b532217",
      "version": null
    },
    {
      "id": "x425-btc-core-backupwallet",
      "label": "backupwallet RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/backupwallet/",
      "locator": "Description; Arguments",
      "note": "Wallet backup destination and database-copy operation.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.850Z",
      "contentSha256": "a02c9954361a21b14b1dbd963651d89356c2fafedb77f1b131322ce1722f2996",
      "recordId": "source-2a37c2d1db3ea696"
    },
    {
      "id": "x425-btc-core-restorewallet",
      "label": "restorewallet RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/restorewallet/",
      "locator": "Description; Arguments",
      "note": "Restoring a wallet from a backup file under documented options.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.697Z",
      "contentSha256": "4d71983d0ef6b5e77faf8b2a7ce0a1bb3a26e6d5146dfdb3d6539ded9c87b6ba",
      "recordId": "source-536a722ef4cd531e"
    },
    {
      "id": "x425-btc-core-download",
      "label": "Download Bitcoin Core",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/download/",
      "locator": "Verify your download",
      "note": "Current official distribution and binary verification instructions; do not infer third-party package safety.",
      "checkedAt": "2026-10-02T18:53:56.631Z",
      "contentSha256": "ce4ad6a91e072cc4a9c6b2f4c02aa376f6c1cdf8bd616463601dbe79e908db4a",
      "recordId": "source-4530aa79056687e5",
      "version": null
    },
    {
      "id": "x425-btc-electrum-download",
      "label": "Electrum Bitcoin Wallet",
      "publisher": "Electrum",
      "url": "https://electrum.org/",
      "locator": "Sources and Binaries; How to verify GPG signatures",
      "note": "Official wallet distribution and signature verification trust boundaries.",
      "checkedAt": "2026-10-02T18:53:56.639Z",
      "contentSha256": "ac2f033f358e4b6cd785c04754fb2d5aa51be195fe9e8791cedbb724b18160fa",
      "recordId": "source-ea741b767cef08a4",
      "version": null
    },
    {
      "id": "bitcoin-org-full-node",
      "label": "Running A Full Node",
      "publisher": "Bitcoin Project, bitcoin.org",
      "url": "https://bitcoin.org/en/full-node",
      "note": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum.",
      "checkedAt": "2026-10-02T14:48:44.213396+00:00",
      "contentSha256": "2dc461080457f3ebd75587b784c4987cad3a27dda728b18d663a5305a9b4d10c",
      "locator": "Defines a full node, explains why the network needs nodes that accept connections, lists minimum requirements (7 GB disk, 2 GB RAM, 400 kbit/s upload, 6 hours a day, around 740 GB initial download and 20 GB a month), and says pruning cuts disk use from over 750 GB to around 7 GB with a 550 MiB minimum.",
      "recordId": "source-cb92ea1a2a21982c",
      "version": null
    },
    {
      "id": "x425-btc-core-rpc",
      "label": "JSON-RPC interface",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/doc/JSON-RPC-interface.md",
      "locator": "Introduction; Endpoints; Versioning; Security; RPC consistency guarantees",
      "note": "Privileged RPC scope, authentication, local access and unencrypted transport limitations.",
      "version": "Bitcoin Core v29.0",
      "checkedAt": "2026-10-02T18:53:55.910Z",
      "contentSha256": "c56badff1616ff19b112ebbc97d600726101ca8e8fa2c91b15b901b96c938930",
      "recordId": "source-84123e4e42fca415"
    },
    {
      "id": "devguide-mining",
      "label": "Mining (Bitcoin Developer Guide)",
      "publisher": "developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/devguide/mining.html",
      "note": "Describes what mining does, solo versus pool mining, the block reward and fees, and how hardware cycles through nonces and requests a new header.",
      "checkedAt": "2026-10-02T14:48:37.185479+00:00",
      "contentSha256": "04538309b288d2db25681f6f0648dde680c3afa60a8a6e2b413a0c74498881b8",
      "locator": "Describes what mining does, solo versus pool mining, the block reward and fees, and how hardware cycles through nonces and requests a new header.",
      "recordId": "source-d5271fde58f8f665",
      "version": null
    },
    {
      "id": "x425-btc-dev-p2p-network",
      "label": "P2P Network",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/p2p_network.html",
      "locator": "Peer Discovery; Connecting To Peers; Initial Block Download; Block Broadcasting; Transaction Broadcasting",
      "note": "Peer connections, initial download and block/transaction relay.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.860Z",
      "contentSha256": "9240934092827c46470cd7a2443aa657af262b400e3b86f43cd83e34963e12c7",
      "recordId": "source-37b2d756ababbeec"
    },
    {
      "id": "x425-btc-core-getnetworkinfo",
      "label": "getnetworkinfo RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/network/getnetworkinfo/",
      "locator": "Result: connections, connections_in, connections_out, networkactive, networks, localaddresses, warnings",
      "note": "Peer connections and network reachability state.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:55.860Z",
      "contentSha256": "2ff59403274dd4f98fa422411e2b59350b52736e7b89efdd7e27ca6214fbf610",
      "recordId": "source-ac189ce0cbbe1a69"
    },
    {
      "id": "x425-btc-bip94",
      "label": "Testnet 4",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0094.mediawiki",
      "locator": "Motivation; Specification",
      "note": "Testnet reset rationale and modified difficulty rules distinguish testing from mainnet.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:56.899Z",
      "contentSha256": "6a490d6266f2dc640ca3e16645fd49f593a07aec8e882cdb8e5fa96f1ca898ab",
      "recordId": "source-bd1e86dc8b8241c7"
    },
    {
      "id": "x425-btc-bip325",
      "label": "Signet",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0325.mediawiki",
      "locator": "Motivation; Specification",
      "note": "A challenge-based test network; signet coins have no intended monetary value.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:57.004Z",
      "contentSha256": "36471b99209dae19617fbe201654d04d0ebcc9aa5f3dddc5e401ff83151e35b8",
      "recordId": "source-e8eb520182728e81"
    },
    {
      "id": "x425-btc-core-getpeerinfo",
      "label": "getpeerinfo RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/network/getpeerinfo/",
      "locator": "Result: inbound, connection_type, synced_headers, synced_blocks",
      "note": "Peer-level synchronization and connection observations.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:56.424Z",
      "contentSha256": "31d38132016ddf3518f7dd4433921f5d2c91745b6584468f558c73c7d73dedd8",
      "recordId": "source-648a22245d31e0de"
    },
    {
      "id": "x425-btc-core-testmempoolaccept",
      "label": "testmempoolaccept RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/rawtransactions/testmempoolaccept/",
      "locator": "Description; Result: allowed, reject-reason",
      "note": "Local admission checks do not broadcast or promise miner inclusion.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:56.573Z",
      "contentSha256": "b5432a56d9df8f0c9585638ab1d48863e0c0c1ce1bf281aec6fa5dc3102c1218",
      "recordId": "source-916dfd4428737738"
    },
    {
      "id": "x425-btc-bip322",
      "label": "Generic Signed Message Format",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0322.mediawiki",
      "locator": "Motivation; Types of Signatures; Detailed Specification; Verification Process",
      "note": "Message-control proof, virtual transactions and limits of supported wallet verification.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:54.170Z",
      "contentSha256": "0eb91c5093ef81c462cadffdbe02d4d1638cb270d3ccb47301a6d82860aa0454",
      "recordId": "source-057748a013b6ec8e"
    },
    {
      "id": "x425-btc-ln-lifecycle",
      "label": "The lifecycle of a payment channel",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/the-lightning-network/payment-channels/lifecycle-of-a-payment-channel.md",
      "locator": "Opening a channel; Sending funds through a payment channel; Closing a channel; Cooperatively; Non-cooperatively",
      "note": "Cooperative versus unilateral closes and confirmation/delay requirements.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.295Z",
      "contentSha256": "4e1188e6df305f081372400c0b4ad8af00406002b9cdcbfcb994f700994bb67b",
      "recordId": "source-d0625e6983c0ac55"
    },
    {
      "id": "x425-btc-bolt12",
      "label": "BOLT 12: Negotiation Protocol for Lightning Payments",
      "publisher": "Lightning specification contributors",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/12-offer-encoding.md",
      "locator": "Limitations of BOLT 11; Payment Flow Scenarios; Offers; Invoice Requests; Invoices; Payer Proofs",
      "note": "Reusable offers produce separate invoice requests and authenticated invoices.",
      "version": "Pinned BOLTs revision",
      "checkedAt": "2026-10-02T18:53:57.136Z",
      "contentSha256": "0fa23def72465c7c31dcff2c90c0139e988c502b42f103c0e0b945b752837b69",
      "recordId": "source-cc1932d4fd39f8dd"
    },
    {
      "id": "x425-btc-ln-loop-fees",
      "label": "Loop Fees",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/lightning-network-tools/lightning-terminal/loop-fees.md",
      "locator": "Loop Out: Estimated fees, Actual fees; Loop In: Estimated fees, Actual fees",
      "note": "Service, chain and routing fees must be included when evaluating a swap.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.455Z",
      "contentSha256": "fc5c3234433c163729fef92fe344ceec70b4bf56e7426befa2d14dba0fda8cb4",
      "recordId": "source-70a948d7dc6576e3"
    },
    {
      "id": "x425-btc-ln-payments",
      "label": "Sending Payments",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/lightning-network-tools/lnd/payments.md",
      "locator": "Pathfinding; Dispatching Payments; Payment Fees; Monitoring Payments",
      "note": "LND initiated/in-flight/succeeded/failed statuses and safe retry semantics.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.437Z",
      "contentSha256": "b60ed4c76affc6a05feaaf3ec960f40d5039a3d53aae3c35046e6fc125279d7b",
      "recordId": "source-1906b56694566cb0"
    },
    {
      "id": "x425-btc-ln-recovery",
      "label": "Recovery: Planning for Failure",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/lightning-network-tools/lnd/recovery-planning-for-failure.md",
      "locator": "aezeed; Static channel backups (SCB); Channel Database",
      "note": "LND seed, static channel backups, safe channel recovery and external backups.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.272Z",
      "contentSha256": "016d77748e9a725ee012189116d9aec9d3aade08d671f2548bfee5b9d6438d79",
      "recordId": "source-b441602c23e09691"
    },
    {
      "id": "x425-btc-lud16",
      "label": "Pay to static internet identifiers",
      "publisher": "LNURL contributors",
      "url": "https://raw.githubusercontent.com/lnurl/luds/913c49e5b65081473eed7889eee5f806dd30f049/16.md",
      "locator": "Paying to internet identifiers: username/domain resolution to LNURL-pay; metadata text/identifier versus text/email",
      "note": "Lightning Address resolution to a domain-hosted LNURL-pay endpoint.",
      "version": "LUD-16 pinned revision",
      "checkedAt": "2026-10-02T18:53:57.523Z",
      "contentSha256": "abf008cbb492ce04a77ddce32c39269a1c48686b1a51526de7453749bfc18491",
      "recordId": "source-feee64f340f934a6"
    },
    {
      "id": "x425-btc-lud6",
      "label": "LNURL-pay",
      "publisher": "LNURL contributors",
      "url": "https://raw.githubusercontent.com/lnurl/luds/913c49e5b65081473eed7889eee5f806dd30f049/06.md",
      "locator": "LNURL-pay: metadata and amount response, invoice callback and wallet verification steps",
      "note": "HTTP callback, amount bounds, metadata and invoice verification in LNURL-pay.",
      "version": "LUD-06 pinned revision",
      "checkedAt": "2026-10-02T18:53:57.478Z",
      "contentSha256": "96491eddc7c75efedc94f56f53ed8322acd719c35a53e644dc9408347f5980c2",
      "recordId": "source-3dc33608911e84ce"
    },
    {
      "id": "x425-btc-ln-disaster",
      "label": "Disaster recovery",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/lightning-network-tools/lnd/disaster-recovery.md",
      "locator": "1. Recover as much data as you can; 2. Set up a new node; 3. Begin the recovery process; B) Static channel backup; C) Force-closing all other channels",
      "note": "Recovery procedures and need to avoid outdated channel-state reuse.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.281Z",
      "contentSha256": "82993b7b39b5a48f38b7196c6e68c61ea24deb5e199249a0daca3894a7ae20e5",
      "recordId": "source-df81d0f88f3e71df"
    },
    {
      "id": "x425-btc-ln-sweeping",
      "label": "Understanding Sweeping",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/the-lightning-network/payment-channels/understanding-sweeping.md",
      "locator": "Types of funds that need to be swept; Local force closure; Remote force closure; Incoming HTLCs; Outgoing HTLCs; Batch sweeping; LNCLI and uneconomical sweeps",
      "note": "Claiming outputs after channel closures depends on confirmation and applicable delays.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.424Z",
      "contentSha256": "000318eeb9e0a552240c6044875f498c42bab7a75bf1aab5ecf6de708024cc86",
      "recordId": "source-9ed194ab4aaa2ccc"
    },
    {
      "id": "x425-btc-ln-watchtowers",
      "label": "Watchtowers",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/the-lightning-network/payment-channels/watchtowers.md",
      "locator": "Channel breaches; Watchtowers; Timelocks",
      "note": "Monitoring revoked channel states and limitations of outsourced breach protection.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.295Z",
      "contentSha256": "5a3fbe26cb7b1adae82c5a375139a7a6284cfd85f874fcb55b9a61d8a1b47513",
      "recordId": "source-c990c3514ba7948d"
    },
    {
      "id": "x425-btc-bolt3",
      "label": "BOLT 3: Bitcoin Transaction and Script Formats",
      "publisher": "Lightning specification contributors",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/03-transactions.md",
      "locator": "Commitment Transaction; HTLC Outputs; Closing Transaction",
      "note": "Commitment output delays and conditional HTLC settlement on chain.",
      "version": "Pinned BOLTs revision",
      "checkedAt": "2026-10-02T18:53:57.097Z",
      "contentSha256": "27ffbf1ae436f257bff3f255b4d1e4d4bbf8597fb1e2533d7ff9b66f4fe38d43",
      "recordId": "source-b886d1d57cf59732"
    },
    {
      "id": "x425-btc-ln-swaps",
      "label": "Understanding Submarine Swaps",
      "publisher": "Lightning Labs",
      "url": "https://raw.githubusercontent.com/lightninglabs/docs.lightning.engineering/0456e1627b2579ac18108cb921fe609f87c8b009/the-lightning-network/multihop-payments/understanding-submarine-swaps.md",
      "locator": "Three steps of a Submarine swap; 1. Generate a bitcoin smart contract; 2. Generate and pay a Lightning invoice; 3. Claim bitcoin from the smart contract",
      "note": "Conditional on-chain/off-chain swaps and timeout refund paths.",
      "version": "Pinned Lightning Labs documentation revision; LND/Loop implementation scope",
      "checkedAt": "2026-10-02T18:53:57.424Z",
      "contentSha256": "b2870689b29366aaa433533f1ef1245ea154f6b6b33a58da0899438d59e21e01",
      "recordId": "source-948a23bc4bb5421b"
    },
    {
      "id": "x425-btc-bitmain-s21",
      "label": "S21 User Guide",
      "publisher": "BITMAIN",
      "url": "https://assets-product.bitmain.com.cn/shop-product-s3/firmware/c17a60d7-51c8-41a3-8365-b7e5d1506caa/2025/04/10/14/S21%20User%20Guide-V1.2.5.pdf",
      "locator": "Section 1.2 Server Specification, printed pages 4–5: Table 1-1 Product Glance, Table 1-2 Detailed Characteristics of Product and notes",
      "note": "Manufacturer-rated SHA-256 hash rate, wall power, efficiency and conditions; used as a dated equipment example.",
      "version": "S21 User Guide V1.2.5; not a buying recommendation",
      "checkedAt": "2026-10-02T18:55:07.160Z",
      "contentSha256": "16549666a187600b51001e7244fbb5da3e5961fa9ae88a939d2e5d694188d019",
      "recordId": "source-030ca0d60e0a17f4"
    },
    {
      "id": "x425-btc-stratum-overview",
      "label": "Protocol Overview",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/03-protocol-overview/",
      "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles",
      "note": "Separate mining, job declaration and template distribution protocols.",
      "checkedAt": "2026-10-02T18:53:58.669Z",
      "contentSha256": "bf6115d24c6c10b56043a8d16fb482ea744496889e6fb36916800e6262af14fe",
      "recordId": "source-394deea2671f4cfb",
      "version": null
    },
    {
      "id": "x425-btc-pool-schemes",
      "label": "Can you make money as a Bitcoin miner?",
      "publisher": "f2pool",
      "url": "https://f2pool.io/mining/insights/20200903-make-money-bitcoin-miner/",
      "locator": "Mining pool selection: PPS, PPLNS, FPPS and PPS+ definitions; mining economics and cost qualifications",
      "note": "Historical 2020 account of payout method mechanics. Historical prices, subsidies, pool fees and product recommendations are not current facts.",
      "version": "Published 2020-09-03; historical payout-method mechanics and mining cost categories only",
      "checkedAt": "2026-10-02T19:11:55.963Z",
      "contentSha256": "32faccb360b8cf033ab0d1d405880f49565770aac343f1af2721a703d5be7c1e",
      "recordId": "source-3ad0f31ed0474c29"
    },
    {
      "id": "x425-btc-pool-payouts",
      "label": "Bitcoin Mining Pools: 101",
      "publisher": "f2pool",
      "url": "https://f2pool.io/mining/insights/20200318-mining-pools-101/",
      "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?",
      "note": "Historical 2020 explanation used for share-based reward mechanics and statistical variance; not current subsidy, price, fees, payouts or pool recommendation.",
      "version": "Published 2020-03-18; historical example",
      "checkedAt": "2026-10-02T18:54:53.532Z",
      "contentSha256": "3803c5893982d51adf5977a2a9f1b2432930f29a0891ad97a56c8fada01bef81",
      "recordId": "source-1277587efaa94027"
    },
    {
      "id": "x425-btc-stratum-mining",
      "label": "Mining Protocol",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/05-mining-protocol/",
      "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget",
      "note": "Mining jobs, channel types, share submission and custom-job support.",
      "checkedAt": "2026-10-02T18:53:58.669Z",
      "contentSha256": "34d7d92253d260aab89db2c148a56951951792ae1da249b21f3527082027a63d",
      "recordId": "source-45e6674e99f8e04e",
      "version": null
    },
    {
      "id": "x425-btc-pool-shares",
      "label": "Farm Proxy FAQs",
      "publisher": "Braiins",
      "url": "https://academy.braiins.com/farm-proxy/faqs",
      "locator": "Invalid hashrate; Flat downstream hashrate vs volatile upstream hashrate",
      "note": "Pool reporting distinguishes estimated submitted work and rejection diagnostics.",
      "checkedAt": "2026-10-02T18:54:54.246Z",
      "contentSha256": "fea56951daf8f847631077dedceb176153899d22574a196bb63f599df7a3bdc9",
      "recordId": "source-0f8037f378f867ae",
      "version": null
    },
    {
      "id": "x425-btc-stratum-security",
      "label": "Protocol Security",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/04-protocol-security/",
      "locator": "4 Protocol Security; 4.1 Motivation for Authenticated Encryption with Associated Data; 4.5 Authenticated Key Agreement Handshake",
      "note": "Authenticated encrypted transport and its threat boundaries.",
      "checkedAt": "2026-10-02T18:53:58.786Z",
      "contentSha256": "2d887598ba93260c97fe6825aeafefd383f3012b25641abca91664f63f0890b8",
      "recordId": "source-da110f1187fa1a35",
      "version": null
    },
    {
      "id": "x425-btc-bip78",
      "label": "A Simple Payjoin Proposal",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0078.mediawiki",
      "locator": "Motivation; Protocol; Receiver's original PSBT checklist; Sender's payjoin proposal checklist",
      "note": "Receiver-input payment proposal and required output/fee validation in BIP-78.",
      "version": "Pinned BIPs revision",
      "checkedAt": "2026-10-02T18:53:54.152Z",
      "contentSha256": "1888ea3529a77477820045358e4ff4ce1085020ecc3e1d7e47b39bfd3f0eada2",
      "recordId": "source-bdc6c661a933e71b"
    },
    {
      "id": "coinjoin",
      "label": "CoinJoin: Bitcoin privacy for the real world",
      "publisher": "BitcoinTalk forum",
      "author": "Gregory Maxwell",
      "issued": "2013-08-22",
      "url": "https://bitcointalk.org/index.php?topic=279249.0",
      "note": "The common-input-ownership assumption, the independence of signatures that lets strangers build one transaction, and the coordination and Tor caveats.",
      "checkedAt": "2026-10-02T14:50:08.044384+00:00",
      "contentSha256": "c3595d8412ee01f7cbde594d1a459f4a02bdcdaf8bb264010dccc2817925409e",
      "locator": "The common-input-ownership assumption, the independence of signatures that lets strangers build one transaction, and the coordination and Tor caveats.",
      "recordId": "source-24799b57e0005e64",
      "version": null
    },
    {
      "id": "x425-eth-mm-password",
      "label": "How passwords work in MetaMask",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/configure/wallet/passwords-and-metamask",
      "locator": "SRP access; social account access",
      "note": "Device password versus SRP restoration, with separately described social-login behavior.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.135Z",
      "contentSha256": "7a525828ab868f369b2cded406465c3be6edfab20abbee242a47820f65280abc",
      "recordId": "source-3bd1032dd7f4b2ef"
    },
    {
      "id": "x425-eth-mm-restore",
      "label": "Missing accounts after restoring MetaMask",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/configure/accounts/how-to-add-missing-accounts-after-restoring-with-secret-recovery-phrase/",
      "locator": "Restored accounts; imported accounts",
      "note": "Derived accounts and separately imported accounts do not have identical restoration paths.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.232Z",
      "contentSha256": "98687db6d3feaafdea019e53c6c610f3446ed8dd43e9fa96bb87e80f144476a5",
      "recordId": "source-bc836c2e8d5b3936"
    },
    {
      "id": "x425-sc-eth-security",
      "label": "Ethereum security and scam prevention",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/security/",
      "locator": "Wallet security; common scams",
      "note": "Address checking, malicious token and phishing risks; examples are educational.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.783Z",
      "contentSha256": "1372ff086ae3f53ded99c8dfe308346a457574d41c04dc587de119a64080b448",
      "recordId": "source-83ec2d5a18d94ce1"
    },
    {
      "id": "x425-eth-mm-path",
      "label": "Importing a seed phrase from another wallet",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/configure/wallet/importing-a-seed-phrase-from-another-wallet-software-derivation-path/",
      "locator": "Derivation path",
      "note": "Wallet recovery compatibility and path-dependent address discovery.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.713Z",
      "contentSha256": "5283f25ceb99b7d71fb15a0004c93fe9b57a37e1ddc1a6db9ab56bc3de26d6bf",
      "recordId": "source-302a9de796759a11"
    },
    {
      "id": "x425-eth-mm-tokens",
      "label": "Displaying tokens in MetaMask",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/manage-crypto/tokens/how-to-display-tokens-in-metamask",
      "locator": "Enhanced detection; custom tokens; hiding tokens",
      "note": "Wallet display and token contract identity are separate from onchain holdings.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.137Z",
      "contentSha256": "175816d8d6f117fbbe963b8005cd04b9a2757ed1c45ad4142a88f32bfce31d67",
      "recordId": "source-85b8c7c22a802fdd"
    },
    {
      "id": "x425-eth-mm-airdrops",
      "label": "Airdrop phishing scams",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/stay-safe/protect-yourself/nfts/nft-airdrop-scams/",
      "locator": "Airdrop scams; unsolicited tokens",
      "note": "Unsolicited-token links and permissions create risks distinct from passive receipt.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.143Z",
      "contentSha256": "711a15a9407a15296269b55e24910af7c9f6732a693ae3dcfcad4a1446941997",
      "recordId": "source-de5bad1c1751e718"
    },
    {
      "id": "x425-eth-mm-hardware",
      "label": "Hardware wallets",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/more-web3/wallets/hardware-wallet-hub/",
      "locator": "Hardware-wallet signing and connection",
      "note": "Private-key isolation and interaction between a hardware device and wallet interface.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.557Z",
      "contentSha256": "c70c253ac705996d101d8c89248307d42793f41c80b4c6918459abe87982265c",
      "recordId": "source-20fd0881c1052faa"
    },
    {
      "id": "x425-eth-bip44",
      "label": "BIP-44 multi-account hierarchy",
      "publisher": "Bitcoin BIPs contributors",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/master/bip-0044.mediawiki",
      "locator": "Path levels; account discovery",
      "note": "Deterministic path structure and account indexing; application to a wallet requires that wallet’s documented support.",
      "version": "BIP-44; fetched revision body hash recorded",
      "checkedAt": "2026-10-02T18:55:24.305Z",
      "contentSha256": "6a541c79f94077ac529941a8cbd373ce077a5d6e97b6dd8209b45ac10f737eaf",
      "recordId": "source-5462698695c02c41"
    },
    {
      "id": "x425-eth-walletconnect",
      "label": "WalletConnect Sign concepts",
      "publisher": "WalletConnect",
      "url": "https://specs.walletconnect.com/2.0/specs/clients/sign/session-proposal",
      "locator": "Session proposal; namespaces; session requests",
      "note": "Session negotiation, supported chains/methods/accounts and request permission boundaries.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.458Z",
      "contentSha256": "fc36f621fe7f7fc0fe3ff7a1a6cd9de9634b37f46454194304b00ec2a03a285b",
      "recordId": "source-f68e098f51825a11"
    },
    {
      "id": "x425-eth-walletconnect-namespaces",
      "label": "Namespaces",
      "publisher": "WalletConnect specifications",
      "url": "https://specs.walletconnect.com/2.0/specs/clients/sign/namespaces",
      "locator": "Definition; Session Namespaces; Approving a Session Response; Rejecting a Session Response",
      "note": "Proposal and session namespace fields define requested chains, methods, events and approved accounts.",
      "version": "WalletConnect Sign v2 documentation retrieved 2 October 2026",
      "checkedAt": "2026-10-02T19:20:32.372Z",
      "contentSha256": "2ef9b3cc6854992a048e713f7716f94870cb698ead79db12d343699ceb67e160",
      "recordId": "source-56f17960afd8dbbe"
    },
    {
      "id": "x425-eth-eth-nodes",
      "label": "Ethereum nodes and clients",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/nodes-and-clients/",
      "locator": "Execution and consensus clients; synchronization; node types",
      "note": "Post-Merge client roles, optional validators and synchronization modes.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.405Z",
      "contentSha256": "504af7a98b297efac4a639ad20b92921c64db4df44e543acc2f75683f56420d2",
      "recordId": "source-81c7c6821c46702f"
    },
    {
      "id": "x425-sc-eth-privacy",
      "label": "Why digital privacy matters",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/privacy/",
      "locator": "Privacy can be the default: public and transparent ledger",
      "note": "Supports the public-ledger privacy limitation; does not establish a private transaction or universal privacy guarantee.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T19:25:01.807Z",
      "contentSha256": "f71b283ad1de1b11860d1776f7e8562fa00f72e28d4643de510bb49934149d84",
      "recordId": "source-236481753b554345"
    },
    {
      "id": "x425-eth-eip4361",
      "label": "Sign-In with Ethereum",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4361",
      "locator": "Message format; verifying messages; security considerations",
      "note": "Domain, URI, chain ID, nonce and time-bound authentication sessions.",
      "version": "EIP-4361",
      "checkedAt": "2026-10-02T18:55:24.817Z",
      "contentSha256": "0530d2eb496ab9f9061474a68a4b1e280692c46c533f1a5f1541a1a741aed663",
      "recordId": "source-bafbb5becc12abdd"
    },
    {
      "id": "x425-eth-ens-roles",
      "label": "ENS terminology",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/terminology/",
      "locator": "Owner; controller; resolver; registrant",
      "note": "Roles in ENS naming, resolution and management.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.181Z",
      "contentSha256": "eda2d55d25857800cbddcf2ddc398a9235d7cf2572bc315534aaf8b3939fed9a",
      "recordId": "source-0314bf4e15f4a3c3"
    },
    {
      "id": "x425-eth-ens-resolution",
      "label": "ENS address lookup",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/web/resolution/",
      "locator": "Resolving addresses; multicoin lookup",
      "note": "Resolve the requested coin or chain address rather than assuming all records are one payment destination.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.398Z",
      "contentSha256": "8fff5811a3c95fa9d36b2a46de975e99dbafb310a55e5329f3062bc662e1eb40",
      "recordId": "source-9b4fe04b40d00867"
    },
    {
      "id": "x425-eth-ens-expiry",
      "label": "Expired ENS names and wallet access",
      "publisher": "ENS Labs",
      "url": "https://support.ens.domains/en/articles/12311858-do-expired-ens-names-affect-wallet-access",
      "locator": "Expiry; grace period; wallet access",
      "note": "Name expiry affects name use rather than cryptographic ownership of the associated account.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.397Z",
      "contentSha256": "a35541d3315935531ad5d33e3608a8a7cb5261539cc11195e31f377b5ccfa511",
      "recordId": "source-fb90e1f6259646dd"
    },
    {
      "id": "x425-eth-ens-register",
      "label": "ENS ETH registrar",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/registry/eth/",
      "locator": "Registering a name; commit-reveal; renewals",
      "note": "ENSv1 .eth registration and renewal procedure; not an assertion that ENSv2 uses the same pricing or grace period.",
      "version": "ENSv1 registrar documentation",
      "checkedAt": "2026-10-02T18:55:25.210Z",
      "contentSha256": "9fa58bcc8f42a32872442b058cd89f5ba50d1568ff8909a4077e911563aa8274",
      "recordId": "source-50f4215631218b71"
    },
    {
      "id": "x425-eth-ens-normalize",
      "label": "ENS name processing",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/resolution/names/",
      "locator": "Normalization; ENSIP-15; namehash",
      "note": "Normalization establishes consistent valid names, not identity authentication.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.506Z",
      "contentSha256": "c8c809cfa33a58738d8dc982c4ca8f1bf73e312643c88912e64005b23df6c066",
      "recordId": "source-67a5d9792baea5d3"
    },
    {
      "id": "x425-eth-ens-wrapper-expiry",
      "label": "ENS Name Wrapper expiry",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/wrapper/expiry/",
      "locator": "Expiry; parent and child names",
      "note": "Subname rights and burned permissions have expiry conditions.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.302Z",
      "contentSha256": "59662b899664b935b97e8c70f3818c585a222d358ddacac1094f34756ac11c93",
      "recordId": "source-a2283706a3e288fd"
    },
    {
      "id": "x425-eth-ens-wrapper",
      "label": "ENS Name Wrapper overview",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/wrapper/overview/",
      "locator": "Wrapped names; subnames; permissions",
      "note": "Parent control and fuse-based permissions depend on wrapped-name state.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.327Z",
      "contentSha256": "da11a491480c6dc40983ce6da9d7d134940c43b3c29314aea4623f7487dad29c",
      "recordId": "source-61280280e90de6db"
    },
    {
      "id": "x425-eth-ens-reverse",
      "label": "ENS primary names",
      "publisher": "ENS Labs",
      "url": "https://docs.ens.domains/web/reverse/",
      "locator": "Primary names; reverse resolution; verification",
      "note": "Reverse-name display, chain-specific primary names and forward-address verification.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.312Z",
      "contentSha256": "1f7f00ca52002d56a66b5ce6e7fd67180aaef4e407b9ee61d5878ccfa90e0e1d",
      "recordId": "source-8e756b4d7083a59e"
    },
    {
      "id": "x425-eth-erc1155",
      "label": "ERC-1155 multi-token standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1155",
      "locator": "Safe transfer rules; operator approvals; minting and burning",
      "note": "Receiver acceptance, collection-wide operators, balance accounting and burn events.",
      "version": "ERC-1155",
      "checkedAt": "2026-10-02T18:55:25.400Z",
      "contentSha256": "50eece6ce1ad417b39ae7183a5626c6f9e3b11fc16a00ba5f630bc6fed01cfd2",
      "recordId": "source-a8902fec2ff6f520"
    },
    {
      "id": "x425-eth-seaport",
      "label": "Seaport order and fulfillment documentation",
      "publisher": "OpenSea contributors",
      "url": "https://raw.githubusercontent.com/ProjectOpenSea/seaport/main/docs/SeaportDocumentation.md",
      "locator": "Orders; fulfillment; cancellation; signatures",
      "note": "Offer/consideration orders, signed authorization, approval and order fulfillment.",
      "version": "Seaport repository documentation; retrieved content hash recorded",
      "checkedAt": "2026-10-02T18:58:48.251Z",
      "contentSha256": "46155228918eb950b220ef0845e39c5d47a28f59b39b54131e3c38e17fac575a",
      "recordId": "source-8238f34edcff5d42"
    },
    {
      "id": "x425-eth-erc2981",
      "label": "NFT royalty standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-2981",
      "locator": "Abstract; royaltyInfo; specification; voluntary payments",
      "note": "Royalty information calculation in sale-price units does not enforce marketplace payment.",
      "version": "ERC-2981",
      "checkedAt": "2026-10-02T18:55:25.506Z",
      "contentSha256": "683728beef00d1d8122451b082ba5d89efb1fcf39ef93d4992668e2e299b1b63",
      "recordId": "source-60a18e2fb1fc4fbb"
    },
    {
      "id": "x425-eth-oz-burn",
      "label": "OpenZeppelin ERC721Burnable",
      "publisher": "OpenZeppelin",
      "url": "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/v5.4.0/contracts/token/ERC721/extensions/ERC721Burnable.sol",
      "locator": "burn",
      "note": "A versioned example of authorized NFT token destruction, distinct from moving to an inaccessible address.",
      "version": "OpenZeppelin Contracts v5.4.0",
      "checkedAt": "2026-10-02T18:55:25.609Z",
      "contentSha256": "7b212ebdf844128dd2b3f02f824d7e855983495a75eea9c23852301c3887e861",
      "recordId": "source-6afc89f384bcfbe0"
    },
    {
      "id": "x425-eth-ipfs-content",
      "label": "IPFS content addressing",
      "publisher": "IPFS contributors",
      "url": "https://docs.ipfs.tech/concepts/content-addressing/",
      "locator": "Content identifiers; content addressing",
      "note": "A CID identifies content rather than promising a continuously available server.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.788Z",
      "contentSha256": "6b5f2f1fd6e1e2605f34ee5e63618a2239ed27666148d82a4931a6959cd0fc5d",
      "recordId": "source-d6c57c6845e6d6cf"
    },
    {
      "id": "x425-eth-ipfs-persistence",
      "label": "IPFS persistence and pinning",
      "publisher": "IPFS contributors",
      "url": "https://docs.ipfs.tech/how-to/pin-files/",
      "locator": "Pinning; garbage collection; remote pinning",
      "note": "Availability depends on nodes retaining and serving content; pinning prevents local garbage collection.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.704Z",
      "contentSha256": "3fd4a0313f1c5af3309da80188b6ea14f3ea178d73f769a35b97d72d06690b76",
      "recordId": "source-37c1413248e9760f"
    },
    {
      "id": "x425-eth-mm-nfts",
      "label": "Viewing NFTs in MetaMask",
      "publisher": "MetaMask",
      "url": "https://support.metamask.io/manage-crypto/nfts/nft-tokens-in-your-metamask-wallet",
      "locator": "Auto-detection; manual import; display issues",
      "note": "NFT ownership and network/token identification are separate from interface detection and media rendering.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.794Z",
      "contentSha256": "b5f85d179aa0a3a91998392d415fd5990466eeb408a215a684f46a0ca487f6e4",
      "recordId": "source-a819b8d4ca674cf9"
    },
    {
      "id": "x425-eth-eth-solo",
      "label": "Home staking Ethereum",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/staking/solo/",
      "locator": "How it works; responsibilities; requirements",
      "note": "Running and maintaining execution, consensus and validator infrastructure with a qualifying stake.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:25.708Z",
      "contentSha256": "8892580b4f6bb823ebe817c3073ad9d7eb2c8b32b54e4645f8ff6d4cbc919d51",
      "recordId": "source-ed235bbe5523f774"
    },
    {
      "id": "x425-eth-eth-pos",
      "label": "Ethereum proof of stake",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/",
      "locator": "Slots; epochs; block proposals; attestations; finality",
      "note": "Consensus proposal schedule, voting and finality distinctions.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.560Z",
      "contentSha256": "eb014204a846dc845deffe602d4156aea675ab817dc792cfb60b25bc3e9e4703",
      "recordId": "source-df4587da99d9b637"
    },
    {
      "id": "x425-eth-eth-rewards",
      "label": "Proof-of-stake rewards and penalties",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/",
      "locator": "Rewards; penalties; inactivity leak; slashing",
      "note": "Reward components, missed duties and penalty distinctions; values are not quoted as live rates.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.371Z",
      "contentSha256": "a1279005274988597f18c77dd4dab93e5ab61e3835be5a0b9302c0bea85a5ff9",
      "recordId": "source-5c75a0594463b144"
    },
    {
      "id": "x425-eth-eth-saas",
      "label": "Staking as a service",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/staking/saas/",
      "locator": "How it works; keys; counterparty risk",
      "note": "Outsourced validator operation and withdrawal-key control need separate assessment.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.034Z",
      "contentSha256": "7c61790bc7982bc6cade769163078f32e8e4e69425f477ca078fdbfcba451e70",
      "recordId": "source-1b2cc02258c65baa"
    },
    {
      "id": "x425-eth-eth-keys",
      "label": "Ethereum proof-of-stake keys",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/keys/",
      "locator": "Validator key; withdrawal key",
      "note": "Online validator signing versus separate withdrawal authority and credentials.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.064Z",
      "contentSha256": "bc59c1f6f7c1b4061b0200e322370b653b9f4ac72e8484ebff173f9a7d474896",
      "recordId": "source-c37ef41d3c4ba6d9"
    },
    {
      "id": "x425-eth-eth-pools",
      "label": "Pooled staking",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/staking/pools/",
      "locator": "How it works; risks; liquid staking",
      "note": "Pooled participation, service dependencies, fees and tokenized versus non-tokenized claims.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.267Z",
      "contentSha256": "afb35a034170fd9bad572e69276720730fa508302135e522b0f49985d293b3bf",
      "recordId": "source-fb4e302f14876a2b"
    },
    {
      "id": "x425-eth-launchpad-faq",
      "label": "Ethereum staking launchpad FAQ source",
      "publisher": "Ethereum Foundation",
      "url": "https://raw.githubusercontent.com/ethereum/staking-launchpad/dev/src/pages/FAQ/index.jsx",
      "locator": "Validators; deposits; activation; rewards; key management",
      "note": "Staking lifecycle, qualifying balances, network duties and deposit-data handling.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:58:48.434Z",
      "contentSha256": "31805a01cc3b2f365af2789eb2fcbeed34e0bd404a3ed55d7980e51dda17a67b",
      "recordId": "source-d14a53a7dccb47be"
    },
    {
      "id": "x425-eth-eip3076",
      "label": "Slashing protection interchange format",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-3076",
      "locator": "Interchange format; import and export; safety",
      "note": "Signing-history transfer between validator clients does not authorize concurrent independent copies.",
      "version": "EIP-3076",
      "checkedAt": "2026-10-02T18:55:26.323Z",
      "contentSha256": "bf236c87eea59de6a6eb5fdfb802dffa5399004902cacc4f44522f4f80e95866",
      "recordId": "source-9d546a950a3e1f5d"
    },
    {
      "id": "x425-eth-eth-diversity",
      "label": "Ethereum client diversity",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/nodes-and-clients/client-diversity/",
      "locator": "Why multiple clients; consequences of supermajority clients",
      "note": "Correlated implementation failures and client diversity at execution and consensus layers.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.250Z",
      "contentSha256": "9be6529c01f609a17fa87934441a5458b31abf1ce41fff2f0ab65fa6a58d49ac",
      "recordId": "source-0380507fa74b16bf"
    },
    {
      "id": "x425-eth-eth-dvt",
      "label": "Distributed validator technology",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/staking/dvt/",
      "locator": "Key shares; threshold signing; benefits and risks",
      "note": "Several nodes coordinate one validator using shares rather than independently reusing one full signing key.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.312Z",
      "contentSha256": "00a39ee99197dcaa68f75df04f56f41bfff7ccf6d6c224ca95571c13db227424",
      "recordId": "source-3ba0d2aae6a41261"
    },
    {
      "id": "x425-eth-fee-recipient",
      "label": "Suggested fee recipient",
      "publisher": "Lighthouse contributors",
      "url": "https://lighthouse-book.sigmaprime.io/validator_fee_recipient.html",
      "locator": "Configuring fee recipients",
      "note": "Execution rewards use configured addresses distinct from consensus withdrawal credentials.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:58:04.982Z",
      "contentSha256": "c91cc110cb8a49f9c1e6ea701e2607c13be7a5915de324bbf9dcb02d30b2eb3d",
      "recordId": "source-494cc80759bbaf7e"
    },
    {
      "id": "x425-eth-eth-networks",
      "label": "Ethereum networks",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/networks/",
      "locator": "Mainnet; Sepolia; Hoodi; testnet faucets",
      "note": "Distinct network state and development/validator testing environments as of retrieval.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.434Z",
      "contentSha256": "b32946f57518467e3efe9174162c3d448e1fe352f3f6ef43719b95a763b93d9c",
      "recordId": "source-dddc0c86525f4282"
    },
    {
      "id": "x425-eth-eth-merge",
      "label": "The Merge",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/roadmap/merge/",
      "locator": "Merging with Mainnet; misconceptions",
      "note": "Consensus transition preserved execution balances and transaction history.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.611Z",
      "contentSha256": "ba5215656c2f78e216194516233977b3800ae05195e0bb7999fdf50e6ab0f5f4",
      "recordId": "source-6c6265b20e47ad72"
    },
    {
      "id": "x425-eth-geth-archive",
      "label": "Geth archive node",
      "publisher": "Go Ethereum",
      "url": "https://geth.ethereum.org/docs/fundamentals/archive",
      "locator": "Hash-based archive; path-based archive",
      "note": "Historical state availability depends on client version and archive retention/index configuration.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.554Z",
      "contentSha256": "26e93dc368d5e9a5b64383eb844929d77d9e05c78ebd17a361097cc2c8183e3a",
      "recordId": "source-d8710ea64bccd201"
    },
    {
      "id": "x425-eth-eth-light",
      "label": "Ethereum light clients",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/nodes-and-clients/light-clients/",
      "locator": "Light clients; sync committees; data verification",
      "note": "Authenticated headers and limited-resource verification differ from full execution.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.812Z",
      "contentSha256": "890152f7ed941a57b3bc4f61e6f2e817861cb2aa4e40bcd1f6126dc26c57394b",
      "recordId": "source-4b82943838e3c2ce"
    },
    {
      "id": "x425-eth-eth-weak",
      "label": "Proof-of-stake weak subjectivity",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/weak-subjectivity/",
      "locator": "Weak subjectivity checkpoints; long-range attacks",
      "note": "Recent trusted checkpoints anchor a newly syncing or long-offline node.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.785Z",
      "contentSha256": "201fe38fc2a38c29383043a7d70a147901f4db3653e71d2490e71662335396bc",
      "recordId": "source-92ecd648d0893a8f"
    },
    {
      "id": "x425-eth-eip1",
      "label": "Ethereum Improvement Proposal process",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-1",
      "locator": "EIP types; workflow; status",
      "note": "Specification stages are distinct from network upgrade deployment.",
      "version": "EIP-1",
      "checkedAt": "2026-10-02T18:55:26.643Z",
      "contentSha256": "c2be94a87a1804cd5a678ae11c162018c302768469b5c9cbb871239d61f28b9e",
      "recordId": "source-8b618399ddf05875"
    },
    {
      "id": "x425-eth-eth-governance",
      "label": "Ethereum governance",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/governance/",
      "locator": "Governance process; stakeholders; network upgrades",
      "note": "Offchain proposal discussion, client implementation and node adoption.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.750Z",
      "contentSha256": "2e8ea5bcaac9a1aec1b5d37cad81d55e61a8ff4701ad61fa1a2ed456372a44c0",
      "recordId": "source-95f53241e21aef41"
    },
    {
      "id": "x425-eth-base",
      "label": "Base network overview",
      "publisher": "Base",
      "url": "https://docs.base.org/specifications/base-protocol/overview",
      "locator": "Architecture; Ethereum layer 2",
      "note": "Base’s documented network and technology scope; marketing performance claims are excluded.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.927Z",
      "contentSha256": "968d262d7de35077eb05b99d502896bc7a88864a79d1fe65efe1ac82a23a5ed0",
      "recordId": "source-ce983daf420e08fd"
    },
    {
      "id": "x425-eth-base-network",
      "label": "Base network information",
      "publisher": "Base",
      "url": "https://docs.base.org/get-started/connect-to-base",
      "locator": "Network details; chain identity",
      "note": "Base Mainnet and testnet endpoints, distinct chain identity and network state.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.930Z",
      "contentSha256": "ae931758db5d2172f23f8343287d9cb473c72615955dca7c7facd1c930b04872",
      "recordId": "source-385f1c0eedd4e951"
    },
    {
      "id": "x425-eth-base-finality",
      "label": "Base transaction finality",
      "publisher": "Base",
      "url": "https://docs.base.org/specifications/transactions/transaction-finality",
      "locator": "Finality stages",
      "note": "Distinguish Base preconfirmation, block inclusion, Ethereum data finality and withdrawal completion.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.802Z",
      "contentSha256": "efb1d2a37a948b7f760bd3fc7aa4f3215b157de8f3988f491267ccccd78a25c7",
      "recordId": "source-1a6f029f321db9d7"
    },
    {
      "id": "x425-eth-arbitrum-nitro",
      "label": "Inside Arbitrum Nitro",
      "publisher": "Offchain Labs",
      "url": "https://docs.arbitrum.io/how-arbitrum-works/inside-arbitrum-nitro",
      "locator": "Transaction journey; rollup; AnyTrust",
      "note": "Nitro rollup execution and Ethereum batch publication versus AnyTrust committee assumptions.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.094Z",
      "contentSha256": "b0e9819a15eacadbab163dd3255ded4025880453fde823e0aa5df2ff03d83990",
      "recordId": "source-2d1073e5ab3a8020"
    },
    {
      "id": "x425-eth-op-intro",
      "label": "OP Stack overview",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/stack/getting-started",
      "locator": "OP Stack; components; deployments",
      "note": "Reusable rollup software and chain-specific configuration.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.607Z",
      "contentSha256": "a4389f228bd876c5659c6d6cd66dedef48ac6d87844bb0a8e586e0be98e53c6e",
      "recordId": "source-bba91fdf8532e63b"
    },
    {
      "id": "x425-eth-op-finality",
      "label": "OP Stack transaction finality",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/stack/transactions/transaction-finality",
      "locator": "Unsafe; safe; finalized; withdrawal distinction",
      "note": "Sequencer acknowledgment and Ethereum-backed finality are separate stages.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.605Z",
      "contentSha256": "3a23a79c1d59457ab3d5b0a0a912aa81d5b5a6e9bcc5f1ff2be412f9f495d8d2",
      "recordId": "source-543974e486aeb01b"
    },
    {
      "id": "x425-eth-op-withdrawals",
      "label": "OP Stack withdrawal flow",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/stack/transactions/withdrawal-flow",
      "locator": "Initiate; prove; finalize; fault proofs",
      "note": "L2-to-L1 withdrawals require distinct onchain stages and protocol waits.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.608Z",
      "contentSha256": "445bbe7491370f3ca29ea4b597dcc3c10376c9d98a7415617f67df6267c31f51",
      "recordId": "source-78235bf07c29d69c"
    },
    {
      "id": "x425-eth-zksync",
      "label": "ZKsync protocol introduction",
      "publisher": "ZKsync",
      "url": "https://docs.zksync.io/zksync-protocol/rollup",
      "locator": "ZKsync Era; execution; proofs",
      "note": "Validity-proof execution and Ethereum settlement; deployment-specific compatibility.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.606Z",
      "contentSha256": "35b05d2bb487f0fe5a555a8e4372646f1ae95cdda528cddb6e6ffb285b9c8886",
      "recordId": "source-fac628b4e8303ccd"
    },
    {
      "id": "x425-eth-zksync-compat",
      "label": "ZKsync EVM interpreter",
      "publisher": "ZKsync",
      "url": "https://docs.zksync.io/zksync-protocol/era-vm/evm-interpreter/overview",
      "locator": "Execution environments; interpreter",
      "note": "EVM bytecode interpretation and EraVM execution have documented compatibility boundaries.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:28.128Z",
      "contentSha256": "03b7c5d50ec1ed8eef7b4a315d86e9845870b567e2b62db6ba676ba7907b414f",
      "recordId": "source-3299ab93a27e0e29"
    },
    {
      "id": "x425-eth-starknet",
      "label": "Starknet architecture",
      "publisher": "Starknet",
      "url": "https://docs.starknet.io/learn/protocol/intro.md",
      "locator": "Architecture; execution; proving; settlement",
      "note": "Cairo-based execution and STARK proof settlement on Ethereum.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:28.216Z",
      "contentSha256": "5d383678ab1df2da787f5d90e1d37b7642ea3795167bb4c1cacabbba9c35fc4e",
      "recordId": "source-1b930d686047ef1e"
    },
    {
      "id": "x425-eth-starknet-accounts",
      "label": "Starknet accounts",
      "publisher": "Starknet",
      "url": "https://docs.starknet.io/learn/protocol/accounts.md",
      "locator": "Account abstraction; validation",
      "note": "Native contract-account validation and execution differ from Ethereum EOAs.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:28.472Z",
      "contentSha256": "eb127957d409f1ad4df0c20fb981a6e2b43a105a2d559f962bd0528fae4b1102",
      "recordId": "source-d3fa7c1cf136824b"
    },
    {
      "id": "x425-eth-polygon",
      "label": "Polygon PoS architecture",
      "publisher": "Polygon Labs",
      "url": "https://docs.polygon.technology/pos/architecture/overview/",
      "locator": "Bor; Heimdall; checkpoints; Ethereum contracts",
      "note": "PoS validator/consensus and bridge checkpoint assumptions differ from Ethereum rollup proofs.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:28.218Z",
      "contentSha256": "b0be4d264f53b525794cf39040ceb6ea18775cf92f645e54aa77ee5bdf99d7fb",
      "recordId": "source-0b6d0dc47848f1cc"
    },
    {
      "id": "x425-eth-eth-l2",
      "label": "Ethereum layer 2",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/layer-2/",
      "locator": "Rollups; sidechains; bridges; considerations",
      "note": "Rollup comparison dimensions and limits of transferring broad labels to a named deployment.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.801Z",
      "contentSha256": "eaf6582da260acaa246e6373d541902af66ee1a2c9af6c6e116ae30ad1e47bbe",
      "recordId": "source-3bb455cecdb5481e"
    },
    {
      "id": "x425-eth-op-superchain",
      "label": "Join the Superchain Registry",
      "publisher": "Optimism",
      "url": "https://docs.optimism.io/chain-operators/guides/join-superchain-registry.md",
      "locator": "Superchain; shared standards; OP Stack",
      "note": "Common software, standards and governance goals do not make every deployment identical.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:27.604Z",
      "contentSha256": "5aa8b544fb2d465ffed84f985e12a1fc21cde89e5114afc0e9d2805070cefa14",
      "recordId": "source-e600a7df365a05d7"
    },
    {
      "id": "x425-sc-boe",
      "label": "Stablecoins and CBDCs explained",
      "publisher": "Bank of England",
      "url": "https://www.bankofengland.co.uk/explainers/what-are-stablecoins-and-how-do-they-work",
      "locator": "Stablecoins; Is a stablecoin the same thing as a CBDC?",
      "note": "Definitions and differences between privately issued stablecoins, Bitcoin and central-bank digital money.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.203Z",
      "contentSha256": "08f5715fd2c49f169d2eba145c72bb2be454021e082d76bb8ffe5f406ae47eb9",
      "recordId": "source-0f2f6ebf10a74a26"
    },
    {
      "id": "x425-sc-fed-cbdc",
      "label": "Money and Payments: The U.S. Dollar in the Age of Digital Transformation",
      "publisher": "Federal Reserve",
      "url": "https://www.federalreserve.gov/cbdc-faqs.htm",
      "locator": "Redirected discussion-paper summary: first paragraph defining CBDC as a liability of the central bank",
      "note": "CBDC definition as digital central-bank liability; no claim that a US CBDC is launched.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.445Z",
      "contentSha256": "35e050b90b388e9d67325df4c7f5a2898a6b26f9bcda334490a3536de3829823",
      "recordId": "source-f7c37854a2ba325a"
    },
    {
      "id": "x425-sc-bis-cbdc",
      "label": "Central bank digital currencies: executive summary",
      "publisher": "Bank for International Settlements",
      "url": "https://www.bis.org/publications/fsi-summary-central-bank-digital-currencies-executive-summary",
      "locator": "Retail and wholesale definitions; Architecture",
      "note": "CBDC user scope and ledger design alternatives; August2023 conceptual summary, not a current launch-status catalogue.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T19:03:26.118Z",
      "contentSha256": "cf37b6afb9a1eb9bc033320e6edeb5526a36eb8583c8f5cb6bd1a3c480915dcc",
      "recordId": "source-1ae927837801d94b"
    },
    {
      "id": "x425-sc-bis-deposits",
      "label": "Stablecoins versus tokenised deposits",
      "publisher": "BIS authors Garratt and Shin",
      "url": "https://www.bis.org/publications/bulletin-73-stablecoins-versus-tokenised-deposits-implications-singleness-money.pdf",
      "locator": "Two models of private tokenised money, pp. 1–6, especially non-bearer transfers and protections on pp. 4–6",
      "note": "Analytical comparison of bearer-like stablecoins and bank-deposit transfer models; author analysis, not a universal implementation rule.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T19:02:33.899Z",
      "contentSha256": "60db577724ceb529b50bb2b52541e7e1eca47619160f2a522e6ef52d8a030a8c",
      "recordId": "source-bbdfd6d06b4bef9e"
    },
    {
      "id": "x425-sc-tether-protocols",
      "label": "Supported protocols",
      "publisher": "Tether",
      "url": "https://tether.to/en/supported-protocols/",
      "locator": "Ethereum; TRON",
      "note": "Issuer-recognized networks and token deployments; protocol support is not exchange support.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:06.684Z",
      "contentSha256": "624028cc66981f3eecfc8e0361b85c1b6655d31237b64b04a9708c682c7b8b53",
      "recordId": "source-77bd1e40f0500d2d"
    },
    {
      "id": "x425-sc-coinbase-receive",
      "label": "Steps to receive crypto",
      "publisher": "Coinbase",
      "url": "https://help.coinbase.com/en/coinbase/trading-and-funding/cryptocurrency-trading-pairs/steps-to-receive-crypto",
      "locator": "Receive crypto; network and memo selection",
      "note": "Supported asset/network pair, recipient details and conditional memo requirements.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:00.787Z",
      "contentSha256": "d925959cc8d1b8e7a34590b687b45976df9cd95be6e363b0ef7209cac26b49be",
      "recordId": "source-14e4ed40d664ea20"
    },
    {
      "id": "x425-sc-paxos-terms",
      "label": "USD stablecoin terms",
      "publisher": "Paxos",
      "url": "https://www.paxos.com/terms-and-conditions/stablecoin-terms-conditions",
      "locator": "Introduction; 2.7 Redemption; reserves",
      "note": "Current issuer entities and account-based redemption of USDG and USDP, with conditions and limits.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.354Z",
      "contentSha256": "aea3ef4b875160c4224a7a9bdb9629d602f128a8a1dc36bd67fd446f098dce34",
      "recordId": "source-7a8cf58deabd271c"
    },
    {
      "id": "x425-sc-circle-cpn",
      "label": "Circle Payments Network",
      "publisher": "Circle",
      "url": "https://www.circle.com/cpn",
      "locator": "How CPN works; participating institutions",
      "note": "Institutional payment-network roles and connection between stablecoin settlement and local payout services.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.227Z",
      "contentSha256": "2bfd7689c3fb510bf519ae6c1750fc02a78e13ed2c4142c1d5758d833f0b2deb",
      "recordId": "source-781ca4d935bf18bc"
    },
    {
      "id": "x425-sc-circle-payments",
      "label": "Stablecoin payments infrastructure",
      "publisher": "Circle",
      "url": "https://www.circle.com/use-case/payments",
      "locator": "B2B payments; remittances; payroll; merchant payments",
      "note": "Issuer-described payment use cases, not independent proof of advertised costs or delivery times.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:04.998Z",
      "contentSha256": "69a7075f8726912287c5fde1e92788f73ac6df87500bcc0d87094afe474b1d4d",
      "recordId": "source-d6a01c7f25554af8"
    },
    {
      "id": "x425-sc-stripe-payments",
      "label": "Stablecoin payments",
      "publisher": "Stripe",
      "url": "https://docs.stripe.com/payments/stablecoin-payments",
      "locator": "Payment flow; refunds; disputes; settlement",
      "note": "Processor-specific stablecoin acceptance, refund and merchant balance behavior.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.825Z",
      "contentSha256": "0e6392015c311d173816abfcfef2233910b851cd0adc698abdffd47f72232c24",
      "recordId": "source-6abcea6a4776290a"
    },
    {
      "id": "x425-sc-circle-deposits",
      "label": "Webhook delivery and duplicate events",
      "publisher": "Stripe",
      "url": "https://docs.stripe.com/webhooks",
      "locator": "Event delivery; duplicate events; ordering",
      "note": "Payment event processing and idempotent reconciliation; this does not establish chain settlement.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:46.705Z",
      "contentSha256": "650b1b9552da854ad708451a100da848385e621bd5dfb87b26a17e63db6bb557",
      "recordId": "source-43794d50912b3ed9"
    },
    {
      "id": "x425-sc-coinbase-refund",
      "label": "Return a cryptocurrency transaction",
      "publisher": "Coinbase",
      "url": "https://help.coinbase.com/en/coinbase/trading-and-funding/sending-or-receiving-cryptocurrency/how-do-i-refund-a-digital-currency-transaction",
      "locator": "Opening warning; Return options",
      "note": "Coinbase explicitly warns against returning funds to an original Coinbase sending address; use supported recipient instructions.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T19:25:01.806Z",
      "contentSha256": "07aaf99e9c7a3ff2befc80d7cfad9184dd5ad06e47da806331364ac088efb655",
      "recordId": "source-1140fbecda49abb4"
    },
    {
      "id": "x425-sc-coinbase-memos",
      "label": "Deposit pending: memo not included",
      "publisher": "Coinbase",
      "url": "https://help.coinbase.com/en/exchange/crypto-transfers/memo-not-included",
      "locator": "What is a Destination Tag/Memo?; why needed",
      "note": "Custodial shared-address attribution and missing-memo consequences; asset support must be checked separately.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:59.961Z",
      "contentSha256": "778b398ad03327c8558c97354ecf9c4eccf751441326943e169eaaaf265134f4",
      "recordId": "source-b0762b8413431759"
    },
    {
      "id": "x425-sc-stripe-refunds",
      "label": "Refund and cancel payments",
      "publisher": "Stripe",
      "url": "https://docs.stripe.com/refunds",
      "locator": "Refund status; handling failures",
      "note": "Refund workflow, asynchronous processing and reconciliation separate from an original charge.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.967Z",
      "contentSha256": "22616120bdc24b09ef3989b49da6f49a152476a45aa2d61ec1d6956d43471ba0",
      "recordId": "source-8029cd9ca5006236"
    },
    {
      "id": "x425-sc-circle-rise",
      "label": "Rise payroll case study",
      "publisher": "Circle and Rise",
      "url": "https://www.circle.com/case-studies/rise",
      "locator": "A stablecoin payroll strategy; reporting",
      "note": "Named provider example of stablecoin payroll and payroll records; provider claims, not independently measured performance.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:05.318Z",
      "contentSha256": "9f6790131751055bf7a917626ac102cd1b2d14d0e2323d5533b2786fe7f032cf",
      "recordId": "source-d495478b2009e81e"
    },
    {
      "id": "x425-sc-stripe-payouts",
      "label": "Stablecoin payouts for Connect",
      "publisher": "Stripe",
      "url": "https://docs.stripe.com/crypto/stablecoin-payouts",
      "locator": "How it works; limitations",
      "note": "Fiat platform balance, recipient USDC conversion and eligibility limits for a specific payout service.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:06.223Z",
      "contentSha256": "7ffb231959d3913558b655a9a44b4401ba1cc161739beca3e67ae8b1946d5fd5",
      "recordId": "source-96ecf7d587351e6a"
    },
    {
      "id": "x425-sc-tron-resources",
      "label": "Bandwidth and Energy",
      "publisher": "TRON documentation",
      "url": "https://developers.tron.network/docs/bandwidth-and-energy",
      "locator": "Resource comparison; recovery",
      "note": "Transaction byte metering versus contract computation, staking and resource recovery.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:07.411Z",
      "contentSha256": "09c348b7ac8e88ae9008938b29b628f7fd6f16b134d36f1e31c80498c17ba3d3",
      "recordId": "source-7379f01ec09cfd55"
    },
    {
      "id": "x425-sc-tron-payment",
      "label": "Paying for resources and Energy sharing",
      "publisher": "TRON documentation",
      "url": "https://developers.tron.network/docs/paying-for-resources",
      "locator": "TRX burn fallback; fee_limit; dynamic Energy",
      "note": "How shortages, sharing and contract activity affect resource costs; live fee constants are not assumed.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:07.579Z",
      "contentSha256": "2067adcb325bae9627cf1fb04fc5ff4e7cf3f088f24eab5753a857de4683f899",
      "recordId": "source-9e68fa8701c8a95f"
    },
    {
      "id": "x425-sc-solana-tokens",
      "label": "Tokens on Solana",
      "publisher": "Solana documentation",
      "url": "https://solana.com/docs/tokens",
      "locator": "Mint accounts; token accounts; associated token accounts",
      "note": "SPL token identity and the distinction between a wallet owner and its token accounts.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:07.309Z",
      "contentSha256": "0cb121aa86325724fac11bbf775fcb48a7db2ddb491a65d1999f9967af331edf",
      "recordId": "source-bd631c30000d7d9f"
    },
    {
      "id": "x425-sc-solana-fees",
      "label": "Transaction fees",
      "publisher": "Solana documentation",
      "url": "https://solana.com/docs/core/fees",
      "locator": "Base fee; prioritization fee",
      "note": "SOL payment of network fees and distinction from transferred token quantity.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:07.624Z",
      "contentSha256": "d0806555b36c392ddcb1635d43d3e40f143049fea6d2ad4d366429c5c3aa76fa",
      "recordId": "source-d57f2bcee5954a0e"
    },
    {
      "id": "x425-sc-stellar-memos",
      "label": "Memos",
      "publisher": "Stellar Development Foundation",
      "url": "https://developers.stellar.org/docs/learn/fundamentals/transactions/operations-and-transactions",
      "locator": "Memo; memo types; muxed accounts; transaction attributes",
      "note": "Transaction memo use for off-chain recipient attribution; a memo is not a secret.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:47.147Z",
      "contentSha256": "f8a91f8f9421ca4150f80c0f8611907d67e1de1bb385c2e4eea377114a81c49e",
      "recordId": "source-e49fc6c6b6e49311"
    },
    {
      "id": "x425-sc-circle-confirmations",
      "label": "Blockchain confirmations",
      "publisher": "Circle",
      "url": "https://developers.circle.com/circle-mint/blockchain-confirmations",
      "locator": "Confirmation requirements by network",
      "note": "Provider-specific deposit credit waiting rules separate from raw transaction execution.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:06.497Z",
      "contentSha256": "c2cc0156f5a67dc2402f0a2f95be38c97b4020d85b7790aefafe7c9a70c99113",
      "recordId": "source-50185f28eec9cf32"
    },
    {
      "id": "x425-sc-coinbase-pending",
      "label": "Pending transactions",
      "publisher": "Coinbase",
      "url": "https://help.coinbase.com/en/coinbase/trading-and-funding/sending-or-receiving-cryptocurrency/why-is-my-transaction-pending",
      "locator": "Reasons a transaction is pending",
      "note": "Provider credit and transaction processing reasons; no universal recovery guarantee.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:02.616Z",
      "contentSha256": "37fc4f1caabaa1f5ad788905f60e8cf4a8c9a1b89f73b5adb417fc4ddc4ce76d",
      "recordId": "source-079850d2fdd9fe5e"
    },
    {
      "id": "x425-sc-gho",
      "label": "GHO protocol documentation",
      "publisher": "Aave",
      "url": "https://www.aave.com/docs/ecosystem/gho",
      "locator": "Facilitator model; bucket capacity; stability module",
      "note": "Governance-authorized mint/burn facilitators and mint caps, distinguished from user deposit interest.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.844Z",
      "contentSha256": "e483f4db084c9e5c358920f777554ab8371a2bf93bde119fd09ef07d0a325835",
      "recordId": "source-ba271de4f54e10e8"
    },
    {
      "id": "x425-sc-rlusd",
      "label": "Ripple USD overview",
      "publisher": "Ripple",
      "url": "https://ripple.com/products/stablecoin/",
      "locator": "Stablecoin overview; backing; transparency",
      "note": "Issuer description of RLUSD backing, native networks and transparency reports.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.113Z",
      "contentSha256": "e9f1157385ec434ca87e8615de3c7c0e0f97f1e5619d7ebf765569b3aec3a468",
      "recordId": "source-32878e1374d4363e"
    },
    {
      "id": "x425-sc-rlusd-terms",
      "label": "RLUSD Stablecoin User Terms",
      "publisher": "Ripple",
      "url": "https://ripple.com/legal/stablecoin/",
      "locator": "2. About RLUSD; Customer versus User; Reserve",
      "note": "Redemption subject to customer conditions and market price risk; no promise every holder has direct access.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.082Z",
      "contentSha256": "26cad54180b058f41a250349f4e53d14123c36d860a086fbd5b364f6faa730ae",
      "recordId": "source-c5af10561e079666"
    },
    {
      "id": "x425-sc-rlusd-xrpl",
      "label": "RLUSD on the XRP Ledger",
      "publisher": "Ripple documentation",
      "url": "https://docs.ripple.com/products/stablecoin/developer-resources/rlusd-on-the-xrpl",
      "locator": "Issued tokens; trust line setup",
      "note": "XRPL trust-line requirement; network reserve constants are not reproduced.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.255Z",
      "contentSha256": "c51944f8b396fd3ce7d6b24454348ec678f451b1a33b23740b1e5822bd1a86fd",
      "recordId": "source-325b16bd956fb0f5"
    },
    {
      "id": "x425-sc-usdg",
      "label": "Global Dollar",
      "publisher": "Global Dollar Network",
      "url": "https://globaldollar.com/",
      "locator": "USDG; network; issuer disclosures",
      "note": "Product identity and distinction between network participation and holding the stablecoin.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.490Z",
      "contentSha256": "3fdebbadcffd49424a95a9f68a3599348244f4d76324399d22ad5bcb3a1c6229",
      "recordId": "source-c0931b5548352f9c"
    },
    {
      "id": "x425-sc-usdp",
      "label": "Pax Dollar",
      "publisher": "Paxos",
      "url": "https://www.paxos.com/usdp",
      "locator": "Pax Dollar; reserves; transparency",
      "note": "USDP product identity and reserve reporting; marketing is not an independent solvency audit.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.368Z",
      "contentSha256": "ad8eb3e0b50214031d266438edb22d9f4eebf37fa5e0d2cecaa901351f6410d2",
      "recordId": "source-9917017e3714bc8f"
    },
    {
      "id": "x425-sc-fdusd",
      "label": "First Digital USD",
      "publisher": "First Digital Labs",
      "url": "https://www.firstdigitallabs.com/fdusd",
      "locator": "What is FDUSD?; redemption; reserve reports",
      "note": "Product design, eligibility and dated issuer reserve reporting; no endorsement of reserve assertions.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:03.475Z",
      "contentSha256": "7f5d9455e3ac61485115244c943a910a7e41f21664f0342c3460c3178d1b28fb",
      "recordId": "source-dc18da81c4621920"
    },
    {
      "id": "x425-sc-fdusd-paper",
      "label": "FDUSD White Paper, August1,2025",
      "publisher": "First Digital Labs",
      "url": "https://cdn.prod.website-files.com/67343e8ae0825a566f704bb0/689f4ee63e948a1098ef51dd_FDL%20Whitepaper%2015.08.pdf",
      "locator": "Sections1–4 issuer, holder rights and redemption; Sections6–7 reserves and risks",
      "note": "Issuer obligations, reserve custody claims and acknowledged operational/redemption risks.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:49.151Z",
      "contentSha256": "41284fcedae0dafa2af20b1174dfc5e2fa5a5d7d8b9a69b7ba2cd050ba31fcc0",
      "recordId": "source-44dc9c090fddf2f3"
    },
    {
      "id": "x425-sc-crvusd",
      "label": "Curve stablecoin overview",
      "publisher": "Curve documentation",
      "url": "https://docs.curve.finance/developer/crvusd/overview/",
      "locator": "Infrastructure components; Controller and AMM versions",
      "note": "Collateralized crvUSD minting and distinct controller, oracle and AMM roles.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:08.810Z",
      "contentSha256": "e69a4c0c058fdea0cad9bc2400e86384394d6df1a862eba9a2c90512a95b0704",
      "recordId": "source-9ca27911011b6741"
    },
    {
      "id": "x425-sc-llamma",
      "label": "LLAMMA explained",
      "publisher": "Curve documentation",
      "url": "https://docs.curve.finance/developer/crvusd/llamma-explainer/",
      "locator": "Soft liquidation; bands; losses",
      "note": "Progressive collateral conversion in LLAMMA and losses during soft-liquidation trading.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:52:47.468Z",
      "contentSha256": "9f8616f879193f43f2e6d55ccba44329c799163cc7ed718e1fd9031f71825038",
      "recordId": "source-16057ef12e5bd2c1"
    },
    {
      "id": "x425-sc-gho-help",
      "label": "GHO stablecoin",
      "publisher": "Aave",
      "url": "https://www.aave.com/help/gho-stablecoin/gho",
      "locator": "What is GHO?; how different",
      "note": "Collateral-backed issuance and borrowing interest directed to the DAO treasury.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.104Z",
      "contentSha256": "6559a2a62e6776b41bdf0ec8356b41d0a7344f441968992d88a67013671d9976",
      "recordId": "source-e7a5aa647af4d2b5"
    },
    {
      "id": "x425-sc-lusd",
      "label": "Liquity V1 borrowing",
      "publisher": "Liquity",
      "url": "https://docs.liquity.org/liquity-v1/faq/borrowing",
      "locator": "Trove; collateral; fees; repayment",
      "note": "ETH-backed V1 LUSD borrowing and fees, distinguished from V2.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.300Z",
      "contentSha256": "750a6f3874a4871e799e5cf5c26993117885d8c4a542cbac49c0784b0f7766f5",
      "recordId": "source-fbefada66afa68c7"
    },
    {
      "id": "x425-sc-lusd-redemption",
      "label": "Liquity V1 redemptions",
      "publisher": "Liquity",
      "url": "https://docs.liquity.org/liquity-v1/faq/lusd-redemptions",
      "locator": "Redemption versus repayment",
      "note": "LUSD-to-ETH redemption at protocol face value, fees and borrower effects.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.187Z",
      "contentSha256": "8224c9356801382af8a13ce766dc4acbd72456e9b44f47184cfc1ba205ff270d",
      "recordId": "source-1620cdec6ce15ab3"
    },
    {
      "id": "x425-sc-bold",
      "label": "Liquity V2 overview",
      "publisher": "Liquity",
      "url": "https://docs.liquity.org/v2-faq",
      "locator": "Differences to V1; collateral; interest",
      "note": "BOLD token, user-set borrowing rates and multiple collateral types.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.526Z",
      "contentSha256": "6a89ad55847404c5a22857f64c60892e685fbb0e1905e5b369b048b24b00b8b2",
      "recordId": "source-343f9861b9d0b4a3"
    },
    {
      "id": "x425-sc-bold-redemption",
      "label": "Liquity V2 redemptions and delegation",
      "publisher": "Liquity",
      "url": "https://docs.liquity.org/v2-faq/redemptions-and-delegation",
      "locator": "Collateral split; lowest-interest Troves",
      "note": "BOLD redemption allocation and borrower-rate ordering; collateral is not fiat.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.432Z",
      "contentSha256": "9be19acaeecd3d3bf6f0b53d54c6164943338508a4f3753b0e91b3b1b04af206",
      "recordId": "source-02b3823273839ba0"
    },
    {
      "id": "x425-sc-frxusd",
      "label": "Frax USD stablecoin",
      "publisher": "Frax documentation",
      "url": "https://docs.frax.com/protocol/assets/frxusd/frxusd",
      "locator": "Governance and Structure; Enshrined Custodians",
      "note": "Current delegated reserve management, mint caps and asset-specific redemption availability.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.631Z",
      "contentSha256": "c87f195937f7a0a2b1c068b91546d3d76d1353c74b7bbd6d9c1df1760b34c581",
      "recordId": "source-896ff4b7815ecbe1"
    },
    {
      "id": "x425-sc-paxg",
      "label": "PAX Gold",
      "publisher": "Paxos",
      "url": "https://www.paxos.com/pax-gold",
      "locator": "Allocated gold; allocation lookup",
      "note": "One fine troy ounce backing and allocation lookup limits for custodial holders.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.498Z",
      "contentSha256": "92b0fadbd330d01fa4df9f12401b84799a2ad26f47e69bb590db17d96b843a94",
      "recordId": "source-23727df2c2a643dc"
    },
    {
      "id": "x425-sc-paxg-terms",
      "label": "PAX Gold terms",
      "publisher": "Paxos",
      "url": "https://www.paxos.com/terms-and-conditions/pax-gold-terms-conditions",
      "locator": "Gold allocation; redemption; risks",
      "note": "Holder rights, eligible redemption routes and restrictions for physical gold conversion.",
      "version": "Document retrieved 2026-10-02; content hash recorded",
      "checkedAt": "2026-10-02T18:51:09.633Z",
      "contentSha256": "21fbbe1ad6e376a2913db25cdcfd459d842348e4edf6b8ed49575213324e0b62",
      "recordId": "source-f672b7986d07210e"
    },
    {
      "id": "x425-defi-uni-swaps",
      "label": "Single Swaps",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/v3/guides/swaps/single-swaps",
      "locator": "exactInputSingle; exactOutputSingle; deadline; amountOutMinimum; amountInMaximum",
      "note": "Version-specific router constraints and worked integration examples.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.662Z",
      "contentSha256": "34d9c27db51d7c364e5a5c0a8c93361d78a771368eec5079bea7fd709475489c",
      "recordId": "source-30ee786187b1a90d"
    },
    {
      "id": "x425-defi-uni-fees",
      "label": "Fees",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/concepts/protocol/fees",
      "locator": "Swap fees; Pool fees tiers; Protocol fees",
      "note": "Separates liquidity-provider and protocol accounting; no universal live fee schedule asserted.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.509Z",
      "contentSha256": "a31d3a8fb469aa7ed619574fd4fb9ae53ed6f2eabd999c66fd86388d014217eb",
      "recordId": "source-37357b0a11d2e087"
    },
    {
      "id": "x425-defi-aave-swaps",
      "label": "Aave v3 Swap Features",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/swap-features",
      "locator": "Repay with collateral; Collateral Swap; Debt Swap",
      "note": "Documented adapter/flash-loan/DEX composition; availability varies by market.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.663Z",
      "contentSha256": "b99c7a66fb373b3f455a161aa0503452eeb99555856ba3dcafedde5bf66a33c7",
      "recordId": "source-f84decea4c02489e"
    },
    {
      "id": "x425-defi-uni-range",
      "label": "Concentrated Liquidity",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/concepts/protocol/concentrated-liquidity",
      "locator": "Active liquidity; ticks",
      "note": "Active range, inventory changes and fee earning.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.537Z",
      "contentSha256": "895e660a97de0f51f8d13a973cc1b11bec89cbbd156cd87ff09685dc7afddccb",
      "recordId": "source-30d257b4fb4b7c1f"
    },
    {
      "id": "x425-defi-uni-factory",
      "label": "Uniswap v3 protocol architecture",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/v3/reference/core/UniswapV3Factory",
      "locator": "uniswap-v3-core / Factory paragraph in the redirected v3 contracts overview",
      "note": "Factory deploys pools for a token pair and fee; network identification remains necessary.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.189Z",
      "contentSha256": "78f9870e23fdf57e3285daaa42f31ed38a7639485b1f050270dcb3db97a0c4d4",
      "recordId": "source-1abf5b1626a79b4b"
    },
    {
      "id": "x425-defi-uni-collect",
      "label": "Collecting Fees",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/v3/guides/providing-liquidity/collect-fees",
      "locator": "Collecting fees; collect",
      "note": "v3 position fee collection is a separate action.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.524Z",
      "contentSha256": "b6fd0c267f34f7a17e09f6e14f65f79e3cf3ba0a01d3b5091cd6c277a71199c7",
      "recordId": "source-c42fa9f513123ad5"
    },
    {
      "id": "x425-defi-uni-remove",
      "label": "Decreasing Liquidity",
      "publisher": "Uniswap",
      "url": "https://docs.uniswap.org/contracts/v3/guides/providing-liquidity/decrease-liquidity",
      "locator": "Decrease liquidity; collect",
      "note": "v3 removal and collection flow.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.739Z",
      "contentSha256": "3ce9898b03e508ca8f8aa0000b09e23067dcfee1c1d7fb218c4c10643f2fdbf1",
      "recordId": "source-bbbd51458d1629f3"
    },
    {
      "id": "x425-defi-balancer-weighted",
      "label": "Weighted Math",
      "publisher": "Balancer",
      "url": "https://docs.balancer.fi/concepts/explore-available-balancer-pools/weighted-pool/weighted-math.html",
      "locator": "Invariant; Spot price; Swap equations",
      "note": "Unequal-weight AMM invariant and spot price.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.859Z",
      "contentSha256": "37165cf8996203f2e73a23228d4243c5793dc6b5ab833eb79b2604787aaa0e63",
      "recordId": "source-44508aa15cf95cd2"
    },
    {
      "id": "x425-defi-balancer-joins",
      "label": "Add/Remove Liquidity Types",
      "publisher": "Balancer",
      "url": "https://docs.balancer.fi/concepts/vault/add-remove-liquidity-types.html",
      "locator": "Unbalanced; Single token exact out; Proportional",
      "note": "Economics of proportional and non-proportional joins/exits.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:19.923Z",
      "contentSha256": "58bb414a1dac3f649a7f66f95b0ec03b7c8a16ba6701a0b31a0f24d290f3b841",
      "recordId": "source-b02e5a0b18885844"
    },
    {
      "id": "x425-defi-curve-stableswap",
      "label": "StableSwap whitepaper",
      "publisher": "Curve Finance",
      "url": "https://docs.curve.finance/assets/files/whitepaper_stableswap-fc0bb370db9fe3a91afdde8662e78206.pdf",
      "locator": "Invariant comparison; Amplification coefficient",
      "note": "Historical curve mechanics only; historical performance marketing not adopted.",
      "version": "Michael Egorov, 2019-11-10 whitepaper",
      "checkedAt": "2026-10-02T18:53:20.187Z",
      "contentSha256": "302aa3092a541cd14296dda0ba9ef8df881e8ccbd24726fe524cf2883856fb70",
      "recordId": "source-09a449a9370225aa"
    },
    {
      "id": "x425-defi-cow-overview",
      "label": "CoW Protocol",
      "publisher": "CoW Protocol",
      "url": "https://docs.cow.fi/cow-protocol",
      "locator": "Intents; batch auctions; solvers; liquidity sources",
      "note": "How solvers source and settle batches.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.051Z",
      "contentSha256": "7de9feaea47631667a3d662ba67d24c4af48d58a500e6617e2c079b1a73322a2",
      "recordId": "source-c1b286b673b2a357"
    },
    {
      "id": "x425-defi-cow-rules",
      "label": "Solver competition rules",
      "publisher": "CoW Protocol",
      "url": "https://docs.cow.fi/cow-protocol/reference/core/auctions/competition-rules",
      "locator": "Uniform directed clearing prices; valid solutions",
      "note": "Current solution-level constraints, without asserting one global price across all auction winners.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.066Z",
      "contentSha256": "9a1682145d07cf63d73d0b4d425ed02af5a1bfc8ec3c1497a7944f1ae5ec3762",
      "recordId": "source-772abf60eddbf0c7"
    },
    {
      "id": "x425-defi-dydx-screen",
      "label": "Interface of the Trade tab",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166979-interface-of-the-trade-tab",
      "locator": "Orderbook; Position information; Stats",
      "note": "Definition and presentation of trading market metrics.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.712Z",
      "contentSha256": "2548899a309c289e661f6f554a87ca26b9889d83ae3ac3cb9035ef8af84c7063",
      "recordId": "source-08e71d7fe0f46d5d"
    },
    {
      "id": "x425-defi-dydx-orders",
      "label": "Perpetual order types on dYdX Chain",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166981-perpetual-order-types-on-dydx-chain",
      "locator": "Market; Limit; Stop; Take Profit; execution policies",
      "note": "Order-type semantics and dYdX-specific constraints.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.714Z",
      "contentSha256": "d1438931924b074c70b146b951a4f3257795a24a3f764d4e31993b9325aa91a9",
      "recordId": "source-a2545baf2d42e7b4"
    },
    {
      "id": "x425-defi-coinbase-orders",
      "label": "Create a new order",
      "publisher": "Coinbase Exchange",
      "url": "https://docs.cdp.coinbase.com/api-reference/exchange-api/rest-api/orders/create-new-order",
      "locator": "Time in force; post only; fill or kill",
      "note": "General order policy example; not a claim these policies exist on every DEX.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:02:00.071Z",
      "contentSha256": "02d626e24b912f2793248d016e236553ba45f54c7e0d81575a6eb4161b4e304f",
      "recordId": "source-a450844a7ee115f1"
    },
    {
      "id": "x425-defi-dydx-reduce",
      "label": "Reduce Only Order",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166978-reduce-only-order",
      "locator": "Requirements; How it works",
      "note": "Version-scoped IOC requirement and reduction behavior.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.744Z",
      "contentSha256": "a4a5a389c7a91e92510cd780bdeaa3d4278528624e099955953b21250b68bfe1",
      "recordId": "source-c3db43b5e8f8e4aa"
    },
    {
      "id": "x425-defi-dydx-funding",
      "label": "Default funding rates on dYdX",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166992-default-funding-rates-on-dydx",
      "locator": "Funding rates; premium; time intervals",
      "note": "Funding direction, position-sized transfers and governance-adjustable calculation.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.972Z",
      "contentSha256": "02604495325daec591f55633ebd2e26e8bef8c74210bedd19ecc1358bd2f5668",
      "recordId": "source-18542509002f6af2"
    },
    {
      "id": "x425-defi-dydx-liquidation",
      "label": "Liquidations on dYdX Chain",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166991-liquidations-on-dydx-chain",
      "locator": "Margin; fillable price; liquidation",
      "note": "Distinguishes eligibility, order execution and account losses.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:20.755Z",
      "contentSha256": "40ce9a93e78b1d9baf4e40ea7a97773951e60917e2b24ca5d72d1cf2e7b591e2",
      "recordId": "source-ba9f2069b72fa7c0"
    },
    {
      "id": "x425-defi-deribit-settlement",
      "label": "Settlement",
      "publisher": "Deribit",
      "url": "https://support.deribit.com/api/v2/help_center/en-us/articles/29734325712413.json",
      "locator": "Daily settlement versus expiration",
      "note": "Official support article retrieved through its public API; venue-specific mechanics.",
      "version": "Support article retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:02:03.014Z",
      "contentSha256": "8bb116d7febb3edb2541e403f598cf112d9a6447c0c30dc2d6fcab0907147e97",
      "recordId": "source-ec50b60aee003176"
    },
    {
      "id": "x425-defi-dydx-oracle",
      "label": "Oracle prices on dYdX Chain",
      "publisher": "dYdX Operations Services",
      "url": "https://help.dydx.trade/en/articles/166990-oracle-prices-on-dydx-chain",
      "locator": "Oracle determination; liquidation and trigger uses",
      "note": "Source-specific oracle reference and its distinct functions.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T18:57:09.645Z",
      "contentSha256": "81716f69f76ff9882a7989dc798bed665a732cd24beb5489b1bad2ac39c3c400",
      "recordId": "source-bf52a8b292c98379"
    },
    {
      "id": "x425-defi-deribit-mark",
      "label": "Mark Prices",
      "publisher": "Deribit",
      "url": "https://support.deribit.com/api/v2/help_center/en-us/articles/25944746962973.json",
      "locator": "What is the Mark Price; building blocks",
      "note": "Official support article retrieved through its public API; venue-specific mechanics.",
      "version": "Support article retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:02:00.584Z",
      "contentSha256": "bdc41686d59dac081fb70d2bb7aa8a87159ecd32cf7d82f181e18a6ba91bc5dc",
      "recordId": "source-f2ccdf54bf686a07"
    },
    {
      "id": "x425-defi-dydx-markets",
      "label": "Markets and margin parameters",
      "publisher": "dYdX Foundation",
      "url": "https://docs.dydx.community/dydx/modules/governance/governance-adjustable-parameters/markets",
      "locator": "Liquidity tiers; Market types",
      "note": "Initial/maintenance margin definitions and cross versus isolated market scope.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.108Z",
      "contentSha256": "e8683056042b4c2a48ce18725115aa6397c6996ae1f57eea3ffe10c9b565705f",
      "recordId": "source-abf997db4e47a939"
    },
    {
      "id": "x425-defi-deribit-inverse",
      "label": "Inverse Options",
      "publisher": "Deribit",
      "url": "https://support.deribit.com/api/v2/help_center/en-us/articles/31424939096093.json",
      "locator": "Settlement process change; Settlement examples",
      "note": "Official support article retrieved through its public Help Center API; inverse settlement specifications.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.588Z",
      "contentSha256": "d648f6f4969da582789840dfaa4fa5e10321e95dc03c514d1d99f21c83fafac1",
      "recordId": "source-1db71f7a31d87f8e"
    },
    {
      "id": "x425-defi-deribit-log",
      "label": "Transaction log",
      "publisher": "Deribit",
      "url": "https://support.deribit.com/api/v2/help_center/en-us/articles/25944587269021.json",
      "locator": "Cash Flow; price; Funding",
      "note": "Official support article retrieved through its public API; venue-specific mechanics.",
      "version": "Support article retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:02:03.438Z",
      "contentSha256": "8ed2b1350c5c7b8212f9618279ac652a0b6a69ac2b4cbaf232e98e98f53fea06",
      "recordId": "source-e1e8263d81aee299"
    },
    {
      "id": "x425-defi-cme-open-interest",
      "label": "Open Interest",
      "publisher": "CME Group",
      "url": "https://www.cmegroup.com/education/lessons/open-interest",
      "locator": "Understanding Open Interest",
      "note": "Definition of outstanding contracts; not a forecast of price direction.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T18:57:10.036Z",
      "contentSha256": "1f8e98b8ad1dfb6883b6ea34047871ad42b9694d752cf839a0a7e2e332e4da5a",
      "recordId": "source-dc8e00e03bd323fe"
    },
    {
      "id": "x425-defi-dydx-backstop",
      "label": "Trading Core",
      "publisher": "dYdX Foundation",
      "url": "https://docs.dydx.community/dydx/modules/governance/governance-adjustable-parameters/trading-core",
      "locator": "Insurance fund; liquidations config; deleveraging",
      "note": "Backstop role and remaining-loss allocation.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.133Z",
      "contentSha256": "ba96e745874c2e14df463f5775b527ed33e08441e85346e20cc64b9894b5d1ec",
      "recordId": "source-cb664621af4b8979"
    },
    {
      "id": "x425-defi-oic-options",
      "label": "What is an Option?",
      "publisher": "Options Industry Council",
      "url": "https://www.optionseducation.org/optionsoverview/what-is-an-option",
      "locator": "Calls; Puts; Premium",
      "note": "General option concepts; equity delivery conventions are not imported into crypto contracts.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.136Z",
      "contentSha256": "a75c3816e2c1332ba92416bf4af11fde5938c13cd63564fddc146c47ac80a60a",
      "recordId": "source-b64d9dc1fc29e2b8"
    },
    {
      "id": "x425-defi-oic-pricing",
      "label": "Options Pricing",
      "publisher": "Options Industry Council",
      "url": "https://www.optionseducation.org/optionsoverview/options-pricing",
      "locator": "Intrinsic value; Time value; Premium inputs",
      "note": "Option price components and model inputs.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.237Z",
      "contentSha256": "7e56f8af291ab679bfc8f9f22db919cc247947afff3d7774faa10a2b9a419adb",
      "recordId": "source-99e91c0eeecf6841"
    },
    {
      "id": "x425-defi-oic-volatility",
      "label": "Volatility and the Greeks",
      "publisher": "Options Industry Council",
      "url": "https://www.optionseducation.org/advancedconcepts/volatility-the-greeks",
      "locator": "Historical versus implied volatility",
      "note": "Model-implied volatility and its interpretation.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.280Z",
      "contentSha256": "674dff5d2a47412ce52fe463b1dc74dc5d56719dc0979f09ff211c8f5dbd74a3",
      "recordId": "source-3bf006394c654a9f"
    },
    {
      "id": "x425-defi-aave-withdraw",
      "label": "Withdraw Tokens",
      "publisher": "Aave",
      "url": "https://aave.com/help/supplying/withdraw-tokens",
      "locator": "Available liquidity; Collateral constraints; Confirm withdrawal",
      "note": "Supply withdrawal prerequisites.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.473Z",
      "contentSha256": "0c092854f550a23a550b58ecdb719bd21918d0b25d327a59c8931beef6f3c2fd",
      "recordId": "source-22552628b3846914"
    },
    {
      "id": "x425-defi-aave-collateral",
      "label": "Toggle Collateral Status",
      "publisher": "Aave",
      "url": "https://aave.com/help/supplying/toggle-collateral-status",
      "locator": "Enable; Disable; health factor",
      "note": "Changing collateral status independently of supply balance.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.565Z",
      "contentSha256": "e34879a19b7b44b55651f157424f33a750b2b0fa29ece983917cbb6ab83b9ce2",
      "recordId": "source-a679a4dc85247e88"
    },
    {
      "id": "x425-defi-aave-emode",
      "label": "Efficiency Mode",
      "publisher": "Aave",
      "url": "https://aave.com/help/borrowing/e-mode",
      "locator": "Categories; correlated assets; risks",
      "note": "Higher capital efficiency under category assumptions.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.760Z",
      "contentSha256": "05936f508560f64ecb0257f8239b79d2e450d5344973cd908f48840f74d0af0b",
      "recordId": "source-8037b70863bfb264"
    },
    {
      "id": "x425-defi-aave-repay",
      "label": "Repay Tokens",
      "publisher": "Aave",
      "url": "https://aave.com/help/borrowing/repay-tokens",
      "locator": "Partial/full repayment; confirmation",
      "note": "Repayment lifecycle; uses pool contract reference for exact implementation.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.591Z",
      "contentSha256": "3984e75c8fd3b4b634de873efdb7983a3441d0b869d69ff4190b227110654a3d",
      "recordId": "source-18f0ca8b98b01b71"
    },
    {
      "id": "x425-defi-aave-liquidity",
      "label": "LiquidityPool",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/concepts/liquidity-pool",
      "locator": "Supply; Borrow; Repay",
      "note": "Pooled supply/collateral interest and repayment asset.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:21.761Z",
      "contentSha256": "cdf88867bba9c9025d998e8b31713ea0de41e0d4a8c7caaa1593f065fd242077",
      "recordId": "source-1c9a4ee4b0c4a761"
    },
    {
      "id": "x425-defi-morpho-risk",
      "label": "Risk and Security Documentation",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/learn/resources/risks/",
      "locator": "Smart contract; Oracle; Counterparty; Bad debt; Liquidity risks",
      "note": "Distinguishes types of protocol risk.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.330Z",
      "contentSha256": "2f336c66ab4873723d5314f6ba5ec56e3e61b5d10213d62ce96b467e2e46d414",
      "recordId": "source-2c6118fd53915127"
    },
    {
      "id": "x425-defi-morpho-loss",
      "label": "Handling Bad Debt: Morpho Vault V2",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/curate/tutorials-v2/bad-debt/",
      "locator": "Loss detection; Loss realization",
      "note": "Version-scoped asset reporting and share-price loss recognition.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.287Z",
      "contentSha256": "fe19abd172d751324de8f0537a9de235a6a2234a167f671571b3bf93e0c7334e",
      "recordId": "source-6716d055644d79b3"
    },
    {
      "id": "x425-defi-morpho-fixed",
      "label": "Fixed Rate Markets (Midnight)",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/developers/midnight/get-started/",
      "locator": "Fixed-rate model; maturity; risks",
      "note": "Dated documentation example of fixed-term lending mechanics, not an availability guarantee.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.486Z",
      "contentSha256": "1372e2e51828ee7876bbb3af19ee99c92510f4a68f9d2e35126969e48548b175",
      "recordId": "source-d15541e8b3aa8941"
    },
    {
      "id": "x425-defi-pendle",
      "label": "Pendle Introduction",
      "publisher": "Pendle",
      "url": "https://docs.pendle.finance/pendle-v2/Introduction",
      "locator": "Yield tokenization; PT; YT; maturity",
      "note": "Principal/yield splitting and maturity accounting.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.586Z",
      "contentSha256": "d74dbb4febcad3f5a037cf6494fb971e3c23b908efe60c315ec3806568c2313d",
      "recordId": "source-30fcaa0ccad4f0db"
    },
    {
      "id": "x425-defi-pendle-pt",
      "label": "Principal Token (PT)",
      "publisher": "Pendle",
      "url": "https://docs.pendle.finance/pendle-v2/ProtocolMechanics/YieldTokenization/PT",
      "locator": "Redemption Value; Key Properties",
      "note": "Accounting asset is distinct from the token used to deliver redemption.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:07:08.975Z",
      "contentSha256": "c021f50105a66ebf34668796e3ad07c8dd822e1d43a5a7a2a096c0a1eec95702",
      "recordId": "source-720faf7ceae7b0a4"
    },
    {
      "id": "x425-defi-pendle-contracts",
      "label": "Yield Tokenization Smart Contracts",
      "publisher": "Pendle",
      "url": "https://docs.pendle.finance/pendle-v2-dev/Contracts/YieldTokenization",
      "locator": "redeemPY; pyIndexCurrent; Negative Yield",
      "note": "Technical limitations qualify introductory fixed-yield descriptions.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:07:09.098Z",
      "contentSha256": "8e6f3258b899e4a13a3145d542fa502528ace2e97c35dacda0c2890a2168b9af",
      "recordId": "source-0327c9715bfa2756"
    },
    {
      "id": "x425-defi-morpho-curator",
      "label": "Roles and Capabilities",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/curate/concepts/roles/",
      "locator": "Owner; Curator; Allocator; Sentinel",
      "note": "Vault-specific permissions and allocation.",
      "version": "Morpho Vault V2 documentation retrieved 2026-10-02",
      "checkedAt": "2026-10-02T18:53:22.487Z",
      "contentSha256": "40c4de54802efcb71194848f8f85d379d9ec41edcbde60d586fdfffefeab37d0",
      "recordId": "source-618aecc50ad7d607"
    },
    {
      "id": "x425-defi-morpho-fees",
      "label": "Fees",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/curate/concepts/fee/",
      "locator": "Fee Structure in Morpho Vaults V2; Fee Collection Mechanism",
      "note": "Management/performance bases and minted fee shares; fee dilution distinguished from unchanged nominal asset balance.",
      "version": "Morpho Vault V2 documentation retrieved 2026-10-02",
      "checkedAt": "2026-10-02T18:53:23.380Z",
      "contentSha256": "4b920702031c83fceec728595fd6e38b5575cd04789d6685a0a36b478be5b84d",
      "recordId": "source-41146d49a04c267c"
    },
    {
      "id": "x425-defi-morpho-collateral",
      "label": "Market Mechanics",
      "publisher": "Morpho",
      "url": "https://docs.morpho.org/developers/borrow/concepts/market-mechanics/",
      "locator": "Assets and shares; collateral accounting",
      "note": "Collateral receives no lending interest from Morpho Blue itself.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:07:09.356Z",
      "contentSha256": "183bed267e4a189c04ba93615948b57898ab3cb6d551e5fd965abc24d35ee12f",
      "recordId": "source-7c21a705af654627"
    },
    {
      "id": "x425-defi-aave-umbrella",
      "label": "Umbrella",
      "publisher": "Aave",
      "url": "https://aave.com/docs/developers/umbrella",
      "locator": "Architecture; slashing; coverage; cooldown",
      "note": "Backstop architecture and scoped deficit cover.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.122Z",
      "contentSha256": "5ede75cc36f92c95ab08345e4f74674b5a53f89a5d5604f6c373efc5c543f697",
      "recordId": "source-7a76a0967f85931b"
    },
    {
      "id": "x425-defi-aave-config",
      "label": "Pool Configurator",
      "publisher": "Aave",
      "url": "https://aave.com/docs/aave-v3/smart-contracts/pool-configurator",
      "locator": "setReserveFreeze; setReservePause; setPoolPause",
      "note": "Aave V3 controls; pause and freeze have distinct scope.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:44.152Z",
      "contentSha256": "bed14e9dd9723c96d6cb98df1f1462f5319b3014e45ca643a0dc4c2da271dc31",
      "recordId": "source-3f2a862175a4a427"
    },
    {
      "id": "x425-defi-oz-mainnet",
      "label": "Preparing for mainnet",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/learn/preparing-for-mainnet",
      "locator": "Auditing and security; Admin accounts; Upgrades admin",
      "note": "Audits are scoped security work, not a guarantee.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:47.728Z",
      "contentSha256": "fcc42714a13cadcdc2be1db3c72e63f47865f426b94a3baebb02459111d08a27",
      "recordId": "source-51752d973dc3abdc"
    },
    {
      "id": "x425-defi-aave-bounty",
      "label": "AAVE Bug Bounty",
      "publisher": "Immunefi / Aave DAO",
      "url": "https://immunefi.com/bug-bounty/aave/information/",
      "locator": "Program overview; scope; eligibility; prohibited activities",
      "note": "Program terms illustrate limitations; no guarantee of absence of bugs.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:47.211Z",
      "contentSha256": "bd6fcacfec7ed6e1e823bd62e65e5d6f25298b87a420f8702d8dc0bc4dc0eecc",
      "recordId": "source-56c47d2d3baa981e"
    },
    {
      "id": "x425-defi-nexus-cover",
      "label": "Cover Products",
      "publisher": "Nexus Mutual",
      "url": "https://docs.nexusmutual.io/overview/cover-products/",
      "locator": "Product wording; discretionary cover; claims",
      "note": "Scope, period and discretionary assessment, without calling it guaranteed compensation.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:23.174Z",
      "contentSha256": "8b38c100b57b9be9f06d1ffada0ecc579ba6a9b756c77b4b0c95d843e5b7900e",
      "recordId": "source-a8ad9738787ae4b2"
    },
    {
      "id": "x425-defi-oz-governor-api",
      "label": "Governance API",
      "publisher": "OpenZeppelin",
      "url": "https://docs.openzeppelin.com/contracts/5.x/api/governance",
      "locator": "Governor; GovernorVotesQuorumFraction; GovernorSettings",
      "note": "Precisely scoped quorum and proposal configuration.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:23.077Z",
      "contentSha256": "bf9f7bcbcdeb1edac62b878684699260dd85107dfcb167fce3f79cf751341e2b",
      "recordId": "source-da7d59cbf24fff1c"
    },
    {
      "id": "x425-defi-snapshot",
      "label": "Snapshot documentation",
      "publisher": "Snapshot",
      "url": "https://docs.snapshot.box/",
      "locator": "Voting; execution; Snapshot X",
      "note": "Off-chain versus on-chain product distinctions.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:22.895Z",
      "contentSha256": "6b6735e50aa42f438800154411b1c33bc180832ec036c01579d3da33f8993876",
      "recordId": "source-cbc7e9d7cf6252e0"
    },
    {
      "id": "x425-defi-snapshot-safesnap",
      "label": "SafeSnap",
      "publisher": "Snapshot",
      "url": "https://docs.snapshot.box/v1-interface/plugins/safesnap-reality",
      "locator": "How does it work; security recommendations",
      "note": "Oracle and execution module connect offchain vote to treasury action; parameters are configuration-specific.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:11:25.022Z",
      "contentSha256": "02c8e1117f0d348afbddc25ccf0e5999fc5bbb32c77ea03abff5a13f7dd556cd",
      "recordId": "source-a23b06819b0568e9"
    },
    {
      "id": "x425-defi-ens-runway",
      "label": "KPK H1 2026 Review for the ENS Endowment",
      "publisher": "KPK on ENS DAO Governance Forum",
      "url": "https://discuss.ens.domains/t/kpk-h1-2026-review-for-the-ens-endowment/22358",
      "locator": "Reserves, Spending and Runway",
      "note": "Primary treasury manager report demonstrates scope and transfer-versus-spend distinctions, not an endorsement or current forecast.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:48.775Z",
      "contentSha256": "baf2fd032837b63c658a2ee0c49c9921bf510b72ea273de2aebeab5f52e83b72",
      "recordId": "source-8373f75c3ba0b2f5"
    },
    {
      "id": "x425-defi-uncx-lock",
      "label": "UNCX Network introduction",
      "publisher": "UNCX Network",
      "url": "https://docs.uncx.network/",
      "locator": "Liquidity Lockers",
      "note": "Locker provider explanation; not an endorsement or adoption of safety guarantees.",
      "version": "Documentation retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:58.873Z",
      "contentSha256": "7542c6ceed1296fe8ac3d54ba64d101d017f3ead6e535b95051565ee656dd9c2",
      "recordId": "source-2601cf7bc26edfa6"
    },
    {
      "id": "x425-defi-doj-rug",
      "label": "Chief Executive Officer of Digital Asset Company Found Guilty in Multi-Million Dollar Crypto-Fraud Scheme",
      "publisher": "US Department of Justice",
      "url": "https://www.justice.gov/usao-edny/pr/chief-executive-officer-digital-asset-company-found-guilty-multi-million-dollar-crypto",
      "locator": "Evidence at trial; representations about locked liquidity",
      "note": "Dated public prosecution report used for terminology and evidence distinctions, not a legal assessment of other projects.",
      "version": "Report published 2025-05-21; retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:11:55.721Z",
      "contentSha256": "c08ee41a5b913e73a58ff32c01b15a34b4c12f50b1bf409e000d8c7ad5f537a6",
      "recordId": "source-14600b470ef1f569"
    },
    {
      "id": "x425-defi-fbi-liquidity-scam",
      "label": "Scammers Target and Exploit Owners of Cryptocurrencies in Liquidity Mining Scam",
      "publisher": "FBI IC3",
      "url": "https://www.ic3.gov/PSA/2022/PSA220721",
      "locator": "Tactics; Actions to Protect Yourself",
      "note": "Dated 2022 public-service notice; no adoption of dated loss totals.",
      "version": "Primary page retrieved 2026-10-02; hash recorded",
      "checkedAt": "2026-10-02T19:10:49.579Z",
      "contentSha256": "101f13e47f06a52f0441de1a207528b4d871a26eadb6ae26129e2ccb24862d9d",
      "recordId": "source-7893e281eacfe9e3"
    },
    {
      "id": "x425-defi-ftc-scams",
      "label": "What To Know About Cryptocurrency and Scams",
      "publisher": "Federal Trade Commission",
      "url": "https://consumer.ftc.gov/articles/what-know-about-cryptocurrency-and-scams",
      "locator": "Investment scams; cryptocurrency payments",
      "note": "General scam signals; does not establish intent in a particular protocol loss.",
      "version": "Documentation retrieved for the 2026-10-02 editorial scope; content hash recorded",
      "checkedAt": "2026-10-02T18:53:24.083Z",
      "contentSha256": "f032b702d3bfff0ded760dbbdbd74e900f66cd902188c3d401e9a1461c10671e",
      "recordId": "source-319cd8df21980df0"
    },
    {
      "id": "whitepaper-announcement",
      "label": "Bitcoin P2P e-cash paper (email to the Cryptography mailing list)",
      "publisher": "Satoshi Nakamoto Institute (archive of the Cryptography mailing list)",
      "author": "Satoshi Nakamoto",
      "issued": "2008-10-31",
      "url": "https://satoshi.nakamotoinstitute.org/emails/cryptography/1/",
      "note": "The 31 October 2008 announcement listing “new coins are made from Hashcash style proof-of-work” among Bitcoin’s main properties.",
      "checkedAt": "2026-10-02T14:48:36.957073+00:00",
      "contentSha256": "ce841e8de58019749be292a0350c3f225566d276822bd3f90e03aa6662c4741c",
      "locator": "The 31 October 2008 announcement listing “new coins are made from Hashcash style proof-of-work” among Bitcoin’s main properties.",
      "recordId": "source-ada4b38213b22142",
      "version": null
    },
    {
      "id": "v01-release",
      "label": "Bitcoin v0.1 released (email to the Cryptography mailing list)",
      "publisher": "Satoshi Nakamoto Institute (archive of the Cryptography mailing list)",
      "author": "Satoshi Nakamoto",
      "issued": "2009-01-08",
      "url": "https://satoshi.nakamotoinstitute.org/emails/cryptography/16/",
      "note": "The January 2009 announcement stating a total circulation of 21,000,000 coins, distributed to the nodes that make blocks and cut in half every four years.",
      "checkedAt": "2026-10-02T14:48:37.055749+00:00",
      "contentSha256": "ab08e7a312b945f9ee722617fe6a5a58164da831796b06329a701d6dc7c7f047",
      "locator": "The January 2009 announcement stating a total circulation of 21,000,000 coins, distributed to the nodes that make blocks and cut in half every four years.",
      "recordId": "source-25fe688a7c17669d",
      "version": null
    },
    {
      "id": "p2p-foundation-post",
      "label": "“Bitcoin open source implementation of P2P currency,” P2P Foundation forum post",
      "publisher": "Satoshi Nakamoto Institute archive",
      "author": "Satoshi Nakamoto",
      "issued": "2009-02-11",
      "url": "https://satoshi.nakamotoinstitute.org/posts/p2pfoundation/1/",
      "note": "The 11 February 2009 post announcing the released software as a new open source P2P e-cash system, with a link to the original P2P Foundation page.",
      "checkedAt": "2026-10-02T14:48:37.020216+00:00",
      "contentSha256": "706cbd1450258d5dbf996582c43d19dcdf0ffaa2b509e3d12e5e82adb7789b46",
      "locator": "The 11 February 2009 post announcing the released software as a new open source P2P e-cash system, with a link to the original P2P Foundation page.",
      "recordId": "source-7e23b97c38076d96",
      "version": null
    },
    {
      "id": "genesis-wiki",
      "label": "Genesis block",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Genesis_block",
      "note": "Community reference on the headline as proof of date and commentary, the unspendable reward as a code quirk of unknown intent, the extra leading zeros in the hash, and the “full 6 days” gap to block 1.",
      "checkedAt": "2026-10-02T14:48:36.889384+00:00",
      "contentSha256": "ba659aae4b756e045488615fe0d59da67e2a91aec1431bf84786d14237266a6b",
      "locator": "Community reference on the headline as proof of date and commentary, the unspendable reward as a code quirk of unknown intent, the extra leading zeros in the hash, and the “full 6 days” gap to block 1.",
      "recordId": "source-d2c36e64f08016f8",
      "version": null
    },
    {
      "id": "hal-finney-post",
      "label": "Bitcoin and me (Hal Finney)",
      "publisher": "BitcoinTalk forum",
      "author": "Hal Finney",
      "issued": "2013-03-19",
      "url": "https://bitcointalk.org/index.php?topic=155054.0",
      "note": "Finney’s own account of downloading the first release, being the first person besides Satoshi to run it, and receiving ten coins from Satoshi as a test.",
      "checkedAt": "2026-10-02T14:48:36.935796+00:00",
      "contentSha256": "62acdee3566476b53627ba6b83854607908624ec59ea82e660c037547af284da",
      "locator": "Finney’s own account of downloading the first release, being the first person besides Satoshi to run it, and receiving ten coins from Satoshi as a test.",
      "recordId": "source-47cd19b868747311",
      "version": null
    },
    {
      "id": "haber-stornetta",
      "label": "How to time-stamp a digital document",
      "publisher": "Journal of Cryptology, volume 3, pages 99–111 (Springer)",
      "author": "Stuart Haber and W. Scott Stornetta",
      "issued": "1991",
      "url": "https://doi.org/10.1007/BF00196791",
      "note": "The 1991 paper whose abstract sets out time-stamping that cannot be back-dated or forward-dated even with a colluding service and needs no record-keeping by the service.",
      "checkedAt": "2026-10-02T14:48:39.756295+00:00",
      "contentSha256": "fa3707e415fa70c5ae17858dad331627d29503c662f8cba51da365fe2ebb8d26",
      "locator": "The 1991 paper whose abstract sets out time-stamping that cannot be back-dated or forward-dated even with a colluding service and needs no record-keeping by the service.",
      "recordId": "source-2cfd687e885d1839",
      "version": null
    },
    {
      "id": "devref-block-chain",
      "label": "Bitcoin Developer Reference: Block Chain (Block Headers)",
      "publisher": "Bitcoin Project, developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/reference/block_chain.html",
      "note": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees.",
      "checkedAt": "2026-10-02T14:48:37.089132+00:00",
      "contentSha256": "c3f45d19a7af38328bdf5f0691644e5444bf805b6d8f4efa72062b4150db54e3",
      "locator": "Lists the six 80-byte header fields with sizes and meanings, the median-time rule for timestamps, the nBits encoding with 0x1d00ffff as difficulty 1 on mainnet, and states that the coinbase txid is placed first and collects rewards and fees.",
      "recordId": "source-1f428f4e78a3eded",
      "version": null
    },
    {
      "id": "core-genesis",
      "label": "Bitcoin Core genesis construction",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/src/kernel/chainparams.cpp",
      "note": "CreateGenesisBlock comment: original generation output absent from the database; fixed mainnet genesis parameters.",
      "locator": "CreateGenesisBlock comment: original generation output absent from the database; fixed mainnet genesis parameters.",
      "checkedAt": "2026-10-02T15:04:11.761623+00:00",
      "contentSha256": "cfadf1478377c32625280520655b598674e6d487f08d7f7a80ac69252104b5e1",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "recordId": "source-13be72ee1dc96f82"
    },
    {
      "id": "nist-8202",
      "label": "Blockchain Technology Overview (NIST IR 8202)",
      "publisher": "National Institute of Standards and Technology",
      "author": "Dylan Yaga, Peter Mell, Nik Roby and Karen Scarfone",
      "issued": "2018-10",
      "url": "https://csrc.nist.gov/pubs/ir/8202/final",
      "note": "A US government overview defining blockchains generically as tamper-evident, tamper-resistant distributed digital ledgers, usually without a central authority.",
      "checkedAt": "2026-10-02T14:48:37.371895+00:00",
      "contentSha256": "c76faf63860324965c1591ffb01388313ed740c9da56aa95166309f9be642e5b",
      "locator": "A US government overview defining blockchains generically as tamper-evident, tamper-resistant distributed digital ledgers, usually without a central authority.",
      "recordId": "source-11edfcdaaade04e0",
      "version": null
    },
    {
      "id": "wiki-mining",
      "label": "Mining",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Mining",
      "note": "Community reference on the purpose of mining, the two-week retarget, the 50-coin genesis reward and 210,000-block halvings, the CPU-GPU-FPGA-ASIC progression and why pools formed.",
      "checkedAt": "2026-10-02T14:48:37.247661+00:00",
      "contentSha256": "5802eb623578ab7ec15e38055b3c044a53bfd41155f5958760f863405e546c8e",
      "locator": "Community reference on the purpose of mining, the two-week retarget, the 50-coin genesis reward and 210,000-block halvings, the CPU-GPU-FPGA-ASIC progression and why pools formed.",
      "recordId": "source-a81567b89e6c8624",
      "version": null
    },
    {
      "id": "hashcash-paper",
      "label": "Hashcash: A Denial of Service Counter-Measure",
      "publisher": "Satoshi Nakamoto Institute mirror of hashcash.org",
      "author": "Adam Back",
      "issued": "2002-08-01",
      "url": "https://cdn.nakamotoinstitute.org/docs/hashcash.pdf",
      "note": "States that Hashcash was proposed in May 1997 to throttle abuse of email and anonymous remailers, defines the cost-function, and calls its token a proof-of-work.",
      "checkedAt": "2026-10-02T15:04:11.761958+00:00",
      "contentSha256": "fb8b1a6a3f8cdf48b189e77c0355e0f2ffb0f9d6d51d7f1d8c2b29f61c0d33bc",
      "locator": "States that Hashcash was proposed in May 1997 to throttle abuse of email and anonymous remailers, defines the cost-function, and calls its token a proof-of-work.",
      "recordId": "source-42b702488d4e29bb",
      "version": null
    },
    {
      "id": "wiki-pow",
      "label": "Proof of work",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Proof_of_work",
      "note": "Community reference explaining Bitcoin’s use of Hashcash-style SHA-256 proof of work, the ten-minute rate, and a worked example that took 4,251 hashes.",
      "checkedAt": "2026-10-02T14:48:37.372666+00:00",
      "contentSha256": "af960d5c7226167caa64364cfcec0719407aa6d797b9a3e30bc5104076ce44dc",
      "locator": "Community reference explaining Bitcoin’s use of Hashcash-style SHA-256 proof of work, the ten-minute rate, and a worked example that took 4,251 hashes.",
      "recordId": "source-065fc4ef4ea035e5",
      "version": null
    },
    {
      "id": "amount-h",
      "label": "src/consensus/amount.h",
      "publisher": "Bitcoin Core on GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/src/consensus/amount.h",
      "note": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply.",
      "checkedAt": "2026-10-02T15:04:11.762079+00:00",
      "contentSha256": "fbaf7f3186b066f911e74720117299e9b88132cf612a1b27dfe34ab55752a393",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "locator": "Defines CAmount as a 64-bit integer, COIN as 100,000,000 and MAX_MONEY as 21,000,000 × COIN, with the comment that MAX_MONEY is a sanity check rather than the total supply.",
      "recordId": "source-381fa4685e7fb0ba"
    },
    {
      "id": "wiki-satoshi-unit",
      "label": "Satoshi (unit)",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Satoshi_(unit)",
      "note": "Community reference giving the value, the naming history via ribuck’s 2010 and 2011 proposals, the sat abbreviation and plurals, and millisatoshi in payment channels.",
      "checkedAt": "2026-10-02T14:48:37.622848+00:00",
      "contentSha256": "1f346784505cd0f4031f3c445451af6131e60aa394b47fc729d04b81fb249955",
      "locator": "Community reference giving the value, the naming history via ribuck’s 2010 and 2011 proposals, the sat abbreviation and plurals, and millisatoshi in payment channels.",
      "recordId": "source-42961ab5ab9885f5",
      "version": null
    },
    {
      "id": "wiki-units",
      "label": "Units",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Units",
      "note": "Table of units listing the millibitcoin at 0.001 BTC, the microbitcoin or bit at 0.000001 BTC and the satoshi at 0.00000001 BTC.",
      "checkedAt": "2026-10-02T14:48:37.678429+00:00",
      "contentSha256": "af30366427fb5f71ca93b1ac246f077bcb28251816555fad73c138f78d80f4d9",
      "locator": "Table of units listing the millibitcoin at 0.001 BTC, the microbitcoin or bit at 0.000001 BTC and the satoshi at 0.00000001 BTC.",
      "recordId": "source-c14ec58efbd6203d",
      "version": null
    },
    {
      "id": "ribuck-2010",
      "label": "Reply in “Official Bitcoin Unicode Character?” thread",
      "publisher": "BitcoinTalk forum",
      "author": "ribuck",
      "issued": "2010-11-15",
      "url": "https://bitcointalk.org/index.php?topic=369.msg22160",
      "note": "The 15 November 2010 post proposing that a hundredth of a bitcoin be called a Satoshi, with Molyneau and Austrian for smaller fractions.",
      "checkedAt": "2026-10-02T14:48:37.741519+00:00",
      "contentSha256": "ecf74396c08e30fdafe6ac7ab736083281c72c80cf90f9b1126697367ce746d7",
      "locator": "The 15 November 2010 post proposing that a hundredth of a bitcoin be called a Satoshi, with Molyneau and Austrian for smaller fractions.",
      "recordId": "source-193ebfdab6aaf4ce",
      "version": null
    },
    {
      "id": "ribuck-2011",
      "label": "Reply in “More divisibility required - move the decimal point” thread",
      "publisher": "BitcoinTalk forum",
      "author": "ribuck",
      "issued": "2011-02-10",
      "url": "https://bitcointalk.org/index.php?topic=3311.msg46648",
      "note": "The 10 February 2011 post naming the one hundred-millionth unit an “austrian” or “satoshi,” in a thread opened that day about a bitcent exceeding a US cent.",
      "checkedAt": "2026-10-02T14:48:37.736237+00:00",
      "contentSha256": "611dbfc5e60a235a7f09de469ac2c5e016600f54f4f88c3dc22d5db69c0e8d38",
      "locator": "The 10 February 2011 post naming the one hundred-millionth unit an “austrian” or “satoshi,” in a thread opened that day about a bitcent exceeding a US cent.",
      "recordId": "source-77e64f59671500d3",
      "version": null
    },
    {
      "id": "bitcent-thread",
      "label": "“Bitcent?” thread",
      "publisher": "BitcoinTalk forum",
      "author": "Kolbas, marcus_of_augustus and others",
      "issued": "2011-02-18",
      "url": "https://bitcointalk.org/index.php?topic=3574.msg50647",
      "note": "The 18 February 2011 thread where “1 satoshi = 1 microbitcent … 100 million satoshis = 1 bitcoin” was proposed and answered “Affirmative.”",
      "checkedAt": "2026-10-02T14:48:37.747816+00:00",
      "contentSha256": "95643ecd0f4a7ff1a6fb1f81edaa2cc50afab8e0e398537ecb5f2aa509e24fad",
      "locator": "The 18 February 2011 thread where “1 satoshi = 1 microbitcent … 100 million satoshis = 1 bitcoin” was proposed and answered “Affirmative.”",
      "recordId": "source-8a918fc1ac78ce59",
      "version": null
    },
    {
      "id": "satoshi-divisibility",
      "label": "Re: How divisible are bitcoins and other market/economic questions",
      "publisher": "Satoshi Nakamoto Institute (archive of BitcoinTalk posts)",
      "author": "Satoshi Nakamoto",
      "issued": "2010-02-06",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/46/",
      "note": "Satoshi’s 6 February 2010 post: eight decimal places internally, 1.00 shown as 1.00000000, more places could be shown later, and 21 million coins for 6.8 billion people.",
      "checkedAt": "2026-10-02T14:48:37.913464+00:00",
      "contentSha256": "680265029e75c6b4b32b3671c6e0f46eb80593e604785c5cfa0854326e5f53e7",
      "locator": "Satoshi’s 6 February 2010 post: eight decimal places internally, 1.00 shown as 1.00000000, more places could be shown later, and 21 million coins for 6.8 billion people.",
      "recordId": "source-2dfcf2ee5e8796a8",
      "version": null
    },
    {
      "id": "bip-176",
      "label": "BIP 176: Bits Denomination",
      "publisher": "Bitcoin Improvement Proposals on GitHub",
      "author": "Jimmy Song",
      "issued": "2017-12-12",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0176.mediawiki",
      "note": "Informational proposal defining a bit as 100 satoshis, one millionth of a bitcoin, and explaining the readability motivation.",
      "checkedAt": "2026-10-02T15:04:11.762203+00:00",
      "contentSha256": "0c1697d29fe5a5c7444424f990e2840df8098197986a82931805127c5a46d861",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Informational proposal defining a bit as 100 satoshis, one millionth of a bitcoin, and explaining the readability motivation.",
      "recordId": "source-dbef0b3673272e18"
    },
    {
      "id": "choose-your-wallet",
      "label": "Choose your wallet",
      "publisher": "bitcoin.org",
      "url": "https://bitcoin.org/en/choose-your-wallet",
      "note": "Groups wallets into mobile, desktop and hardware and rates them on control, validation, transparency, environment, privacy and fees; states that full-control wallets mean no third party can freeze or take funds.",
      "checkedAt": "2026-10-02T14:48:38.199788+00:00",
      "contentSha256": "feaa2295f62ed4dac07f77355c4796a5ff2b01eb87932779a28321a2027c1c44",
      "locator": "Groups wallets into mobile, desktop and hardware and rates them on control, validation, transparency, environment, privacy and fees; states that full-control wallets mean no third party can freeze or take funds.",
      "recordId": "source-46921e1f24e2cc4a",
      "version": null
    },
    {
      "id": "wiki-private-key",
      "label": "Private key",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Private_key",
      "note": "Defines a private key as a secret number allowing bitcoins to be spent, gives its 256-bit size, describes Wallet Import Format lengths and prefixes, and states what to do if a key is compromised.",
      "checkedAt": "2026-10-02T14:48:38.392499+00:00",
      "contentSha256": "4f2c5630ef676f2a9e5ec8bee26084fb90be180f2d91e296a6d09133a8b42653",
      "locator": "Defines a private key as a secret number allowing bitcoins to be spent, gives its 256-bit size, describes Wallet Import Format lengths and prefixes, and states what to do if a key is compromised.",
      "recordId": "source-4ee314407c920bc6",
      "version": null
    },
    {
      "id": "wiki-secp256k1",
      "label": "Secp256k1",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Secp256k1",
      "note": "Describes the curve Bitcoin uses, its equation, its definition in the Standards for Efficient Cryptography, the predictable choice of constants, its speed, and compressed and uncompressed point sizes.",
      "checkedAt": "2026-10-02T14:48:38.433042+00:00",
      "contentSha256": "5bd123325cf1f5e2c6907e215e46bd8b2605e1d6cad1401e27066096e5a85e0a",
      "locator": "Describes the curve Bitcoin uses, its equation, its definition in the Standards for Efficient Cryptography, the predictable choice of constants, its speed, and compressed and uncompressed point sizes.",
      "recordId": "source-b982d3cd80865cdf",
      "version": null
    },
    {
      "id": "wiki-address",
      "label": "Invoice address",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Address",
      "note": "Gives the 26 to 35 character length, the excluded look-alike characters, the 1, 3 and bc1 prefixes, case sensitivity of old-style addresses, case insensitivity of bech32, the advice to use a unique address per transaction, and the statement that addresses are not wallets or accounts.",
      "checkedAt": "2026-10-02T14:48:38.667677+00:00",
      "contentSha256": "e82e4d020272c5c7f8e0a4c8eafe5b23d63d0d88bb4601ddab709aabc095843f",
      "locator": "Gives the 26 to 35 character length, the excluded look-alike characters, the 1, 3 and bc1 prefixes, case sensitivity of old-style addresses, case insensitivity of bech32, the advice to use a unique address per transaction, and the statement that addresses are not wallets or accounts.",
      "recordId": "source-84598de13162916d",
      "version": null
    },
    {
      "id": "bip13",
      "label": "BIP 13: Address Format for pay-to-script-hash",
      "publisher": "Bitcoin Improvement Proposals (github.com/bitcoin/bips)",
      "author": "Gavin Andresen",
      "issued": "2011-10-18",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0013.mediawiki",
      "note": "Defines the script-hash address type, version byte 5 on the main network, and the resulting leading character 3.",
      "checkedAt": "2026-10-02T15:04:13.401381+00:00",
      "contentSha256": "cebc58a4347dd51fa93d3c7538293aa909dc98abb01e97f9c00faba2feb90b29",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Defines the script-hash address type, version byte 5 on the main network, and the resulting leading character 3.",
      "recordId": "source-17bdc626b9676d26"
    },
    {
      "id": "bip16",
      "label": "BIP 16: Pay to Script Hash",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Gavin Andresen",
      "issued": "2012-01-03",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0016.mediawiki",
      "note": "The proposal that introduced pay-to-script-hash transactions, cited for its author and date.",
      "checkedAt": "2026-10-02T15:04:13.407672+00:00",
      "contentSha256": "9f89c0731bd718ae084802c897c95eb6f85ed2730d01fbc3233ee963b4679feb",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "The proposal that introduced pay-to-script-hash transactions, cited for its author and date.",
      "recordId": "source-ca859c1b51d0e152"
    },
    {
      "id": "bip341",
      "label": "BIP 341: Taproot: SegWit version 1 spending rules",
      "publisher": "Bitcoin Improvement Proposals (github.com/bitcoin/bips)",
      "author": "Pieter Wuille, Jonas Nick, Anthony Towns",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0341.mediawiki",
      "note": "Specifies script-path spending, in which the witness carries the script and a control block, and records activation at block 709,632.",
      "checkedAt": "2026-10-02T15:04:13.593548+00:00",
      "contentSha256": "463690d4c409587759c0ff6e8b8fc3a2bf6cb2cdda0c06ff193d317e0ed898ec",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Specifies script-path spending, in which the witness carries the script and a control block, and records activation at block 709,632.",
      "recordId": "source-774443f2ae10accb"
    },
    {
      "id": "core-0-16",
      "label": "Bitcoin Core version 0.16.0 released",
      "publisher": "Bitcoin Core (bitcoincore.org)",
      "issued": "2018-02-26",
      "url": "https://bitcoincore.org/en/releases/0.16.0/",
      "note": "Announces full SegWit wallet support, the legacy, p2sh-segwit (default) and bech32 address types, and full support for BIP173 addresses.",
      "checkedAt": "2026-10-02T14:48:41.357733+00:00",
      "contentSha256": "3912b7f193f0a34752c7948f9af10f3baae592290bc1a164797aad67f457ad4f",
      "locator": "Announces full SegWit wallet support, the legacy, p2sh-segwit (default) and bech32 address types, and full support for BIP173 addresses.",
      "recordId": "source-3a7c0f425d9a8a7e",
      "version": null
    },
    {
      "id": "devref-transactions",
      "label": "Bitcoin Developer Reference: Transactions (Coinbase)",
      "publisher": "Bitcoin Project, developer.bitcoin.org",
      "url": "https://developer.bitcoin.org/reference/transactions.html",
      "note": "Describes the coinbase input as a null outpoint with index 0xffffffff, a script of 2 to 100 bytes beginning with the block height under BIP34 since height 227,836, and the extra nonce miners put in the remaining space.",
      "checkedAt": "2026-10-02T14:48:40.879756+00:00",
      "contentSha256": "089c675fe5634001ccae037c578d1e94c7b7b279f57ceb4284a6c07f3315d69d",
      "locator": "Describes the coinbase input as a null outpoint with index 0xffffffff, a script of 2 to 100 bytes beginning with the block height under BIP34 since height 227,836, and the extra nonce miners put in the remaining space.",
      "recordId": "source-26fc928b4956daf4",
      "version": null
    },
    {
      "id": "rpc-gettxoutsetinfo",
      "label": "gettxoutsetinfo",
      "publisher": "Bitcoin Core RPC reference (developer.bitcoin.org)",
      "url": "https://developer.bitcoin.org/reference/rpc/gettxoutsetinfo.html",
      "note": "Documents the command that returns statistics about the unspent transaction output set: height, number of transactions with unspent outputs, number of unspent outputs, disk size and total amount.",
      "checkedAt": "2026-10-02T14:48:41.276392+00:00",
      "contentSha256": "b8855b8dad9a703dc3005b9816e68f9d39240cc410f4c32ef5858b9dcc8c5b39",
      "locator": "Documents the command that returns statistics about the unspent transaction output set: height, number of transactions with unspent outputs, number of unspent outputs, disk size and total amount.",
      "recordId": "source-5f629dfe152b01a3",
      "version": null
    },
    {
      "id": "wiki-confirmation",
      "label": "Confirmation",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Confirmation",
      "note": "Defines confirmations, records that six was chosen assuming an attacker under 10% of hash rate and 0.1% acceptable risk, notes the 10-minute average is not exact, and gives the 100-block rule for mined coins with 120 in older clients.",
      "checkedAt": "2026-10-02T14:48:41.372118+00:00",
      "contentSha256": "271540ce9576f291b88ef1c55921328ce7c197b739ce42f17a9e094b05ba3c9d",
      "locator": "Defines confirmations, records that six was chosen assuming an attacker under 10% of hash rate and 0.1% acceptable risk, notes the 10-minute average is not exact, and gives the 100-block rule for mined coins with 120 in older clients.",
      "recordId": "source-9b7a6531780e9003",
      "version": null
    },
    {
      "id": "bip50",
      "label": "BIP 50: March 2013 Chain Fork Post-Mortem",
      "publisher": "Bitcoin Improvement Proposals (github.com/bitcoin/bips)",
      "author": "Gavin Andresen",
      "issued": "2013-03-20",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0050.mediawiki",
      "note": "Records the Berkeley DB lock limit in pre-0.8 nodes, the pool downgrade to 0.7, the resulting reorganization of 0.8 nodes onto the pre-0.8 chain, and at least one large double spend during the split.",
      "checkedAt": "2026-10-02T15:04:15.104316+00:00",
      "contentSha256": "556392738755ea6c71e208e6e8105c73e3a434671ef5b9a03e715a588049836f",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Records the Berkeley DB lock limit in pre-0.8 nodes, the pool downgrade to 0.7, the resulting reorganization of 0.8 nodes onto the pre-0.8 chain, and at least one large double spend during the split.",
      "recordId": "source-2de772ad2ec0a32b"
    },
    {
      "id": "core-mempool-replacements",
      "label": "Mempool Replacements (doc/policy/mempool-replacements.md)",
      "publisher": "Bitcoin Core, GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/doc/policy/mempool-replacements.md",
      "note": "Lists the current replacement rules (absolute fee, incremental relay feerate of 0.1 sat/vB, 100-cluster limit), states that signaling is no longer required, and dates opt-in RBF to 0.12.0, configurable full RBF to 24.0 and default full RBF to 28.0.",
      "checkedAt": "2026-10-02T15:04:16.899476+00:00",
      "contentSha256": "154a1b7a655f045cdb3d1f7faf4eb1c6ed779b3c75f9562ac0cdc37802822a28",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "locator": "Lists the current replacement rules (absolute fee, incremental relay feerate of 0.1 sat/vB, 100-cluster limit), states that signaling is no longer required, and dates opt-in RBF to 0.12.0, configurable full RBF to 24.0 and default full RBF to 28.0.",
      "recordId": "source-6e9ce390127988c3"
    },
    {
      "id": "core-0-12-0",
      "label": "Bitcoin Core 0.12.0 release notes",
      "publisher": "Bitcoin Core, bitcoincore.org",
      "issued": "2016-02-23",
      "url": "https://bitcoincore.org/en/releases/0.12.0/",
      "note": "Introduces the 300 MB default mempool limit, eviction of the lowest-feerate package with the minimum relay feerate rising to match, the 1,000 satoshis per kB initial minimum, and opt-in replace-by-fee; published 23 February 2016.",
      "checkedAt": "2026-10-02T14:48:42.311635+00:00",
      "contentSha256": "391a83ee77f83a951b9dc071421bcbf2d63a9d24e8009633b2540b147664187b",
      "locator": "Introduces the 300 MB default mempool limit, eviction of the lowest-feerate package with the minimum relay feerate rising to match, the 1,000 satoshis per kB initial minimum, and opt-in replace-by-fee; published 23 February 2016.",
      "recordId": "source-96076f99866e3af5",
      "version": null
    },
    {
      "id": "pr-9312",
      "label": "Increase mempool expiry time to 2 weeks (pull request #9312)",
      "publisher": "Bitcoin Core, GitHub",
      "author": "Alex Morcos",
      "issued": "2017-01-05",
      "url": "https://github.com/bitcoin/bitcoin/pull/9312",
      "note": "Raises the default mempool expiry from 72 hours to 336 hours; merged 5 January 2017.",
      "checkedAt": "2026-10-02T14:48:44.432345+00:00",
      "contentSha256": "afd15eaa162f2cae2587ea066956cac1fcbcb7b2993d7f96f227bcd4172d1dd5",
      "locator": "Raises the default mempool expiry from 72 hours to 336 hours; merged 5 January 2017.",
      "recordId": "source-ee0d1d185f09fae7",
      "version": null
    },
    {
      "id": "core-estimatesmartfee",
      "label": "estimatesmartfee RPC reference (Bitcoin Core 27.0)",
      "publisher": "Bitcoin Core, bitcoincore.org",
      "url": "https://bitcoincore.org/en/doc/27.0.0/rpc/util/estimatesmartfee/",
      "note": "Describes the fee estimator: the approximate fee rate needed to begin confirmation within a target of 1 to 1,008 blocks, with economical and conservative modes.",
      "checkedAt": "2026-10-02T14:48:42.388084+00:00",
      "contentSha256": "10be46d76aacfba92d69962c25609071a9e9747af1f35e28459c184ce6fd781f",
      "locator": "Describes the fee estimator: the approximate fee rate needed to begin confirmation within a target of 1 to 1,008 blocks, with economical and conservative modes.",
      "recordId": "source-a8fc33ca64a43a18",
      "version": null
    },
    {
      "id": "wiki-full-node",
      "label": "Full node",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Full_node",
      "note": "Community reference stating that full nodes check every block and transaction against the consensus rules and reject violations regardless of what other nodes think, that lightweight wallets follow miners, and that running a node is the most private way to operate a wallet.",
      "checkedAt": "2026-10-02T14:48:44.271853+00:00",
      "contentSha256": "c9ac6079591286467277ce6ab852fa33c4d4b2f5439abf3b34b2eed998d9ad68",
      "locator": "Community reference stating that full nodes check every block and transaction against the consensus rules and reject violations regardless of what other nodes think, that lightweight wallets follow miners, and that running a node is the most private way to operate a wallet.",
      "recordId": "source-7ccf1b437e59bfba",
      "version": null
    },
    {
      "id": "btcnodes",
      "label": "Reachable Bitcoin Nodes",
      "publisher": "btcnodes.io",
      "issued": "2026-09-22",
      "url": "https://btcnodes.io/",
      "note": "Crawler snapshot of 22 September 2026 03:11:47 UTC listing 24,652 reachable nodes, 8,559 of them live, described as nodes found by a crawler on the peer-to-peer network.",
      "checkedAt": "2026-10-02T14:48:50.488992+00:00",
      "contentSha256": "cfc62a67511c0f51c63a2007f4103f18c0f338719083e09655f9905776549d64",
      "locator": "Crawler snapshot of 22 September 2026 03:11:47 UTC listing 24,652 reachable nodes, 8,559 of them live, described as nodes found by a crawler on the peer-to-peer network.",
      "recordId": "source-686ae90fd584b117",
      "version": null
    },
    {
      "id": "bitnodes",
      "label": "Bitnodes is coming back",
      "publisher": "bitnodes.io",
      "url": "https://bitnodes.io/",
      "note": "Notice at the original Bitnodes address, created by Addy Yeow, that the service is being rebuilt by a new operator, pointing readers to btcnodes.io.",
      "checkedAt": "2026-10-02T14:48:47.984399+00:00",
      "contentSha256": "c214ff83cd966780767be6070ae5e063abad638c9acdf6d3d35ad291c0b34429",
      "locator": "Notice at the original Bitnodes address, created by Addy Yeow, that the service is being rebuilt by a new operator, pointing readers to btcnodes.io.",
      "recordId": "source-85bae4a4d0b0bbcb",
      "version": null
    },
    {
      "id": "pow-cpp",
      "label": "src/pow.cpp (GetNextWorkRequired and CalculateNextWorkRequired)",
      "publisher": "Bitcoin Core, GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/src/pow.cpp",
      "note": "The consensus code: the check that the next height is a multiple of the adjustment interval, the timespan clamp to between a quarter and four times the target, the multiply-and-divide retarget, and the proof-of-work limit cap.",
      "checkedAt": "2026-10-02T15:04:17.051683+00:00",
      "contentSha256": "cad89cf4d7b99f3f6d3e93393febe523133320a5f4e92a61c8179bb5ac526a8a",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "locator": "The consensus code: the check that the next height is a multiple of the adjustment interval, the timespan clamp to between a quarter and four times the target, the multiply-and-divide retarget, and the proof-of-work limit cap.",
      "recordId": "source-da5966322bed9c0a"
    },
    {
      "id": "wiki-difficulty",
      "label": "Difficulty",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Difficulty",
      "note": "Community reference giving the approximation hash rate equals difficulty times 2^32 divided by 600, about 7 MH/s at difficulty 1.",
      "checkedAt": "2026-10-02T14:48:46.409953+00:00",
      "contentSha256": "3661110c4cfc6a616173d2d3d99108904473eb7dce946fc92eb862c7805bc0c4",
      "locator": "Community reference giving the approximation hash rate equals difficulty times 2^32 divided by 600, about 7 MH/s at difficulty 1.",
      "recordId": "source-5c804a714afb1fb4",
      "version": null
    },
    {
      "id": "genesis-block-api",
      "label": "The genesis block, machine-readable record",
      "publisher": "Blockstream explorer API (blockstream.info)",
      "url": "https://blockstream.info/api/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
      "note": "The explorer’s data for block 0: timestamp 1231006505 (3 January 2009 18:15:05 UTC), one transaction, size 285 bytes, weight 1,140, difficulty 1 and a null previous block hash.",
      "checkedAt": "2026-10-02T14:48:47.657357+00:00",
      "contentSha256": "d890732201b59ac7b00433c76f4d513340edafe549e1714b3528f707e086b52d",
      "locator": "The explorer’s data for block 0: timestamp 1231006505 (3 January 2009 18:15:05 UTC), one transaction, size 285 bytes, weight 1,140, difficulty 1 and a null previous block hash.",
      "recordId": "source-691e2f1a1d0a41de",
      "version": null
    },
    {
      "id": "coindesk-difficulty",
      "label": "Bitcoin Miner Profitability Could Double After Record Drop in Network Difficulty",
      "publisher": "CoinDesk",
      "issued": "2021-07-06",
      "url": "https://www.coindesk.com/markets/2021/07/06/bitcoin-miner-profitability-could-double-after-record-drop-in-network-difficulty",
      "note": "Reporting on the record 28% downward difficulty adjustment of 3 July 2021, the seven-day average hash rate of 84.3 EH/s, the halving of total hash power from its record, and Chinese miners selling rigs at discounts.",
      "checkedAt": "2026-10-02T14:48:48.544241+00:00",
      "contentSha256": "c79550dffeea93a132598ba71e43db23c37cb03720cd5225377f6267d63e55f8",
      "locator": "Reporting on the record 28% downward difficulty adjustment of 3 July 2021, the seven-day average hash rate of 84.3 EH/s, the halving of total hash power from its record, and Chinese miners selling rigs at discounts.",
      "recordId": "source-c87ac60c1452ef43",
      "version": null
    },
    {
      "id": "wiki-hash-per-second",
      "label": "Hash per second",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Hash_per_second",
      "note": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021.",
      "checkedAt": "2026-10-02T14:48:48.450393+00:00",
      "contentSha256": "28bf6a04a919aab6bfc9bd0a013e5793738dcda24c4f9973aaa93dd87d211415",
      "locator": "Community reference defining hash per second as double SHA-256 computations per second, describing petahashes as quadrillions, and recording the network at around 300 PH/s in January 2015 and around 170,000 PH/s in April 2021.",
      "recordId": "source-e151dcc0f588b742",
      "version": null
    },
    {
      "id": "getnetworkhashps",
      "label": "getnetworkhashps RPC reference (Bitcoin Core 27.0)",
      "publisher": "Bitcoin Core, bitcoincore.org",
      "url": "https://bitcoincore.org/en/doc/27.0.0/rpc/mining/getnetworkhashps/",
      "note": "Describes the command as returning the estimated network hashes per second based on the last n blocks, with a default of 120 blocks.",
      "checkedAt": "2026-10-02T14:48:48.772681+00:00",
      "contentSha256": "fa5dcab0f479f1bd9985799c06761184ae055b4d17dc988218f86cdc3ab3b993",
      "locator": "Describes the command as returning the estimated network hashes per second based on the last n blocks, with a default of 120 blocks.",
      "recordId": "source-7f2cc5b236e2fc6e",
      "version": null
    },
    {
      "id": "coinmetrics-hashrate",
      "label": "Hash Rate (network data documentation)",
      "publisher": "Coin Metrics",
      "url": "https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/mining/hash-rate",
      "note": "States that the hash rate metric is derived from mean difficulty and mean block interval, gives an estimate of hash power, and is not comparable between assets with different hash functions.",
      "checkedAt": "2026-10-02T14:48:51.550343+00:00",
      "contentSha256": "c34c50ba22142184a31fad832a4a4245e05639c605c669b03b52867eeb932f7f",
      "locator": "States that the hash rate metric is derived from mean difficulty and mean block interval, gives an estimate of hash power, and is not comparable between assets with different hash functions.",
      "recordId": "source-7db74fefe1c8da10",
      "version": null
    },
    {
      "id": "cbeci-methodology",
      "label": "Cambridge Bitcoin Electricity Consumption Index: Methodology",
      "publisher": "Cambridge Centre for Alternative Finance (ccaf.io)",
      "url": "https://ccaf.io/cbnsi/cbeci/methodology",
      "note": "Explains the hash-rate and hardware-efficiency model, the $0.05 per kWh profitability assumption, the lower bound, upper bound and best-guess estimates, the stated limitations, and the range of other published estimates.",
      "checkedAt": "2026-10-02T15:14:04.913506+00:00",
      "contentSha256": "d3024280cded9a02166db611c656d0f738a0ae91fad162b9ab530ec7df7d86be",
      "locator": "Explains the hash-rate and hardware-efficiency model, the $0.05 per kWh profitability assumption, the lower bound, upper bound and best-guess estimates, the stated limitations, and the range of other published estimates.",
      "recordId": "source-cc72df911344e03b",
      "version": null
    },
    {
      "id": "blockchain-com-hashrate",
      "label": "Total Hash Rate (TH/s) chart",
      "publisher": "Blockchain.com",
      "url": "https://www.blockchain.com/explorer/charts/hash-rate",
      "note": "Describes the chart as the estimated terahashes per second over the last 24 hours, warns that daily values move with the randomness of block discovery, and recommends a seven-day average.",
      "checkedAt": "2026-10-02T14:48:48.712032+00:00",
      "contentSha256": "b4c5734b8d3e96cefcb5057ebd0a858e8165505ad1731410158f7ab932ede4d5",
      "locator": "Describes the chart as the estimated terahashes per second over the last 24 hours, warns that daily values move with the randomness of block discovery, and recommends a seven-day average.",
      "recordId": "source-99788c6ecc46c23b",
      "version": null
    },
    {
      "id": "coindesk-1zh",
      "label": "BTC’s 7 Day Average Hash Rate Hits 1 ZettaHash for First Time",
      "publisher": "CoinDesk (reporting)",
      "issued": "2025-09-02",
      "url": "https://www.coindesk.com/markets/2025/09/02/bitcoin-s-7-day-average-hashrate-hits-1-zettahash-for-first-time",
      "note": "Reports, citing Glassnode, the seven-day average reaching 1 ZH/s on 2 September 2025, up from around 800 EH/s at the start of the year, and states that one zettahash equals 1,000 exahashes.",
      "checkedAt": "2026-10-02T14:48:55.588674+00:00",
      "contentSha256": "86bd74c8f5260b90415657ce4f33b469e92e982666f808c718558dbcba65d5ef",
      "locator": "Reports, citing Glassnode, the seven-day average reaching 1 ZH/s on 2 September 2025, up from around 800 EH/s at the start of the year, and states that one zettahash equals 1,000 exahashes.",
      "recordId": "source-82ddf96ab89b6099",
      "version": null
    },
    {
      "id": "bip34",
      "label": "BIP34: Block v2, Height in Coinbase",
      "publisher": "Bitcoin Improvement Proposals, GitHub",
      "author": "Gavin Andresen",
      "issued": "2012-07-06",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0034.mediawiki",
      "note": "Requires the block height as the first item in the coinbase script for version 2 blocks, to enforce uniqueness, and records block 227,835 on 24 March 2013 as the last version 1 block.",
      "checkedAt": "2026-10-02T15:04:17.161207+00:00",
      "contentSha256": "592c4956dfeedb369f995c51ebc225df4711929a0096d349300b99ef84d1f809",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Requires the block height as the first item in the coinbase script for version 2 blocks, to enforce uniqueness, and records block 227,835 on 24 March 2013 as the last version 1 block.",
      "recordId": "source-138d653a48233984"
    },
    {
      "id": "satoshi-email-2008",
      "label": "Re: Bitcoin P2P e-cash paper (reply to Hal Finney)",
      "publisher": "Cryptography mailing list, archived by the Satoshi Nakamoto Institute",
      "author": "Satoshi Nakamoto",
      "issued": "2008-11-09",
      "url": "https://satoshi.nakamotoinstitute.org/emails/cryptography/6/",
      "note": "Satoshi explains that only one of several conflicting spends becomes valid, that receivers should hold transactions for perhaps an hour or more before shipping, and that the longest chain is always the valid one.",
      "checkedAt": "2026-10-02T14:48:49.100623+00:00",
      "contentSha256": "1be4f6637457c30690ad8938bd7a71a5836ed494587c2ae9fdde380acc90b7db",
      "locator": "Satoshi explains that only one of several conflicting spends becomes valid, that receivers should hold transactions for perhaps an hour or more before shipping, and that the longest chain is always the valid one.",
      "recordId": "source-1022b7928c4e0f71",
      "version": null
    },
    {
      "id": "snack-machine-thread",
      "label": "Bitcoin snack machine (fast transaction problem), thread",
      "publisher": "BitcoinTalk forum, archived by the Satoshi Nakamoto Institute",
      "author": "Satoshi Nakamoto and others",
      "issued": "2010-07-17",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/threads/114/",
      "note": "Satoshi describes a double spend as a race to propagate, works the geometric spread example, and proposes a payment processor giving good-enough checking in about ten seconds for small purchases.",
      "checkedAt": "2026-10-02T14:48:50.455530+00:00",
      "contentSha256": "52d7d84f77d51255acd2bc3c6ab9c5953da2e3257de22cbd21e30691e95aa2bd",
      "locator": "Satoshi describes a double spend as a race to propagate, works the geometric spread example, and proposes a payment processor giving good-enough checking in about ten seconds for small purchases.",
      "recordId": "source-7ea578302d90bd17",
      "version": null
    },
    {
      "id": "irreversible-transactions",
      "label": "Irreversible Transactions",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Irreversible_Transactions",
      "note": "Defines the race, Finney, Vector76 and alternative-history attacks, gives the 10 percent attacker and six-confirmation example, and suggests 100 confirmations for very large payments.",
      "checkedAt": "2026-10-02T14:48:50.454318+00:00",
      "contentSha256": "cb9042b55a49d8a6b65d2fe6a9997618b3c6042281493a79cc7443ac9e68abce",
      "locator": "Defines the race, Finney, Vector76 and alternative-history attacks, gives the 10 percent attacker and six-confirmation example, and suggests 100 confirmations for very large payments.",
      "recordId": "source-63da41316c90ec74",
      "version": null
    },
    {
      "id": "majority-attack",
      "label": "Majority attack",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Majority_attack",
      "note": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins.",
      "checkedAt": "2026-10-02T14:48:51.169678+00:00",
      "contentSha256": "8002ab5d03dc3da7e95dcc74c875f5f391f13b33f14f6c4808e4d51b3be924c3",
      "locator": "Describes the attack, states that no number of confirmations prevents it but waiting raises the cost, and records that it has never succeeded on Bitcoin though it has on small altcoins.",
      "recordId": "source-92aa247a3501755e",
      "version": null
    },
    {
      "id": "coindesk-ghash-statement",
      "label": "Ghash.io: We Will Never Launch a 51% Attack Against Bitcoin",
      "publisher": "CoinDesk (reporting)",
      "author": "Pete Rizzo",
      "issued": "2014-06-16",
      "url": "https://www.coindesk.com/markets/2014/06/16/ghashio-we-will-never-launch-a-51-attack-against-bitcoin",
      "note": "Reports CEX.IO’s statement that it never has and never will take part in a 51% attack, its call for a round table, and that the pool held about 31% at the time.",
      "checkedAt": "2026-10-02T14:48:53.658996+00:00",
      "contentSha256": "a862de5fa4b4e656b0fff65822d7bcd5db8d88562c1e1d03175cdb36b6e3d5ce",
      "locator": "Reports CEX.IO’s statement that it never has and never will take part in a 51% attack, its call for a round table, and that the pool held about 31% at the time.",
      "recordId": "source-7703ec87b00f2668",
      "version": null
    },
    {
      "id": "coindesk-ghash-arms-race",
      "label": "The Bitcoin Mining Arms Race: GHash.io and the 51% Issue",
      "publisher": "CoinDesk (reporting)",
      "author": "Jon Matonis",
      "issued": "2014-07-17",
      "url": "https://www.coindesk.com/markets/2014/07/17/the-bitcoin-mining-arms-race-ghashio-and-the-51-issue",
      "note": "Reports GHash.io at 55% for almost 24 hours on 12 to 13 June 2014, the London round table of 9 July, the 39.99% pledge, and the fall to about 34.6% by 13 July.",
      "checkedAt": "2026-10-02T14:48:53.639914+00:00",
      "contentSha256": "2e534287728084f9b6472125aa8b94f68abd6e3e58eac2afff1448b2a48faf56",
      "locator": "Reports GHash.io at 55% for almost 24 hours on 12 to 13 June 2014, the London round table of 9 July, the 39.99% pledge, and the fall to about 34.6% by 13 July.",
      "recordId": "source-d3a8bd5dda19bff0",
      "version": null
    },
    {
      "id": "ny-fed-51",
      "label": "Bitcoin: How Likely Is a 51 Percent Attack?",
      "publisher": "Liberty Street Economics, Federal Reserve Bank of New York",
      "author": "Rod Garratt and Rosa Hayes",
      "issued": "2014-11-24",
      "url": "https://libertystreeteconomics.newyorkfed.org/2014/11/bitcoin-how-likely-is-a-51-percent-attack/",
      "note": "Explains that a majority miner can refuse or reverse transactions but cannot add false ones, notes GHash.io briefly exceeding half in June 2014, and argues future rewards deter an attack.",
      "checkedAt": "2026-10-02T14:48:51.761708+00:00",
      "contentSha256": "015ef6643dedbbae306363743bb1e7998a74d18c56c29f8c7a4684e3655ce5fd",
      "locator": "Explains that a majority miner can refuse or reverse transactions but cannot add false ones, notes GHash.io briefly exceeding half in June 2014, and argues future rewards deter an attack.",
      "recordId": "source-87afa6812bbc15d1",
      "version": null
    },
    {
      "id": "coindesk-51-becoming-regular",
      "label": "Blockchain’s Once-Feared 51% Attack Is Now Becoming Regular",
      "publisher": "CoinDesk (reporting)",
      "author": "Alyssa Hertig",
      "issued": "2018-06-08",
      "url": "https://www.coindesk.com/markets/2018/06/08/blockchains-once-feared-51-attack-is-now-becoming-regular",
      "note": "Reports the May 2018 attacks on Bitcoin Gold and other coins, exchanges moving from five to 50 confirmations, and the role of rented hash power from NiceHash.",
      "checkedAt": "2026-10-02T14:48:53.621008+00:00",
      "contentSha256": "9236e4fef7c753f83dd3df0dce1c389f072a59a62dc6c8226224d20baeaaafb5",
      "locator": "Reports the May 2018 attacks on Bitcoin Gold and other coins, exchanges moving from five to 50 confirmations, and the role of rented hash power from NiceHash.",
      "recordId": "source-198292c6a6c3dc60",
      "version": null
    },
    {
      "id": "coindesk-btg-2020",
      "label": "Bad Actors Rent Hashing Power to Hit Bitcoin Gold With New 51% Attacks",
      "publisher": "CoinDesk (reporting)",
      "author": "Daniel Palmer",
      "issued": "2020-01-27",
      "url": "https://www.coindesk.com/tech/2020/01/27/bad-actors-rent-hashing-power-to-hit-bitcoin-gold-with-new-51-attacks",
      "note": "Reports the two 23 January 2020 reorganizations double-spending about 1,900 and 5,267 BTG, James Lovejoy’s estimate of about 0.2 BTC per attack in rented hash power, and the roughly $18 million May 2018 attack.",
      "checkedAt": "2026-10-02T14:48:53.437971+00:00",
      "contentSha256": "135383671880bdc387d7b520607832cf613c913ffe3327bb9069e2552dab51f6",
      "locator": "Reports the two 23 January 2020 reorganizations double-spending about 1,900 and 5,267 BTG, James Lovejoy’s estimate of about 0.2 BTC per attack in rented hash power, and the roughly $18 million May 2018 attack.",
      "recordId": "source-61c1145a53ae4b17",
      "version": null
    },
    {
      "id": "coindesk-etc-2020",
      "label": "Ethereum Classic Suffers Second 51% Attack in a Week",
      "publisher": "CoinDesk (reporting)",
      "author": "Sebastian Sinclair",
      "issued": "2020-08-06",
      "url": "https://www.coindesk.com/tech/2020/08/06/ethereum-classic-suffers-second-51-attack-in-a-week",
      "note": "Reports a reorganization of more than 3,000 blocks double-spending about 800,000 ETC (about $5.6 million) with hash power costing about 17.5 BTC, a second of more than 4,000 blocks, and developers’ advice to raise confirmation times.",
      "checkedAt": "2026-10-02T14:48:53.855643+00:00",
      "contentSha256": "2e469ceb4996e195ce4c1a5e9db60f4f172cb858a50f1c2b55c700185418b050",
      "locator": "Reports a reorganization of more than 3,000 blocks double-spending about 800,000 ETC (about $5.6 million) with hash power costing about 17.5 BTC, a second of more than 4,000 blocks, and developers’ advice to raise confirmation times.",
      "recordId": "source-62ba7b88f1c66887",
      "version": null
    },
    {
      "id": "bip123",
      "label": "BIP 123: BIP Classification",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Eric Lombrozo",
      "issued": "2015-08-26",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0123.mediawiki",
      "note": "Defines the consensus layer and gives the one-sentence definitions of soft fork and hard fork used in this article.",
      "checkedAt": "2026-10-02T15:04:17.191769+00:00",
      "contentSha256": "0b5f929499402e8a8938fdba24957d33676ccf916e3e65bf8cab882b22bf3ac2",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Defines the consensus layer and gives the one-sentence definitions of soft fork and hard fork used in this article.",
      "recordId": "source-8a6d411180dd5a1c"
    },
    {
      "id": "bip99",
      "label": "BIP 99: Motivation and deployment of consensus rule changes ([soft/hard]forks)",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Jorge Timón",
      "issued": "2015-06-20",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0099.mediawiki",
      "note": "Defines softfork and hardfork, explains that to old nodes a soft fork looks like policy, and classifies accidental, unilateral, schism, uncontroversial and emergency forks.",
      "checkedAt": "2026-10-02T15:04:18.083097+00:00",
      "contentSha256": "eeb42f0e7c097ce7bd4513691197534544046b9df152a7f38afa744cf01f5545",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Defines softfork and hardfork, explains that to old nodes a soft fork looks like policy, and classifies accidental, unilateral, schism, uncontroversial and emergency forks.",
      "recordId": "source-4b78632ad482cf32"
    },
    {
      "id": "softfork-wiki",
      "label": "Softfork",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Softfork",
      "note": "Explains that a softfork only makes previously valid blocks invalid, that old clients therefore accept them, and that a softfork cannot be reversed without a hardfork.",
      "checkedAt": "2026-10-02T14:48:54.139048+00:00",
      "contentSha256": "40d7b754742158e577f656419890b7372e8961ad5c7cec33e55b19c6a06e7131",
      "locator": "Explains that a softfork only makes previously valid blocks invalid, that old clients therefore accept them, and that a softfork cannot be reversed without a hardfork.",
      "recordId": "source-693e6a1d23ddac79",
      "version": null
    },
    {
      "id": "segwit-wiki",
      "label": "Segregated Witness",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Segregated_Witness",
      "note": "Records that activation was blocked by miners through 2016 and 2017 and that SegWit activated soon after 1 August 2017.",
      "checkedAt": "2026-10-02T14:48:54.469759+00:00",
      "contentSha256": "43053e9d2e756f61e9679513e0c29b3eb335ee81648b9d3a4919196260f835ac",
      "locator": "Records that activation was blocked by miners through 2016 and 2017 and that SegWit activated soon after 1 August 2017.",
      "recordId": "source-7113c9dfd8442daf",
      "version": null
    },
    {
      "id": "uahf-spec",
      "label": "UAHF Technical Specification",
      "publisher": "bitcoincash.org repository on GitHub",
      "url": "https://raw.githubusercontent.com/bitcoincashorg/bitcoincash.org/3e2e6da8c38dab7ba12149d327bc4b259aaad684/spec/uahf-technical-spec.md",
      "note": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment.",
      "checkedAt": "2026-10-02T15:04:18.120183+00:00",
      "contentSha256": "459652647bcf38f92305a93b98e24cb1c827fab83186065f6e4b71b2ac11078a",
      "version": "3e2e6da8c38dab7ba12149d327bc4b259aaad684",
      "locator": "The fork rules: activation at median time past 1501590000 (1 August 2017, 12:20 UTC), an 8 MB minimum block size, a first fork block over 1 MB, SIGHASH_FORKID replay protection, and signing adapted for a non-SegWit deployment.",
      "recordId": "source-565c71046e083d3d"
    },
    {
      "id": "bips-readme",
      "label": "Bitcoin Improvement Proposals (repository README and index)",
      "publisher": "bitcoin/bips repository, GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/README.mediawiki",
      "note": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status.",
      "checkedAt": "2026-10-02T15:04:18.120297+00:00",
      "contentSha256": "4c915db64cef973125df10efd946d6aa2dad71e8b85a21409a1ba0f153ef770d",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "States that publication does not indicate a good idea, consensus or imminent adoption, that authors do not assign numbers, and indexes every BIP with type and status.",
      "recordId": "source-ac6414e90376ef5d"
    },
    {
      "id": "bip1",
      "label": "BIP 1: BIP Purpose and Guidelines",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Amir Taaki",
      "issued": "2011-09-19",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0001.mediawiki",
      "note": "The original definition of a BIP, the three types, the mailing-list-first workflow, editor number assignment, and the reference-implementation requirement for Final.",
      "checkedAt": "2026-10-02T15:04:18.169075+00:00",
      "contentSha256": "4c3165d7b17bdea9c8461d22fe8f5a13e7528c696a04dcc41f6aeedab35a4c41",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "The original definition of a BIP, the three types, the mailing-list-first workflow, editor number assignment, and the reference-implementation requirement for Final.",
      "recordId": "source-791860752dd26235"
    },
    {
      "id": "bip2",
      "label": "BIP 2: BIP process, revised",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Luke Dashjr",
      "issued": "2016-02-03",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0002.mediawiki",
      "note": "The 2016 revision: the nine statuses, the comments system, licensing, and the per-layer definitions of what counts as adoption for soft forks, hard forks, peer services and applications.",
      "checkedAt": "2026-10-02T15:04:18.171311+00:00",
      "contentSha256": "0cd7bfaed9285cd0a84eba504ddcadbeac7aa33c7318dae35418dbce40e00c66",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "The 2016 revision: the nine statuses, the comments system, licensing, and the per-layer definitions of what counts as adoption for soft forks, hard forks, peer services and applications.",
      "recordId": "source-d6640b01ba1d7db1"
    },
    {
      "id": "bip3",
      "label": "BIP 3: Updated BIP Process",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Murch",
      "issued": "2025-01",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0003.md",
      "note": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is.",
      "checkedAt": "2026-10-02T15:04:18.189143+00:00",
      "contentSha256": "b8501ea3aa4f91d7e503c14f514b8a03dec10636b9480a71b7a867b48efdb0ae",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "The current process: four statuses, the Specification type name, editors who do not judge adoption, and the statements that BIPs do not represent consensus or define what Bitcoin is.",
      "recordId": "source-437a2dca44c3b98d"
    },
    {
      "id": "slush-thread",
      "label": "Cooperative mining announcement thread, opening post (title since edited to “Slush Pool … World First Mining Pool”)",
      "publisher": "BitcoinTalk forum",
      "author": "slush (Marek Palatinus)",
      "issued": "2010-11-27",
      "url": "https://bitcointalk.org/index.php?topic=1976.0",
      "note": "The 27 November 2010 proposal for pooled mining, its 1,000 khash/s and 1.25 BTC worked example, and the first replies from ribuck and BitLex.",
      "checkedAt": "2026-10-02T14:48:55.919164+00:00",
      "contentSha256": "7e83deb902926cfe971413593a237da12c63817b59c22c9b77f1aff470434774",
      "locator": "The 27 November 2010 proposal for pooled mining, its 1,000 khash/s and 1.25 BTC worked example, and the first replies from ribuck and BitLex.",
      "recordId": "source-eb7c789462d57b3b",
      "version": null
    },
    {
      "id": "pooled-mining-wiki",
      "label": "Pooled mining",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Pooled_mining",
      "note": "Explains variance with the 1,000 khash/s at difficulty 14,484 example, defines a share, and describes Slush’s scoring, PPS, FPPS and P2Pool payout schemes.",
      "checkedAt": "2026-10-02T14:48:55.438122+00:00",
      "contentSha256": "e6017f772611e4eda6bfb1fe55a4915494fd8607af3164fd292dab393bbda68b",
      "locator": "Explains variance with the 1,000 khash/s at difficulty 14,484 example, defines a share, and describes Slush’s scoring, PPS, FPPS and P2Pool payout schemes.",
      "recordId": "source-e7e30cca9dbe0a39",
      "version": null
    },
    {
      "id": "bip22",
      "label": "BIP 22: getblocktemplate - Fundamentals",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Luke Dashjr",
      "issued": "2012-02-28",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0022.mediawiki",
      "note": "Defines getblocktemplate, in which the node sends the whole block structure for the miner to customize and assemble.",
      "checkedAt": "2026-10-02T15:04:18.235450+00:00",
      "contentSha256": "6338d8e3602db6e55d62838fe1095fca37a461de34116c9eec86729ff128450b",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Defines getblocktemplate, in which the node sends the whole block structure for the miner to customize and assemble.",
      "recordId": "source-6763aaa6551860d6"
    },
    {
      "id": "bip23",
      "label": "BIP 23: getblocktemplate - Pooled Mining",
      "publisher": "bitcoin/bips repository, GitHub",
      "author": "Luke Dashjr",
      "issued": "2012-02-28",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0023.mediawiki",
      "note": "States the concern that mining is too centralized on pools and extends getblocktemplate so miners can audit and modify the block before hashing it.",
      "checkedAt": "2026-10-02T15:04:18.236890+00:00",
      "contentSha256": "63956485d59e67d37c0ac751087ceb2db94c85a8552fc820dba3fd55cc1cd776",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "States the concern that mining is too centralized on pools and extends getblocktemplate so miners can audit and modify the block before hashing it.",
      "recordId": "source-7c3b240c404bd5a9"
    },
    {
      "id": "stratum-wiki",
      "label": "Stratum mining protocol",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Stratum_mining_protocol",
      "note": "Records that Stratum replaced getwork in late 2012, was announced via Slush’s pool, has no formal BIP, set back getblocktemplate adoption, uses mining.set_difficulty, and that V2 lets miners declare their own templates.",
      "checkedAt": "2026-10-02T14:48:55.802302+00:00",
      "contentSha256": "682fc76308def5378b0f39576dcb838337bb4fe277fa1b4e8e0e21eb3d8f3f9f",
      "locator": "Records that Stratum replaced getwork in late 2012, was announced via Slush’s pool, has no formal BIP, set back getblocktemplate adoption, uses mining.set_difficulty, and that V2 lets miners declare their own templates.",
      "recordId": "source-2c8956267adb1a95",
      "version": null
    },
    {
      "id": "braiins-stratum",
      "label": "Past and future of bitcoin mining protocols: Stratum V2 overview",
      "publisher": "Braiins",
      "issued": "2024-04-10",
      "url": "https://braiins.com/stratum-v1",
      "note": "From the company behind Slush Pool: Marek “Slush” Palatinus founded the pool in 2010 and created Stratum V1 in 2012; getwork’s bandwidth problem; V2 lets miners choose transactions.",
      "checkedAt": "2026-10-02T14:48:56.446717+00:00",
      "contentSha256": "8e7191dfcaaf284c84a392a1a1533abca72dae7d05d8f38991e32b7e085b9e02",
      "locator": "From the company behind Slush Pool: Marek “Slush” Palatinus founded the pool in 2010 and created Stratum V1 in 2012; getwork’s bandwidth problem; V2 lets miners choose transactions.",
      "recordId": "source-4a56d708d0eddd21",
      "version": null
    },
    {
      "id": "mempool-pools",
      "label": "mempool/mining-pools: known mining pool identifiers",
      "publisher": "The Mempool Open Source Project, GitHub",
      "url": "https://github.com/mempool/mining-pools",
      "note": "The public list mempool.space uses to attribute blocks to pools by coinbase tags and payout addresses, with unmatched blocks labeled unknown.",
      "checkedAt": "2026-10-02T14:48:56.591949+00:00",
      "contentSha256": "702500f13ec5999e331c54188a9e8d7e018627f1c252c29a447cf502ac0be632",
      "locator": "The public list mempool.space uses to attribute blocks to pools by coinbase tags and payout addresses, with unmatched blocks labeled unknown.",
      "recordId": "source-d546bf595d493f0b",
      "version": null
    },
    {
      "id": "ccaf-map-methodology",
      "label": "Cambridge Bitcoin Mining Map: methodology",
      "publisher": "Cambridge Centre for Alternative Finance (ccaf.io)",
      "url": "https://ccaf.io/cbnsi/cbeci/mining_map/methodology",
      "note": "Explains that the map geolocates miners from IP addresses reported by partner pools covering roughly 32% to 38% of hash rate, updated monthly from September 2019, and warns that VPNs and proxies distort locations.",
      "checkedAt": "2026-10-02T15:33:18.091569+00:00",
      "contentSha256": "898cecf3b9d45ac84266fcd7be2f3b8de24d4c9fe60f2364d1b20fd09e89a276",
      "locator": "Explains that the map geolocates miners from IP addresses reported by partner pools covering roughly 32% to 38% of hash rate, updated monthly from September 2019, and warns that VPNs and proxies distort locations.",
      "recordId": "source-7c3943af4e288532",
      "version": null
    },
    {
      "id": "bip143",
      "label": "BIP 143: Transaction Signature Verification for Version 0 Witness Program",
      "publisher": "Bitcoin Improvement Proposals repository on GitHub",
      "author": "Johnson Lau and Pieter Wuille",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0143.mediawiki",
      "note": "Replaces quadratic (O(n²)) signature hashing with a linear method and commits the input value so offline signers need not fetch the whole previous transaction.",
      "checkedAt": "2026-10-02T15:04:18.713619+00:00",
      "contentSha256": "62bc71351563e68baeb12643c68355d217953ae9eb6a6e68b2b0323275b6beec",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Replaces quadratic (O(n²)) signature hashing with a linear method and commits the input value so offline signers need not fetch the whole previous transaction.",
      "recordId": "source-954173a6f735172d"
    },
    {
      "id": "core-0131",
      "label": "Bitcoin Core version 0.13.1 released",
      "publisher": "Bitcoin Core (bitcoincore.org)",
      "issued": "2016-10-27",
      "url": "https://bitcoincore.org/en/releases/0.13.1/",
      "note": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability.",
      "checkedAt": "2026-10-02T14:48:56.872086+00:00",
      "contentSha256": "16f8171255fede44072f178d07416fdf174921d3ad1998482c3494a8acb8a1c8",
      "locator": "Release notes describing segwit, its 95% signaling threshold on bit 1 from 15 November 2016, the estimate of about 70% more transactions, and the statement that it solves all known cases of unwanted malleability.",
      "recordId": "source-3c84abc107071ed3",
      "version": null
    },
    {
      "id": "segwit-benefits",
      "label": "Segregated Witness Benefits",
      "publisher": "Bitcoin Core (bitcoincore.org)",
      "issued": "2016-01-26",
      "url": "https://bitcoincore.org/en/2016/01/26/segwit-benefits/",
      "note": "Explains each benefit, including the effective capacity of closer to 1.6 to 2 MB and the observation that fixed malleability makes the Lightning Network less complicated to implement.",
      "checkedAt": "2026-10-02T14:48:56.818048+00:00",
      "contentSha256": "f9f51234ee804f08e5a2051d1e2968f9fa518e598e0a26ed214e4d931f65c765",
      "locator": "Explains each benefit, including the effective capacity of closer to 1.6 to 2 MB and the observation that fixed malleability makes the Lightning Network less complicated to implement.",
      "recordId": "source-4fa67c4b52c4af45",
      "version": null
    },
    {
      "id": "block-481824",
      "label": "Block 481,824",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/0000000000000000001c8018d9cb3b742ef25114f27563e3fc4a1902167f9893",
      "note": "Shows the SegWit activation block mined by BTCC Pool on 24 August 2017 at 01:57 UTC with 1,866 transactions.",
      "locator": "JSON fields height, timestamp, id; block height 481824",
      "version": "0000000000000000001c8018d9cb3b742ef25114f27563e3fc4a1902167f9893",
      "checkedAt": "2026-10-02T15:25:01.715429+00:00",
      "contentSha256": "f316ad439adc2c3781a71f9c6422688d038f9d0923a22a6108ecb805b669dac4",
      "recordId": "source-e91421e84180069d"
    },
    {
      "id": "bip340",
      "label": "BIP 340: Schnorr Signatures for secp256k1",
      "publisher": "Bitcoin Improvement Proposals repository on GitHub",
      "author": "Pieter Wuille and Jonas Nick and Tim Ruffing",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0340.mediawiki",
      "note": "Specifies Schnorr signatures: provable security, non-malleability, 64-byte signatures with 32-byte keys, batch verification, and linearity that lets parties sign for the sum of their keys.",
      "checkedAt": "2026-10-02T15:04:18.814642+00:00",
      "contentSha256": "17d64d6dc6bc97f4ecf178697bf810b92aa2a9e41ef13db809c25bc44a9b8109",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "Specifies Schnorr signatures: provable security, non-malleability, 64-byte signatures with 32-byte keys, batch verification, and linearity that lets parties sign for the sum of their keys.",
      "recordId": "source-9890ddaad079f5d8"
    },
    {
      "id": "bip342",
      "label": "BIP 342: Validation of Taproot Scripts",
      "publisher": "Bitcoin Improvement Proposals (github.com/bitcoin/bips)",
      "author": "Pieter Wuille, Jonas Nick, Anthony Towns",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0342.mediawiki",
      "note": "States that the 10,000-byte maximum script size does not apply to tapscript, that size is bounded only by block weight, and that the 520-byte stack element limit remains.",
      "checkedAt": "2026-10-02T15:04:15.160885+00:00",
      "contentSha256": "29641340adec741b695be99ae3dc6e2fd025ea6566f9d6c2544ed5d47db4d822",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "States that the 10,000-byte maximum script size does not apply to tapscript, that size is bounded only by block weight, and that the 520-byte stack element limit remains.",
      "recordId": "source-251bb91b9f6cc707"
    },
    {
      "id": "core-0211",
      "label": "Bitcoin Core version 0.21.1 released",
      "publisher": "Bitcoin Core (bitcoincore.org)",
      "issued": "2021-05-01",
      "url": "https://bitcoincore.org/en/releases/0.21.1/",
      "note": "Release notes describing Speedy Trial: 90% signaling in a 2,016-block period between 24 April and 11 August 2021, activation at block 709,632, and the encouragement to upgrade unless one objects to Taproot.",
      "checkedAt": "2026-10-02T14:48:57.328339+00:00",
      "contentSha256": "83769f619d3399741cf420de62f640b19f82cfb70bb20958ba1596e7e5d3e6af",
      "locator": "Release notes describing Speedy Trial: 90% signaling in a 2,016-block period between 24 April and 11 August 2021, activation at block 709,632, and the encouragement to upgrade unless one objects to Taproot.",
      "recordId": "source-8a3da633156a4f93",
      "version": null
    },
    {
      "id": "block-709632",
      "label": "Block 709,632",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/0000000000000000000687bca986194dc2c1f949318629b44bb54ec0a94d8244",
      "note": "Shows the Taproot activation block mined by F2Pool on 14 November 2021 at 05:15 UTC with 2,043 transactions.",
      "locator": "JSON fields height, timestamp, id; block height 709632",
      "version": "0000000000000000000687bca986194dc2c1f949318629b44bb54ec0a94d8244",
      "checkedAt": "2026-10-02T15:25:01.715712+00:00",
      "contentSha256": "f30f746b26c15bcfad15a4828aa28214216504dda1ec0214a4d5f483059e6e96",
      "recordId": "source-cfcb0c1eaec210f7"
    },
    {
      "id": "optech-175",
      "label": "Bitcoin Optech Newsletter #175",
      "publisher": "Bitcoin Optech",
      "issued": "2021-11-17",
      "url": "https://bitcoinops.org/en/newsletters/2021/11/17/",
      "note": "Confirms that the taproot soft fork activated at block height 709,632 and reports that several large mining pools were not yet mining blocks containing taproot spends.",
      "checkedAt": "2026-10-02T14:48:57.332146+00:00",
      "contentSha256": "a25fa474d319d618ed32567a47db6faa8e49cb796a918ff1fc0631ecf44e5b62",
      "locator": "Confirms that the taproot soft fork activated at block height 709,632 and reports that several large mining pools were not yet mining blocks containing taproot spends.",
      "recordId": "source-45fcfab7ef221173",
      "version": null
    },
    {
      "id": "ln-paper",
      "label": "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments",
      "publisher": "lightning.network",
      "author": "Joseph Poon and Thaddeus Dryja",
      "issued": "2016-01-14",
      "url": "https://lightning.network/lightning-network-paper.pdf",
      "note": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks.",
      "checkedAt": "2026-10-02T15:04:18.970808+00:00",
      "contentSha256": "12e5094fa9c8342b9575e4c029c4cdf13aa33350b7c4a77472ec7a1b1a2b3fb8",
      "locator": "Draft 0.5.9.2 of the paper: the scalability argument with the 7 and 47,000 transactions-per-second figures, funding and commitment transactions, penalties, HTLCs, decrementing timelocks, fees, and the section on risks.",
      "recordId": "source-04e655a0ea160181",
      "version": null
    },
    {
      "id": "bolts-readme",
      "label": "Lightning Network Specifications (BOLTs)",
      "publisher": "Lightning Network specification repository on GitHub",
      "url": "https://github.com/lightning/bolts",
      "note": "The index of BOLT documents, their subjects, and the note that the specification is a work in progress developed in the open.",
      "checkedAt": "2026-10-02T14:48:57.578689+00:00",
      "contentSha256": "1c2f72442a8d8a452d7db77dcfd47ffaee761622b3606ac6808df2fee92fd733",
      "locator": "The index of BOLT documents, their subjects, and the note that the specification is a work in progress developed in the open.",
      "recordId": "source-d7fc5a77c47c0fc5",
      "version": null
    },
    {
      "id": "bolt2",
      "label": "BOLT #2: Peer Protocol for Channel Management",
      "publisher": "Lightning Network specification repository on GitHub",
      "url": "https://raw.githubusercontent.com/lightning/bolts/master/02-peer-protocol.md",
      "note": "Specifies the open_channel, accept_channel, funding_created, funding_signed and channel_ready messages, HTLC updates with commitment_signed and revoke_and_ack, and the shutdown and closing_signed procedure.",
      "checkedAt": "2026-10-02T14:48:57.375944+00:00",
      "contentSha256": "1b491b10b6ff92aa558df6aa9b70f4bd432cdded0c0c8087b9342bc57846f0c9",
      "locator": "Specifies the open_channel, accept_channel, funding_created, funding_signed and channel_ready messages, HTLC updates with commitment_signed and revoke_and_ack, and the shutdown and closing_signed procedure.",
      "recordId": "source-baddd9ff59d41f34",
      "version": null
    },
    {
      "id": "bolt4",
      "label": "BOLT #4: Onion Routing Protocol",
      "publisher": "Lightning Network specification repository on GitHub",
      "url": "https://raw.githubusercontent.com/lightning/bolts/1aadb719b4007c4cea0ba6e36b08c4fb53788dee/04-onion-routing.md",
      "note": "Describes Sphinx-based onion routing in which each hop learns only which node to forward to, not the other nodes on the route or its length.",
      "checkedAt": "2026-10-02T15:04:19.250213+00:00",
      "contentSha256": "23942d9c4c280617cad4cae34307193483cbd6d9258b0c38cbbf9bfb71fb3d96",
      "version": "1aadb719b4007c4cea0ba6e36b08c4fb53788dee",
      "locator": "Describes Sphinx-based onion routing in which each hop learns only which node to forward to, not the other nodes on the route or its length.",
      "recordId": "source-812b137e36eab791"
    },
    {
      "id": "lnd-beta",
      "label": "Announcing our first Lightning mainnet release, lnd 0.4-beta!",
      "publisher": "Lightning Labs",
      "issued": "2018-03-15",
      "url": "https://lightning.engineering/posts/2018-03-15-lnd-beta/",
      "note": "Calls lnd 0.4-beta the first Lightning mainnet beta, aimed at developers and technical users, and advises experimenting with only small amounts.",
      "checkedAt": "2026-10-02T14:48:57.890477+00:00",
      "contentSha256": "ae2e1d5111a0ee25f2489bcde862ee8bb57d0e5a39a20c71da41d7c3b97e7b48",
      "locator": "Calls lnd 0.4-beta the first Lightning mainnet beta, aimed at developers and technical users, and advises experimenting with only small amounts.",
      "recordId": "source-087fadb4e08563dc",
      "version": null
    },
    {
      "id": "coindesk-lnd",
      "label": "Lightning Labs Launches Beta With Twitter CEO Backing",
      "publisher": "CoinDesk",
      "author": "Leigh Cuen",
      "issued": "2018-03-15",
      "url": "https://www.coindesk.com/markets/2018/03/15/lightning-labs-launches-beta-with-twitter-ceo-backing",
      "note": "Reporting that about 1,000 nodes were already on mainnet, that the software limited channels to about $1,400 and payments to about $400, and quoting Elizabeth Stark’s warning about risk.",
      "checkedAt": "2026-10-02T14:48:59.061332+00:00",
      "contentSha256": "861e41326546054b5de12013519804d579dd6bd7a9dc5146f18363f738439bb5",
      "locator": "Reporting that about 1,000 nodes were already on mainnet, that the software limited channels to about $1,400 and payments to about $400, and quoting Elizabeth Stark’s warning about risk.",
      "recordId": "source-8715b479cd9b574b",
      "version": null
    },
    {
      "id": "coindesk-flexa",
      "label": "Flexa Hops Into El Salvador With Lightning Payments as Bitcoin Law Goes Live",
      "publisher": "CoinDesk",
      "author": "Ian Allison",
      "issued": "2021-09-07",
      "url": "https://www.coindesk.com/markets/2021/09/07/flexa-hops-into-el-salvador-with-lightning-payments-as-bitcoin-law-goes-live",
      "note": "Reporting that Lightning payments were being used in El Salvador by wallets including Strike and the government-run Chivo as the Bitcoin law took effect.",
      "checkedAt": "2026-10-02T14:49:00.536706+00:00",
      "contentSha256": "46712a6f90f400445601d3bf32ba09c75e9eaddb0544c19fb9ae4d847ad92a8a",
      "locator": "Reporting that Lightning payments were being used in El Salvador by wallets including Strike and the government-run Chivo as the Bitcoin law took effect.",
      "recordId": "source-9e73ac29550e2fc1",
      "version": null
    },
    {
      "id": "bitmain-reporting",
      "label": "Bitmain Responds to UASF With Another Bitcoin Hard Fork Announcement",
      "publisher": "Bitcoin Magazine",
      "author": "Aaron van Wirdum",
      "issued": "2017-06-14",
      "url": "https://bitcoinmagazine.com/technical/bitmain-responds-uasf-another-hard-fork-announcement",
      "note": "Reporting on Bitmain’s 14 June 2017 UAHF plan, including the up-to-8 MB block size and the statement that it would only launch in response to a successful BIP148; Bitmain’s original blog post is no longer reachable.",
      "checkedAt": "2026-10-02T14:48:58.086015+00:00",
      "contentSha256": "8c4e11d18f9a520eaa6ccb8b9b1755541bb145db6af3fed13597a77145799a4c",
      "locator": "Reporting on Bitmain’s 14 June 2017 UAHF plan, including the up-to-8 MB block size and the statement that it would only launch in response to a successful BIP148; Bitmain’s original blog post is no longer reachable.",
      "recordId": "source-1970d9b8a81f2da6",
      "version": null
    },
    {
      "id": "coindesk-why-forking",
      "label": "Bitcoin Cash: Why It’s Forking the Blockchain and What That Means",
      "publisher": "CoinDesk",
      "author": "Alyssa Hertig",
      "issued": "2017-07-26",
      "url": "https://www.coindesk.com/markets/2017/07/26/bitcoin-cash-why-its-forking-the-blockchain-and-what-that-means",
      "note": "Contemporaneous reporting describing the two main changes (8 MB blocks and no SegWit), the roles of Bitcoin ABC, ViaBTC and Bitmain, the 12:20 UTC fork time, and the Culianu quote about SegWit2x.",
      "checkedAt": "2026-10-02T14:48:59.586328+00:00",
      "contentSha256": "e2c4b6d653928b8403b2ba4b97a56e7925ee02535ce607ae41d9f62c78aecb4e",
      "locator": "Contemporaneous reporting describing the two main changes (8 MB blocks and no SegWit), the roles of Bitcoin ABC, ViaBTC and Bitmain, the 12:20 UTC fork time, and the Culianu quote about SegWit2x.",
      "recordId": "source-f33ce7d36caff728",
      "version": null
    },
    {
      "id": "coindesk-first-block",
      "label": "Bitcoin Cash Just Mined Its First Block, Making Blockchain Split Official",
      "publisher": "CoinDesk",
      "author": "Stan Higgins",
      "issued": "2017-08-01",
      "url": "https://www.coindesk.com/markets/2017/08/01/bitcoin-cash-just-mined-its-first-block-making-blockchain-split-official/",
      "note": "Reports the first Bitcoin Cash block mined by ViaBTC at about 6:14 p.m. UTC, nearly six hours after block 478,558, at 1.915 MB with 6,985 transactions.",
      "checkedAt": "2026-10-02T14:48:59.469416+00:00",
      "contentSha256": "3dc0b20f62c9ceff1bdd16b8a5e5730dfd8a68b709b7ee677ffd5c65fa6844dc",
      "locator": "Reports the first Bitcoin Cash block mined by ViaBTC at about 6:14 p.m. UTC, nearly six hours after block 478,558, at 1.915 MB with 6,985 transactions.",
      "recordId": "source-54902ec07d30f67e",
      "version": null
    },
    {
      "id": "irs-cca",
      "label": "Chief Counsel Advice memorandum 202114020",
      "publisher": "Internal Revenue Service",
      "url": "https://www.irs.gov/pub/irs-wd/202114020.pdf",
      "note": "An official record stating that on 1 August 2017, at block height 478,558, the bitcoin ledger split into two ledgers and Bitcoin Cash became tradeable shortly after.",
      "checkedAt": "2026-10-02T15:04:19.292201+00:00",
      "contentSha256": "9ef1ce5276c8e3113109c7a18f7fdd3b1090b54c4f74005a13a41064dfb8c22c",
      "locator": "An official record stating that on 1 August 2017, at block height 478,558, the bitcoin ledger split into two ledgers and Bitcoin Cash became tradeable shortly after.",
      "recordId": "source-aeb722c1b6a5670e",
      "version": null
    },
    {
      "id": "bch-nov-2018-spec",
      "label": "2018 November Upgrade Specification",
      "publisher": "bitcoincash.org repository on GitHub",
      "url": "https://raw.githubusercontent.com/bitcoincashorg/bitcoincash.org/3e2e6da8c38dab7ba12149d327bc4b259aaad684/spec/2018-nov-upgrade.md",
      "note": "The Bitcoin ABC rules that activated on 15 November 2018: numerically sorted transactions, OP_CHECKDATASIG, a 100-byte minimum transaction size and updated replay protection.",
      "checkedAt": "2026-10-02T15:04:19.345814+00:00",
      "contentSha256": "b999b5d8cfa9f753aad9aef76fa3779730abd6a0cce5e2753726b63b4fe0a6ec",
      "version": "3e2e6da8c38dab7ba12149d327bc4b259aaad684",
      "locator": "The Bitcoin ABC rules that activated on 15 November 2018: numerically sorted transactions, OP_CHECKDATASIG, a 100-byte minimum transaction size and updated replay protection.",
      "recordId": "source-71438b844c2c7993"
    },
    {
      "id": "coindesk-bsv-split",
      "label": "Bitcoin Cash Just Split Into Two Blockchains",
      "publisher": "CoinDesk",
      "author": "Christine Kim",
      "issued": "2018-11-15",
      "url": "https://www.coindesk.com/markets/2018/11/15/bitcoin-cash-just-split-into-two-blockchains",
      "note": "Reports the 15 November 2018 split after block 556,766, Bitcoin SV’s aim of restoring retired code and raising blocks from 32 MB to 128 MB, Craig Wright’s support, and the pre-fork hash power picture.",
      "checkedAt": "2026-10-02T14:48:59.991761+00:00",
      "contentSha256": "82804af28ebd9ffea39efe298d2d529b8dd188f592e864088f2238062a94e2f9",
      "locator": "Reports the 15 November 2018 split after block 556,766, Bitcoin SV’s aim of restoring retired code and raising blocks from 32 MB to 128 MB, Craig Wright’s support, and the pre-fork hash power picture.",
      "recordId": "source-e3348a71ad522779",
      "version": null
    },
    {
      "id": "bitcoincash-org",
      "label": "Bitcoin Cash: Peer-to-Peer Electronic Cash",
      "publisher": "bitcoincash.org (the Bitcoin Cash project’s own site)",
      "url": "https://bitcoincash.org/",
      "note": "The project’s self-description, including its account of the scaling divide between a settlement-layer view and on-chain scaling for everyday cash.",
      "checkedAt": "2026-10-02T14:48:58.853587+00:00",
      "contentSha256": "117adef91c11ff2c77bd4ceb9f160d79930acc1edfc43a2d3894fbd8a1c6a146",
      "locator": "The project’s self-description, including its account of the scaling divide between a settlement-layer view and on-chain scaling for everyday cash.",
      "recordId": "source-f6779978246c3027",
      "version": null
    },
    {
      "id": "core-subsidy",
      "label": "GetBlockSubsidy in src/validation.cpp",
      "publisher": "Bitcoin Core repository on GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/validation.cpp",
      "note": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings.",
      "checkedAt": "2026-10-02T14:48:59.222191+00:00",
      "contentSha256": "8626f665975c1c508b26b8b42210d2ab465f363b70804c1773f4d57f2872d6f0",
      "locator": "The consensus function: height divided by the 210,000-block interval, a 50-coin starting subsidy shifted right once per halving, the comment about approximately four years, and the guard returning zero at 64 halvings.",
      "recordId": "source-0edb471176022b9a",
      "version": null
    },
    {
      "id": "amount-h",
      "label": "COIN and MAX_MONEY in src/consensus/amount.h",
      "publisher": "Bitcoin Core repository on GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/consensus/amount.h",
      "note": "Defines one bitcoin as 100,000,000 satoshis and notes that the 21 million sanity limit is not itself the money supply.",
      "checkedAt": "2026-10-02T14:48:59.561253+00:00",
      "contentSha256": "fbaf7f3186b066f911e74720117299e9b88132cf612a1b27dfe34ab55752a393",
      "locator": "Defines one bitcoin as 100,000,000 satoshis and notes that the 21 million sanity limit is not itself the money supply.",
      "recordId": "source-a97c5426ff9df6b7",
      "version": null
    },
    {
      "id": "satoshi-email",
      "label": "Bitcoin v0.1 released",
      "publisher": "Cryptography mailing list archive (metzdowd.com)",
      "author": "Satoshi Nakamoto",
      "issued": "2009-01-08",
      "url": "https://www.metzdowd.com/pipermail/cryptography/2009-January/014994.html",
      "note": "Satoshi’s announcement stating total circulation of 21,000,000 coins, the amount cut in half every four years, and the first four-year amounts.",
      "checkedAt": "2026-10-02T14:48:59.630803+00:00",
      "contentSha256": "dc44592910e2d8e04556227a225167f2c0149b6a6bb956205cfa5adb6bd00bb4",
      "locator": "Satoshi’s announcement stating total circulation of 21,000,000 coins, the amount cut in half every four years, and the first four-year amounts.",
      "recordId": "source-65a3ee6e86d8dee8",
      "version": null
    },
    {
      "id": "block-210000",
      "label": "Block 210,000",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e",
      "note": "The first halving block, mined 28 November 2012, with a 25 BTC subsidy.",
      "locator": "JSON fields height, timestamp, id; block height 210000",
      "version": "000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e",
      "checkedAt": "2026-10-02T15:25:01.947916+00:00",
      "contentSha256": "b31d6ee4fe9e852af53f283c69a3590b7be9d5a97d81081e4a9a1fea43ae222d",
      "recordId": "source-eea12338a7f03552"
    },
    {
      "id": "block-420000",
      "label": "Block 420,000",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/000000000000000002cce816c0ab2c5c269cb081896b7dcb34b8422d6b74ffa1",
      "note": "The second halving block, mined 9 July 2016, with a 12.5 BTC subsidy.",
      "locator": "JSON fields height, timestamp, id; block height 420000",
      "version": "000000000000000002cce816c0ab2c5c269cb081896b7dcb34b8422d6b74ffa1",
      "checkedAt": "2026-10-02T15:25:01.715283+00:00",
      "contentSha256": "90ba5956cc3498f24055221d02749cdadc827b5fedba1c4c8924f94608d75d0e",
      "recordId": "source-b5fde26c297fd7e8"
    },
    {
      "id": "block-630000",
      "label": "Block 630,000",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/000000000000000000024bead8df69990852c202db0e0097c1a12ea637d7e96d",
      "note": "The third halving block, mined 11 May 2020, with a 6.25 BTC subsidy.",
      "locator": "JSON fields height, timestamp, id; block height 630000",
      "version": "000000000000000000024bead8df69990852c202db0e0097c1a12ea637d7e96d",
      "checkedAt": "2026-10-02T15:25:01.715683+00:00",
      "contentSha256": "3b52429cc53fbbf691f3e7a4cf414c266a8730c428cf385072a2e223be36b2a3",
      "recordId": "source-bcf2402ffb12695a"
    },
    {
      "id": "block-840000",
      "label": "Block 840,000",
      "publisher": "Blockstream Esplora",
      "url": "https://blockstream.info/api/block/0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5",
      "note": "The fourth halving block, mined 20 April 2024, with a 3.125 BTC subsidy and about 37.6 BTC in fees for a total reward of about 40.75 BTC.",
      "locator": "JSON fields height, timestamp, id; block height 840000",
      "version": "0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5",
      "checkedAt": "2026-10-02T15:25:01.593729+00:00",
      "contentSha256": "c41e11b9a5e4833765f8eb31f555e8e4ac0a2f31f7bf9f1f92ce29bdfd95efc1",
      "recordId": "source-0076a66a2b1bb159"
    },
    {
      "id": "core-coinbase-limit",
      "label": "Bitcoin Core coinbase reward validation",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/src/validation.cpp",
      "note": "ConnectBlock compares the coinbase output total with transaction fees plus GetBlockSubsidy and rejects only an excess.",
      "locator": "validation.cpp lines 2608–2612; blockReward and bad-cb-amount condition",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "checkedAt": "2026-10-02T16:01:32.360309+00:00",
      "contentSha256": "8626f665975c1c508b26b8b42210d2ab465f363b70804c1773f4d57f2872d6f0",
      "recordId": "source-9fd4ceacbebe51f7"
    },
    {
      "id": "announcement",
      "label": "Bitcoin P2P e-cash paper",
      "publisher": "Cryptography mailing list archive, metzdowd.com",
      "author": "Satoshi Nakamoto",
      "issued": "2008-10-31",
      "url": "https://www.metzdowd.com/pipermail/cryptography/2008-October/014810.html",
      "note": "The 31 October 2008 announcement email with the link to bitcoin.org/bitcoin.pdf and its summary of the design.",
      "checkedAt": "2026-10-02T14:48:59.965467+00:00",
      "contentSha256": "0aa6eba0f8807ab40c1f6b26a06da39474199af3abfd113d10d07842e561a0a9",
      "locator": "The 31 October 2008 announcement email with the link to bitcoin.org/bitcoin.pdf and its summary of the design.",
      "recordId": "source-3b2093a917ce29fa",
      "version": null
    },
    {
      "id": "finney-bitcoin-and-me",
      "label": "“Bitcoin and me (Hal Finney)”",
      "publisher": "BitcoinTalk forum",
      "author": "Hal Finney",
      "issued": "2013-03-19",
      "url": "https://bitcointalk.org/index.php?topic=155054.msg1644175#msg1644175",
      "note": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis.",
      "checkedAt": "2026-10-02T14:49:00.468744+00:00",
      "contentSha256": "11719f58463096ead5a33a5e7dbe95669fb94dee98b213e8c3836750921f1b77",
      "locator": "Finney’s own account: his PGP work with Phil Zimmermann, RPOW, grabbing the first release right away, mining block 70-something, receiving ten coins from Satoshi as a test, and his August 2009 ALS diagnosis.",
      "recordId": "source-d3887d90ffbf6c0d",
      "version": null
    },
    {
      "id": "copa-judgment",
      "label": "Crypto Open Patent Alliance v Craig Steven Wright, [2024] EWHC 1198 (Ch), approved judgment",
      "publisher": "Courts and Tribunals Judiciary (High Court of England and Wales)",
      "author": "Mr Justice Mellor",
      "issued": "2024-05-20",
      "url": "https://www.judiciary.uk/wp-content/uploads/2024/05/COPA-v-Wright-Judgment.pdf",
      "note": "Records the April 2011 delegation and alert key transfer to Andresen, his 29 March 2016 request list, the early April 2016 proof session, the 2 May 2016 blog posts, and expert agreement that the sessions could be spoofed and the public post was not a genuine proof.",
      "checkedAt": "2026-10-02T15:04:18.422680+00:00",
      "contentSha256": "b92b4d9ea7eec1d3b375696e0f9ec98566a693cfaa6e42c67c41d87f107f8f77",
      "locator": "Records the April 2011 delegation and alert key transfer to Andresen, his 29 March 2016 request list, the early April 2016 proof session, the 2 May 2016 blog posts, and expert agreement that the sessions could be spoofed and the public post was not a genuine proof.",
      "recordId": "source-093fde3b744b0944",
      "version": null
    },
    {
      "id": "lerner-2013",
      "label": "The Well Deserved Fortune of Satoshi Nakamoto, Bitcoin creator, Visionary and Genius",
      "publisher": "Bitslog",
      "author": "Sergio Demian Lerner",
      "issued": "2013-04-17",
      "url": "https://bitslog.com/2013/04/17/the-well-deserved-fortune-of-satoshi-nakamoto/",
      "note": "The original extra-nonce analysis of blocks 0 to 36,288: constant-slope segments with periodic restarts, the “at eyesight” estimate of about one million bitcoin, and the author’s caveats about his parser and certainty.",
      "checkedAt": "2026-10-02T14:49:03.568459+00:00",
      "contentSha256": "6377b0d3b6cab4361ad43247eb7da2b15eed4cf876627a6398595d63e58fc2d5",
      "locator": "The original extra-nonce analysis of blocks 0 to 36,288: constant-slope segments with periodic restarts, the “at eyesight” estimate of about one million bitcoin, and the author’s caveats about his parser and certainty.",
      "recordId": "source-c69624dca898aa35",
      "version": null
    },
    {
      "id": "hornets-nest-post",
      "label": "“Re: PC World Article on Bitcoin,” forum post",
      "publisher": "Satoshi Nakamoto Institute archive (BitcoinTalk)",
      "author": "Satoshi Nakamoto",
      "issued": "2010-12-11",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/542/",
      "note": "The 11 December 2010 post saying it would have been nice to get the attention in any other context and that WikiLeaks had kicked the hornet’s nest, with a link to the original thread.",
      "checkedAt": "2026-10-02T14:49:02.694395+00:00",
      "contentSha256": "1f9b4bc90614a556a783faa1d623ef03ba37a87fd52280cd2e4f4a68c198c12d",
      "locator": "The 11 December 2010 post saying it would have been nice to get the attention in any other context and that WikiLeaks had kicked the hornet’s nest, with a link to the original thread.",
      "recordId": "source-aa5af542b326017b",
      "version": null
    },
    {
      "id": "last-forum-post",
      "label": "“Added some DoS limits, removed safe mode (0.3.19)”",
      "publisher": "BitcoinTalk forum",
      "author": "Satoshi Nakamoto",
      "issued": "2010-12-12",
      "url": "https://bitcointalk.org/index.php?topic=2228.msg29479#msg29479",
      "note": "Satoshi’s last public forum post, dated 12 December 2010, announcing version 0.3.19 with denial-of-service controls and the removal of safe mode alerts.",
      "checkedAt": "2026-10-02T14:49:03.036819+00:00",
      "contentSha256": "dd14af907aaf2490326de07fe2928cb72da2fc580a4955ffe815ff8a70652886",
      "locator": "Satoshi’s last public forum post, dated 12 December 2010, announcing version 0.3.19 with denial-of-service controls and the removal of safe mode alerts.",
      "recordId": "source-ae868bd8a78051fe",
      "version": null
    },
    {
      "id": "straw-man-thread",
      "label": "“Development process straw-man”",
      "publisher": "BitcoinTalk forum",
      "author": "Gavin Andresen",
      "issued": "2010-12-19",
      "url": "https://bitcointalk.org/index.php?topic=2367.0",
      "note": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow.",
      "checkedAt": "2026-10-02T14:49:04.093808+00:00",
      "contentSha256": "e24a96d5c11d56e86dbd6e7b5ba97a901453cd6428fd4795c1c7e8a77fae9d45",
      "locator": "Andresen’s 19 December 2010 announcement that, with Satoshi’s blessing and with great reluctance, he would take on more active project management, with his proposed GitHub workflow.",
      "recordId": "source-cb7fe948812ddca2",
      "version": null
    },
    {
      "id": "hearn-emails",
      "label": "“Holding coins in an unspendable state for a rolling time window,” email thread with Satoshi Nakamoto",
      "publisher": "Mike Hearn (plan99.net)",
      "author": "Mike Hearn and Satoshi Nakamoto",
      "issued": "2011-04-23",
      "url": "https://plan99.net/~mike/satoshi-emails/thread5.html",
      "note": "The April 2011 exchange in which Hearn asks whether Satoshi will rejoin the community and Satoshi replies on 23 April that he has moved on to other things and the project is in good hands with Gavin.",
      "checkedAt": "2026-10-02T14:49:05.333108+00:00",
      "contentSha256": "e687652a9e0a2b5ece55400342198b95444d24f0515f25e42432d4adb7c9d6f0",
      "locator": "The April 2011 exchange in which Hearn asks whether Satoshi will rejoin the community and Satoshi replies on 23 April that he has moved on to other things and the project is in good hands with Gavin.",
      "recordId": "source-2eb5ec59b44cb060",
      "version": null
    },
    {
      "id": "bitcoin-magazine-last-days",
      "label": "“The Last Days Of Satoshi: What Happened When Bitcoin’s Creator Disappeared”",
      "publisher": "Bitcoin Magazine",
      "author": "Pete Rizzo",
      "issued": "2021-04-26",
      "url": "https://bitcoinmagazine.com/technical/what-happened-when-bitcoin-creator-satoshi-nakamoto-disappeared",
      "note": "Reporting that reconstructs the December 2010 handover, quotes the 26 April 2011 email asking Andresen to drop the pirate currency angle, and describes the alert key arriving in a separate message.",
      "checkedAt": "2026-10-02T14:49:05.523767+00:00",
      "contentSha256": "7f06917ac7f6dfb9423bb72ee73f73373d166a937632175376bbd85a34d0bae7",
      "locator": "Reporting that reconstructs the December 2010 handover, quotes the 26 April 2011 email asking Andresen to drop the pirate currency angle, and describes the alert key arriving in a separate message.",
      "recordId": "source-b36f60c40db6620d",
      "version": null
    },
    {
      "id": "alert-retirement",
      "label": "“Alert System Retirement”",
      "publisher": "bitcoin.org",
      "issued": "2016-11-01",
      "url": "https://bitcoin.org/en/alert/2016-11-01-alert-retirement",
      "note": "Explains that the alert system was created by Satoshi Nakamoto to inform users, why it was retired as a source of centralization, that the final alert was broadcast on 19 January 2017, and that Bitcoin Core 0.14 hard-coded it in March 2017.",
      "checkedAt": "2026-10-02T14:49:05.172482+00:00",
      "contentSha256": "cc0bf321b0218db34d4f93385c99619e10640aa83c7fe0f724bbc1e5ea3f682f",
      "locator": "Explains that the alert system was created by Satoshi Nakamoto to inform users, why it was retired as a source of centralization, that the final alert was broadcast on 19 January 2017, and that Bitcoin Core 0.14 hard-coded it in March 2017.",
      "recordId": "source-0a41cbf91d6da692",
      "version": null
    },
    {
      "id": "rpow",
      "label": "RPOW - Reusable Proofs of Work",
      "publisher": "Satoshi Nakamoto Institute (archived RPOW site)",
      "author": "Hal Finney",
      "issued": "2004-08-15",
      "url": "https://nakamotoinstitute.org/finney/rpow/",
      "note": "The archived RPOW pages: a prototype digital cash built on proof-of-work tokens, based on Nick Szabo’s theory of collectibles, with servers intended to run on the IBM 4758 secure cryptographic coprocessor.",
      "checkedAt": "2026-10-02T14:49:05.318967+00:00",
      "contentSha256": "7d2498caace3cddaa932293fb863d113c24cff5aedbcf210918581c9ec56653f",
      "locator": "The archived RPOW pages: a prototype digital cash built on proof-of-work tokens, based on Nick Szabo’s theory of collectibles, with servers intended to run on the IBM 4758 secure cryptographic coprocessor.",
      "recordId": "source-7628191a585097d9",
      "version": null
    },
    {
      "id": "nakamotoinstitute-finney",
      "label": "Hal Finney, collected writings",
      "publisher": "Satoshi Nakamoto Institute",
      "url": "https://nakamotoinstitute.org/finney/",
      "note": "Biographical note giving his dates (4 May 1956 to 28 August 2014), his PGP Corporation work, the first anonymous remailer, RPOW, the first Bitcoin transaction, his death from ALS and cryopreservation by Alcor, plus his dated essays from 1992 to 2004.",
      "checkedAt": "2026-10-02T14:49:05.506140+00:00",
      "contentSha256": "ebc10ee2864b3dc7fe8cc50a213201ef6c75ee0dbc1ddca046c5186bbebe01ac",
      "locator": "Biographical note giving his dates (4 May 1956 to 28 August 2014), his PGP Corporation work, the first anonymous remailer, RPOW, the first Bitcoin transaction, his death from ALS and cryopreservation by Alcor, plus his dated essays from 1992 to 2004.",
      "recordId": "source-a72ee5faa6c21c54",
      "version": null
    },
    {
      "id": "block-170-tx",
      "label": "Transaction record for the block 170 payment",
      "publisher": "Blockstream explorer (API)",
      "url": "https://blockstream.info/api/tx/f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16",
      "note": "Machine-readable record confirming block height 170, block time 1231731025 (12 January 2009 03:30 UTC), size 275 bytes, zero fee, a 5,000,000,000-satoshi input and outputs of 1,000,000,000 and 4,000,000,000 satoshis.",
      "checkedAt": "2026-10-02T14:49:05.658359+00:00",
      "contentSha256": "ab3157be68517e66e85458b6330f4cee9a1da440854bf24b666e95ca1b363fa9",
      "locator": "Machine-readable record confirming block height 170, block time 1231731025 (12 January 2009 03:30 UTC), size 275 bytes, zero fee, a 5,000,000,000-satoshi input and outputs of 1,000,000,000 and 4,000,000,000 satoshis.",
      "recordId": "source-98101e92bfb927c7",
      "version": null
    },
    {
      "id": "bitcoin-magazine-memorial",
      "label": "“Remembering Bitcoin Pioneer Hal Finney (May 4, 1956 – August 28, 2014)”",
      "publisher": "Bitcoin Magazine",
      "author": "Peter Chawaga",
      "issued": "2021-08-28",
      "url": "https://bitcoinmagazine.com/culture/bitcoin-hal-finney-memorial",
      "note": "Reporting that gives his birth and death dates, the 10 January 2009 tweet, his PGP Corporation work, the 2004 RPOW system, and his continued programming with eye-tracking software after ALS paralyzed much of his body.",
      "checkedAt": "2026-10-02T14:49:07.246949+00:00",
      "contentSha256": "4dfe86c8c979187d5c5dcf7dd925337888630ffb064ceeca918f2696ede18ee4",
      "locator": "Reporting that gives his birth and death dates, the 10 January 2009 tweet, his PGP Corporation work, the 2004 RPOW system, and his continued programming with eye-tracking software after ALS paralyzed much of his body.",
      "recordId": "source-0575773d927ff8db",
      "version": null
    },
    {
      "id": "alcor-case-summary",
      "label": "Case Summary: Hal Finney (Alcor member A-1436)",
      "publisher": "Alcor Life Extension Foundation (Cryonics Archive)",
      "url": "https://www.cryonicsarchive.org/html/casesummary1436.html",
      "note": "Alcor’s own case record: legal death on 28 August 2014 at 8:50 am in Scottsdale, Arizona, aged 58; Alcor’s 128th patient; arrangements in place for over twenty years; his choice to discontinue life support once ALS took his ability to communicate; and a short biography.",
      "checkedAt": "2026-10-02T14:49:16.804912+00:00",
      "contentSha256": "0cf1f8cfb18cf4ab55aaaf289ab75371ae25f953d3887a09bedc5afc8a0f478e",
      "locator": "Alcor’s own case record: legal death on 28 August 2014 at 8:50 am in Scottsdale, Arizona, aged 58; Alcor’s 128th patient; arrangements in place for over twenty years; his choice to discontinue life support once ALS took his ability to communicate; and a short biography.",
      "recordId": "source-54a1b3d9004d80e0",
      "version": null
    },
    {
      "id": "noozhawk-obit",
      "label": "“Local Software Developer Hal Finney Dies After Five-Year Battle with ALS”",
      "publisher": "Noozhawk (Santa Barbara)",
      "author": "Giana Magnoli",
      "issued": "2014-09-11",
      "url": "https://www.noozhawk.com/local_software_programmer_hal_finney_dies_from_als/",
      "note": "Local reporting of his death on 28 August 2014 at 58, the August 2009 diagnosis, his PGP work, his Santa Barbara home, and the cryogenic preservation carried out in Arizona per his wishes.",
      "checkedAt": "2026-10-02T14:49:09.440402+00:00",
      "contentSha256": "bb6d2ded3ee4f41cbd3d9f31336af6a351ee328a4089ef55c71f0e918fa4a0ed",
      "locator": "Local reporting of his death on 28 August 2014 at 58, the August 2009 diagnosis, his PGP work, his Santa Barbara home, and the cryogenic preservation carried out in Arizona per his wishes.",
      "recordId": "source-cab6b04b2c11947e",
      "version": null
    },
    {
      "id": "consequentials-judgment",
      "label": "COPA v Wright and related claims, [2024] EWHC 1809 (Ch), judgment on further relief",
      "publisher": "Courts and Tribunals Judiciary (High Court of England and Wales)",
      "author": "Mr Justice Mellor",
      "issued": "2024-07-16",
      "url": "https://www.judiciary.uk/wp-content/uploads/2024/07/COPA-v-Wright-Judgment.pdf",
      "note": "The 16 July 2024 judgment setting out the anti-suit and anti-threat injunctions, quoting COPA’s self-description as a non-profit, dismissing the BTC Core claim, and referring the papers on Dr Wright and Mr Matthews to the Crown Prosecution Service.",
      "checkedAt": "2026-10-02T15:04:18.459908+00:00",
      "contentSha256": "feb4025dc7c0bc2058ac5c5635b5345dd734dc721c3c98b0a1b9b474cc644faa",
      "locator": "The 16 July 2024 judgment setting out the anti-suit and anti-threat injunctions, quoting COPA’s self-description as a non-profit, dismissing the BTC Core claim, and referring the papers on Dr Wright and Mr Matthews to the Crown Prosecution Service.",
      "recordId": "source-2f23d77efa2c6e4a",
      "version": null
    },
    {
      "id": "contempt-judgment",
      "label": "COPA v Wright, [2024] EWHC 3315 (Ch), approved judgment on liability for contempt",
      "publisher": "Courts and Tribunals Judiciary (High Court of England and Wales)",
      "author": "Mr Justice Mellor",
      "issued": "2024-12-19",
      "url": "https://www.judiciary.uk/wp-content/uploads/2024/12/COPA-v-Wright-Approved-Judgment-on-Liability-for-Contempt-2024-EWHC-3315-Ch.pdf",
      "note": "Finds each of COPA’s five grounds of contempt proved to the criminal standard, describes the £911 billion claim filed on 10 October 2024 and the 9 October posts announcing it, and records that Dr Wright declined to appear at the 18 December hearing.",
      "checkedAt": "2026-10-02T15:04:18.517798+00:00",
      "contentSha256": "0e3b3fbc4c291091a52a7ce14b43e727fd2d4a3193f3db06ee48779ab44b6d24",
      "locator": "Finds each of COPA’s five grounds of contempt proved to the criminal standard, describes the £911 billion claim filed on 10 October 2024 and the 9 October posts announcing it, and records that Dr Wright declined to appear at the 18 December hearing.",
      "recordId": "source-e6c3d85dc0018f1c",
      "version": null
    },
    {
      "id": "sentence-judgment",
      "label": "Crypto Open Patent Alliance v Dr Craig Steven Wright, [2024] EWHC 3316 (Ch), judgment on sanction",
      "publisher": "The National Archives (Find Case Law)",
      "author": "Mr Justice Mellor",
      "issued": "2024-12-20",
      "url": "https://caselaw.nationalarchives.gov.uk/ewhc/ch/2024/3316",
      "note": "Imposes twelve months’ imprisonment suspended for two years, to be activated on any further breach of the 16 July 2024 order, notes that Dr Wright lives outside the jurisdiction, and orders an interim costs payment of £145,000 within 14 days.",
      "checkedAt": "2026-10-02T14:49:08.283238+00:00",
      "contentSha256": "69efd9c34fb654fdf41bc55aaf97a058cdefe3e526f363d77645b68d890c9ed1",
      "locator": "Imposes twelve months’ imprisonment suspended for two years, to be activated on any further breach of the 16 July 2024 order, notes that Dr Wright lives outside the jurisdiction, and orders an interim costs payment of £145,000 within 14 days.",
      "recordId": "source-533f10cb69c126ef",
      "version": null
    },
    {
      "id": "copa-statement-march",
      "label": "“Justice Mellor Rules That Craig Wright Is Not Satoshi Nakamoto in COPA v Wright Trial”",
      "publisher": "Crypto Open Patent Alliance",
      "issued": "2024-03-14",
      "url": "https://www.opencrypto.org/2024-03-14-Justice-Mellor-Rules-That-Craig-Wright-Is-Not-Satoshi-Nakamoto-in-COPA-v-Wright-Trial/",
      "note": "COPA’s same-day statement listing the four findings announced in court and calling the decision a win for developers, the open source community and the truth.",
      "checkedAt": "2026-10-02T14:49:08.964667+00:00",
      "contentSha256": "9762a11de23e763a40640b820fe7e42f1ea510fa659ecc612cd40b2db0eba7b7",
      "locator": "COPA’s same-day statement listing the four findings announced in court and calling the decision a win for developers, the open source community and the truth.",
      "recordId": "source-89d802fcc27a4ae3",
      "version": null
    },
    {
      "id": "copa-statement-may",
      "label": "“Judgment released in COPA v Craig Wright trial”",
      "publisher": "Crypto Open Patent Alliance",
      "issued": "2024-05-20",
      "url": "https://www.opencrypto.org/2024-05-20-update-written/",
      "note": "COPA’s statement on the written judgment, giving its length as 1,736 paragraphs and quoting its findings that documents were forged on a grand scale and that Dr Wright lied to the court.",
      "checkedAt": "2026-10-02T14:49:09.497808+00:00",
      "contentSha256": "c479184398872ae424c4b40926fef8dac62888bf3c4141ae70ad5ba0b6bb1382",
      "locator": "COPA’s statement on the written judgment, giving its length as 1,736 paragraphs and quoting its findings that documents were forged on a grand scale and that Dr Wright lied to the court.",
      "recordId": "source-4784893f11ce1052",
      "version": null
    },
    {
      "id": "coindesk-march-2024",
      "label": "“Craig Wright Is Not Satoshi, Didn’t Author Bitcoin Whitepaper, Judge Rules”",
      "publisher": "CoinDesk",
      "author": "Camomile Shumba",
      "issued": "2024-03-14",
      "url": "https://www.coindesk.com/policy/2024/03/14/craig-wright-not-satoshi-didnt-author-bitcoin-whitepaper-judge-rules",
      "note": "Same-day reporting of the oral ruling, quoting the judge’s four declarations and describing COPA’s 2021 lawsuit to stop Wright claiming rights over Bitcoin or suing developers.",
      "checkedAt": "2026-10-02T14:49:17.007239+00:00",
      "contentSha256": "d07e72b03c7a2a1003f13131b00dc0239c41deabb2f26a810905d7d33f0900a0",
      "locator": "Same-day reporting of the oral ruling, quoting the judge’s four declarations and describing COPA’s 2021 lawsuit to stop Wright claiming rights over Bitcoin or suing developers.",
      "recordId": "source-8cd923a3e534b119",
      "version": null
    },
    {
      "id": "faucet-thread",
      "label": "“Get 5 free bitcoins from freebitcoins.appspot.com,” thread",
      "publisher": "Satoshi Nakamoto Institute archive (BitcoinTalk)",
      "author": "Gavin Andresen and Satoshi Nakamoto",
      "issued": "2010-06-11",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/threads/66/",
      "note": "Andresen’s 11 June 2010 announcement of five bitcoin per customer from an initial stock of 1,100, and Satoshi’s 18 June reply calling it an excellent first project and suggesting a visible balance and rotating donation addresses.",
      "checkedAt": "2026-10-02T14:49:14.428634+00:00",
      "contentSha256": "32506d7511a9165205da02df91ac979dfc5faeaee03d2f1f8cc4800ec00481a2",
      "locator": "Andresen’s 11 June 2010 announcement of five bitcoin per customer from an initial stock of 1,100, and Satoshi’s 18 June reply calling it an excellent first project and suggesting a visible balance and rotating donation addresses.",
      "recordId": "source-854bf5f019373a81",
      "version": null
    },
    {
      "id": "faucet-changes-thread",
      "label": "“Bitcoin Faucet changes,” thread",
      "publisher": "Satoshi Nakamoto Institute archive (BitcoinTalk)",
      "author": "Gavin Andresen and Satoshi Nakamoto",
      "issued": "2010-06-23",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/threads/74/",
      "note": "Andresen’s 23 June 2010 report of repeat claims from the same address ranges, his captcha response and the 0.05 bitcoin nickel idea, and Satoshi’s 26 June suggestion of a minimum interval per address block.",
      "checkedAt": "2026-10-02T14:49:13.059482+00:00",
      "contentSha256": "40733aab051abeaf003695983860976049f1d9799de1e48c59d3831713aec8f7",
      "locator": "Andresen’s 23 June 2010 report of repeat claims from the same address ranges, his captcha response and the 0.05 bitcoin nickel idea, and Satoshi’s 26 June suggestion of a minimum interval per address block.",
      "recordId": "source-8a33f080fa404205",
      "version": null
    },
    {
      "id": "mit-tech-review",
      "label": "“The Man Who Really Built Bitcoin”",
      "publisher": "MIT Technology Review",
      "author": "Tom Simonite",
      "issued": "2014-08-15",
      "url": "https://www.technologyreview.com/2014/08/15/12784/the-man-who-really-built-bitcoin/",
      "note": "Profile covering the faucet’s five free bitcoins and its 2012 closure, Satoshi putting Andresen’s email on the homepage, the December 2010 handover, the 2012 Bitcoin Foundation and his $209,648 pay in 2013, his Amherst home office, and van der Laan taking over as core maintainer in April 2014.",
      "checkedAt": "2026-10-02T14:49:20.918130+00:00",
      "contentSha256": "14d22428583a21c57b25d8fc8b88eb17a0a340ddead2311958a593b92ed61569",
      "locator": "Profile covering the faucet’s five free bitcoins and its 2012 closure, Satoshi putting Andresen’s email on the homepage, the December 2010 handover, the 2012 Bitcoin Foundation and his $209,648 pay in 2013, his Amherst home office, and van der Laan taking over as core maintainer in April 2014.",
      "recordId": "source-55e45fd102409801",
      "version": null
    },
    {
      "id": "bip-101",
      "label": "BIP 101: Increase maximum block size",
      "publisher": "Bitcoin Improvement Proposals repository (GitHub)",
      "author": "Gavin Andresen",
      "issued": "2015-06-22",
      "url": "https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0101.mediawiki",
      "note": "The proposal text: replace the fixed one-megabyte limit with a size that grows predictably, starting at 8 million bytes in January 2016 and doubling every two years through 2036; status Closed.",
      "checkedAt": "2026-10-02T15:04:18.537629+00:00",
      "contentSha256": "760a42482cfc4f3adae29f1c0bc75116647442169d60fe174970ce35c8cfacf9",
      "version": "927b6de9915c9262615a6399de51b200f81e5aa4",
      "locator": "The proposal text: replace the fixed one-megabyte limit with a size that grows predictably, starting at 8 million bytes in January 2016 and doubling every two years through 2036; status Closed.",
      "recordId": "source-34af52185bacf16a"
    },
    {
      "id": "techcrunch-2016",
      "label": "“Major questions arise over Craig Wright’s claim to be Satoshi Nakamoto”",
      "publisher": "TechCrunch",
      "author": "Mike Butcher",
      "issued": "2016-05-02",
      "url": "https://techcrunch.com/?p=1315525",
      "note": "Same-day reporting that Andresen, the Bitcoin Foundation’s chief scientist, had published a blog post backing Wright, that some suspected his account was hacked, and that the published signature was pulled from an existing blockchain transaction.",
      "checkedAt": "2026-10-02T14:49:18.785580+00:00",
      "contentSha256": "27b37dbbd27cd6bf99c9ec738eb0096d55284e357f0ea04c9c51845b736233eb",
      "locator": "Same-day reporting that Andresen, the Bitcoin Foundation’s chief scientist, had published a blog post backing Wright, that some suspected his account was hacked, and that the published signature was pulled from an existing blockchain transaction.",
      "recordId": "source-2cc7c849165dcd82",
      "version": null
    },
    {
      "id": "u-today-2023",
      "label": "“‘It Was a Mistake to Trust Craig Wright’: Bitcoin (BTC) Foundation’s Gavin Andresen”",
      "publisher": "U.Today",
      "author": "Yuri Molchan",
      "issued": "2023-02-06",
      "url": "https://u.today/it-was-a-mistake-to-trust-craig-wright-bitcoin-btc-foundations-gavin-andresen",
      "note": "Crypto-press reporting of the February 2023 note Andresen added to his 2016 post, quoting him that it was a mistake to trust Craig Wright and that he regretted getting sucked into the who-is-Satoshi game.",
      "checkedAt": "2026-10-02T14:49:18.027592+00:00",
      "contentSha256": "228fdfd14916960fcd0f383580a25e4aad729a9751d5b0b117c7f5244d673b3e",
      "locator": "Crypto-press reporting of the February 2023 note Andresen added to his 2016 post, quoting him that it was a mistake to trust Craig Wright and that he regretted getting sucked into the who-is-Satoshi game.",
      "recordId": "source-b6ec69ccbc5969f3",
      "version": null
    },
    {
      "id": "hughes-manifesto",
      "label": "A Cypherpunk’s Manifesto",
      "publisher": "activism.net archive",
      "author": "Eric Hughes",
      "issued": "1993-03-09",
      "url": "https://www.activism.net/cypherpunk/manifesto.html",
      "note": "The 9 March 1993 text: privacy is not secrecy, privacy requires anonymous transaction systems, cash has been the primary one, and cypherpunks write code.",
      "checkedAt": "2026-10-02T14:49:18.777351+00:00",
      "contentSha256": "e63fe33f5de9f49b842d02d3d8e42c5f132edb480d6c2173b54084bcf090afe1",
      "locator": "The 9 March 1993 text: privacy is not secrecy, privacy requires anonymous transaction systems, cash has been the primary one, and cypherpunks write code.",
      "recordId": "source-f0f3e8747f961cbb",
      "version": null
    },
    {
      "id": "may-manifesto",
      "label": "The Crypto Anarchist Manifesto",
      "publisher": "activism.net archive",
      "author": "Timothy C. May",
      "issued": "1992-11-22",
      "url": "https://www.activism.net/cypherpunk/crypto-anarchy.html",
      "note": "The manifesto text plus its distribution notes: written mid-1988, handed out at Crypto ’88, read at the September 1992 founding meeting, posted 22 November 1992.",
      "checkedAt": "2026-10-02T14:49:18.778199+00:00",
      "contentSha256": "7512b14fcb84d414fb0b4515d0a3e0bc08e5b1a359abe365a4665cccb2d20cd1",
      "locator": "The manifesto text plus its distribution notes: written mid-1988, handed out at Crypto ’88, read at the September 1992 founding meeting, posted 22 November 1992.",
      "recordId": "source-62e554bf1a3622d3",
      "version": null
    },
    {
      "id": "chaum-blind-signatures",
      "label": "Blind Signatures for Untraceable Payments",
      "publisher": "chaum.com (author’s archive of the Springer reprint)",
      "author": "David Chaum",
      "issued": "1982",
      "url": "https://chaum.com/wp-content/uploads/2022/01/Chaum-blind-signatures.pdf",
      "note": "The paper’s introduction on what third parties learn from payment records, the carbon-paper envelope analogy, and the blind-signature protocol.",
      "checkedAt": "2026-10-02T15:04:18.422539+00:00",
      "contentSha256": "1f251b9d511ac8951e673cdc5d775e12b5181ad32f8af122af6decbea970ff09",
      "locator": "The paper’s introduction on what third parties learn from payment records, the carbon-paper envelope analogy, and the blind-signature protocol.",
      "recordId": "source-d9548fea45172703",
      "version": null
    },
    {
      "id": "chaum-ecash",
      "label": "eCash timeline",
      "publisher": "chaum.com",
      "author": "David Chaum",
      "url": "https://chaum.com/ecash/",
      "note": "Dates the blind-signature paper to 1982, records the first electronic cash payment on 27 May 1994, and lists DigiCash bank partnerships including Mark Twain Bank (1995), Deutsche Bank (1996) and Credit Suisse (1998).",
      "checkedAt": "2026-10-02T14:49:21.580350+00:00",
      "contentSha256": "f8626d894f4e3639a4f91aaab6471d51989966be32317699cbe23530ccbf7c22",
      "locator": "Dates the blind-signature paper to 1982, records the first electronic cash payment on 27 May 1994, and lists DigiCash bank partnerships including Mark Twain Bank (1995), Deutsche Bank (1996) and Credit Suisse (1998).",
      "recordId": "source-6f80f3e726f33077",
      "version": null
    },
    {
      "id": "bmoney",
      "label": "b-money",
      "publisher": "Satoshi Nakamoto Institute library",
      "author": "Wei Dai",
      "issued": "1998-11",
      "url": "https://nakamotoinstitute.org/library/b-money/",
      "note": "The November 1998 proposal: the crypto-anarchy opening, money created by broadcasting solutions to computational problems, two protocols, and the admission that the first is impractical.",
      "checkedAt": "2026-10-02T14:49:20.585079+00:00",
      "contentSha256": "43fbd9f29bb789f1c5e43cb587dd32fe2b5602e4883bd7f0c4bc2d3e81372820",
      "locator": "The November 1998 proposal: the crypto-anarchy opening, money created by broadcasting solutions to computational problems, two protocols, and the admission that the first is impractical.",
      "recordId": "source-0869ce97dfbea546",
      "version": null
    },
    {
      "id": "bit-gold",
      "label": "Bit gold",
      "publisher": "Unenumerated (Nick Szabo’s blog)",
      "author": "Nick Szabo",
      "url": "https://unenumerated.blogspot.com/2005/12/bit-gold.html",
      "note": "The proposal’s trust-in-a-third-party opening, its seven steps (challenge string, proof of work, timestamps, title registry), and the non-fungibility caveat; the URL is filed under December 2005 while the page shows 27 December 2008.",
      "checkedAt": "2026-10-02T14:49:22.442075+00:00",
      "contentSha256": "5aaf79dfe395d7eb0d0da96f6375d86f73e76e337bf4a474ffed36f3ac2daa44",
      "locator": "The proposal’s trust-in-a-third-party opening, its seven steps (challenge string, proof of work, timestamps, title registry), and the non-fungibility caveat; the URL is filed under December 2005 while the page shows 27 December 2008.",
      "recordId": "source-fd7632902d4689ac",
      "version": null
    },
    {
      "id": "donald-reply",
      "label": "Re: Bitcoin P2P e-cash paper (first reply)",
      "publisher": "Cryptography mailing list archive, metzdowd.com",
      "author": "James A. Donald",
      "issued": "2008-11-02",
      "url": "https://www.metzdowd.com/pipermail/cryptography/2008-November/014814.html",
      "note": "The 2 November 2008 reply: “We very, very much need such a system,” followed by the objection that it does not seem to scale.",
      "checkedAt": "2026-10-02T14:49:21.155171+00:00",
      "contentSha256": "02f2c1a6af48e1e8918ce93140c3213c211e43f2e8f844437e19d1c04262982c",
      "locator": "The 2 November 2008 reply: “We very, very much need such a system,” followed by the objection that it does not seem to scale.",
      "recordId": "source-9f79f114543c7e84",
      "version": null
    },
    {
      "id": "satoshi-scaling-reply",
      "label": "Re: Bitcoin P2P e-cash paper (Satoshi on scaling)",
      "publisher": "Cryptography mailing list archive, metzdowd.com",
      "author": "Satoshi Nakamoto",
      "issued": "2008-11-02",
      "url": "https://www.metzdowd.com/pipermail/cryptography/2008-November/014815.html",
      "note": "Satoshi’s same-day answer: light clients need about 12KB of headers per day, and 100 million transactions a day would cost about 100GB of bandwidth, “12 DVD or 2 HD quality movies.”",
      "checkedAt": "2026-10-02T14:49:21.155746+00:00",
      "contentSha256": "fa444657a80d38e82b2c159febc53aed922ea5d51023b5e9dd0953f7df72c997",
      "locator": "Satoshi’s same-day answer: light clients need about 12KB of headers per day, and 100 million transactions a day would cost about 100GB of bandwidth, “12 DVD or 2 HD quality movies.”",
      "recordId": "source-7c5d2db22525ce91",
      "version": null
    },
    {
      "id": "finney-reply",
      "label": "Re: Bitcoin P2P e-cash paper (Hal Finney)",
      "publisher": "Cryptography mailing list archive, metzdowd.com",
      "author": "Hal Finney",
      "issued": "2008-11-07",
      "url": "https://www.metzdowd.com/pipermail/cryptography/2008-November/014827.html",
      "note": "Finney’s 7 November 2008 message calling Bitcoin “a very promising idea” and endorsing security based on honest CPU power outweighing an attacker.",
      "checkedAt": "2026-10-02T14:49:23.037486+00:00",
      "contentSha256": "8eaad3741ba3ebf3829b3fd5d716d1e524c9ea868f02761ef490e9c11545e7f4",
      "locator": "Finney’s 7 November 2008 message calling Bitcoin “a very promising idea” and endorsing security based on honest CPU power outweighing an attacker.",
      "recordId": "source-e3200297eb5976b9",
      "version": null
    },
    {
      "id": "embed-tx-status",
      "label": "Confirmation status of transaction 54e48e…e713",
      "publisher": "Blockstream explorer (API)",
      "url": "https://blockstream.info/api/tx/54e48e5f5c656b26c3bca14a8c95aa583d07ebe84dde3b7dd4a78f4e4186e713/status",
      "note": "Confirms the white-paper transaction in block 230,009 with block time 1365280090, which is 6 April 2013 at 20:28:10 UTC.",
      "checkedAt": "2026-10-02T14:49:23.171287+00:00",
      "contentSha256": "dab7e4627536972fc27d7b012e0bf2461450ac9e2e0e30dd6ab1b99e39c8a015",
      "locator": "Confirms the white-paper transaction in block 230,009 with block time 1365280090, which is 6 April 2013 at 20:28:10 UTC.",
      "recordId": "source-4cb85d36c6fb6e3c",
      "version": null
    },
    {
      "id": "shirriff-hidden-data",
      "label": "Hidden surprises in the Bitcoin blockchain and how they are stored",
      "publisher": "Ken Shirriff’s blog (righto.com)",
      "author": "Ken Shirriff",
      "issued": "2014-02-16",
      "url": "https://www.righto.com/2014/02/ascii-bernanke-wikileaks-photographs.html",
      "note": "Documents that the Bitcoin paper PDF is stored in transaction 54e48e…e713 using data encoded in place of public keys, alongside other embedded files.",
      "checkedAt": "2026-10-02T14:49:23.377965+00:00",
      "contentSha256": "54c2b84b7b1ea62ff73b589f5449ba1afd83ff522eb5b41875cbc4c4d10061fe",
      "locator": "Documents that the Bitcoin paper PDF is stored in transaction 54e48e…e713 using data encoded in place of public keys, alongside other embedded files.",
      "recordId": "source-822e63ba1d0ab1ba",
      "version": null
    },
    {
      "id": "bitcoin-org-paper-page",
      "label": "Bitcoin: A Peer-to-Peer Electronic Cash System (translations page)",
      "publisher": "bitcoin.org",
      "url": "https://bitcoin.org/en/bitcoin-paper",
      "note": "Hosts the paper in dozens of translations and describes it as still recommended reading for anyone studying how Bitcoin works.",
      "checkedAt": "2026-10-02T14:49:23.159255+00:00",
      "contentSha256": "69dcda6c9ef00c55f06c3dec5320180400721795c255a1162ccd77f3bf6f052d",
      "locator": "Hosts the paper in dozens of translations and describes it as still recommended reading for anyone studying how Bitcoin works.",
      "recordId": "source-1fcd12206376e165",
      "version": null
    },
    {
      "id": "main-cpp-2009",
      "label": "main.cpp, early Bitcoin source (commit 8dca786)",
      "publisher": "Bitcoin repository, raw.githubusercontent.com",
      "author": "Satoshi Nakamoto",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/8dca7864f793072701f810e4c5ea12a6e1087085/main.cpp",
      "note": "The early implementation’s “Genesis Block” section with the same pszTimestamp headline, 50 * COIN reward, nTime, nBits and nNonce values, and the hash assertion.",
      "checkedAt": "2026-10-02T14:49:23.610560+00:00",
      "contentSha256": "d4b5e415e4d3c53c18afc3837ff78a2da4eecb4b724f4aa1b2894a0a2d2fb983",
      "version": "8dca7864f793072701f810e4c5ea12a6e1087085",
      "locator": "The early implementation’s “Genesis Block” section with the same pszTimestamp headline, 50 * COIN reward, nTime, nBits and nNonce values, and the hash assertion.",
      "recordId": "source-b012dc188a4eb3bd"
    },
    {
      "id": "block-1-record",
      "label": "Block 1 record",
      "publisher": "Blockstream explorer (API)",
      "url": "https://blockstream.info/api/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
      "note": "Height 1, timestamp 1231469665 (9 January 2009, 02:54:25 UTC), with block 0’s hash as its previous block.",
      "checkedAt": "2026-10-02T14:49:23.326419+00:00",
      "contentSha256": "6829e0f819f3edfee641f61dfd7966a0c30dd6249a87077db2a6bb81221ace11",
      "locator": "Height 1, timestamp 1231469665 (9 January 2009, 02:54:25 UTC), with block 0’s hash as its previous block.",
      "recordId": "source-4bf68b40049b1955",
      "version": null
    },
    {
      "id": "genesis-address-record",
      "label": "Genesis address statistics",
      "publisher": "Blockstream explorer (API)",
      "url": "https://blockstream.info/api/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
      "note": "On 23 September 2026 showed 79,660 funded outputs across 66,563 transactions totaling 5,747,532,734 satoshis, with zero outputs spent.",
      "checkedAt": "2026-10-02T14:49:23.478250+00:00",
      "contentSha256": "b3b1b76e46dcc202782fd16f4fcb1b0d2927f28c6424aad33193c8cbf5da663d",
      "locator": "On 23 September 2026 showed 79,660 funded outputs across 66,563 transactions totaling 5,747,532,734 satoshis, with zero outputs spent.",
      "recordId": "source-ce2dc46309b7ea01",
      "version": null
    },
    {
      "id": "pizza-thread",
      "label": "“Pizza for bitcoins?” thread, opening post",
      "publisher": "BitcoinTalk forum",
      "author": "Laszlo Hanyecz",
      "issued": "2010-05-18",
      "url": "https://bitcointalk.org/index.php?topic=137.0",
      "note": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed.",
      "checkedAt": "2026-10-02T14:49:17.234754+00:00",
      "contentSha256": "a5806d9a420c8de565e42b79817204bfaf5d40efcf9473053da9714209d724c8",
      "locator": "The original 18 May 2010 offer of 10,000 bitcoin for two large pizzas, and the replies that followed.",
      "recordId": "source-9d9bb346b95d833e",
      "version": null
    },
    {
      "id": "pizza-report",
      "label": "“I successfully traded 10,000 bitcoins for pizza” post",
      "publisher": "BitcoinTalk forum",
      "author": "Laszlo Hanyecz",
      "issued": "2010-05-22",
      "url": "https://bitcointalk.org/index.php?topic=137.msg1195#msg1195",
      "note": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos.",
      "checkedAt": "2026-10-02T14:49:17.357497+00:00",
      "contentSha256": "54668e26335f1977d3c8afae7d455afb6b6526659bf6ee9827f032ec02c90398",
      "locator": "The 22 May 2010 report that the trade had completed, with a link to photographs and thanks to forum user jercos.",
      "recordId": "source-062344462df2fda1",
      "version": null
    },
    {
      "id": "pizza-tx-api",
      "label": "The pizza transaction, machine-readable record",
      "publisher": "Blockstream explorer API (blockstream.info)",
      "url": "https://blockstream.info/api/tx/a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d",
      "note": "The explorer’s data for the 10,000 BTC transaction: 131 inputs, one output of 1,000,000,000,000 satoshis, a fee of 99,000,000 satoshis, size 23,620 bytes, confirmed in block 57,043 with block time 1274552191 (22 May 2010 UTC).",
      "checkedAt": "2026-10-02T14:50:04.608040+00:00",
      "contentSha256": "0496b986805c6b6b43c946224c570eb0a18364c7e331166d22f8508fcf50d26c",
      "locator": "The explorer’s data for the 10,000 BTC transaction: 131 inputs, one output of 1,000,000,000,000 satoshis, a fee of 99,000,000 satoshis, size 23,620 bytes, confirmed in block 57,043 with block time 1274552191 (22 May 2010 UTC).",
      "recordId": "source-f1ebc78fbff9198b",
      "version": null
    },
    {
      "id": "laszlo-wiki",
      "label": "Laszlo Hanyecz",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Laszlo_Hanyecz",
      "note": "Community reference stating that jercos ordered the pizzas and received the coins, that the coins were valued at about $41, and that 22 May is called Bitcoin Pizza Day.",
      "checkedAt": "2026-10-02T14:49:17.794635+00:00",
      "contentSha256": "d5237dca2326a45d0ce6ac600546d15346f8f0a3ef2441b2a59fd7bc6d265a40",
      "locator": "Community reference stating that jercos ordered the pizzas and received the coins, that the coins were valued at about $41, and that 22 May is called Bitcoin Pizza Day.",
      "recordId": "source-9519d7b392c67aaf",
      "version": null
    },
    {
      "id": "hodl-thread",
      "label": "“I AM HODLING” thread",
      "publisher": "BitcoinTalk forum",
      "author": "GameKyuubi",
      "issued": "2013-12-18",
      "url": "https://bitcointalk.org/index.php?topic=375643.0",
      "note": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06.",
      "checkedAt": "2026-10-02T14:49:23.551844+00:00",
      "contentSha256": "9c7484ad1edec3f79112a8adc9ea33267a7ec173d1fe48f2d8af43e6c558797b",
      "locator": "The original 18 December 2013 post in the Speculation board, its text about being a bad trader and drinking whisky, and the first replies including elux’s “HODL!” at 10:06.",
      "recordId": "source-29dee6ca885713a2",
      "version": null
    },
    {
      "id": "coindesk-history",
      "label": "The History of HODL",
      "publisher": "CoinDesk (reporting)",
      "author": "Hoa Nguyen",
      "issued": "2019-02-02",
      "url": "https://www.coindesk.com/markets/2019/02/02/the-history-of-hodl",
      "note": "Reporting on the origin post and on how “hodling” became one of the most popular cryptocurrency terms, a strategy, and slang applied beyond bitcoin.",
      "checkedAt": "2026-10-02T14:49:26.651409+00:00",
      "contentSha256": "6d65cd4b064479d0407505589b723ca56471d3f7e1b98562019ba733773406c1",
      "locator": "Reporting on the origin post and on how “hodling” became one of the most popular cryptocurrency terms, a strategy, and slang applied beyond bitcoin.",
      "recordId": "source-4f12571dd47c2df5",
      "version": null
    },
    {
      "id": "bitcoin-magazine-eight-years",
      "label": "Eight Years Since The Meme Was Born, We’re Still HODLing Bitcoin",
      "publisher": "Bitcoin Magazine (reporting)",
      "author": "Mark Goodwin",
      "issued": "2021-12-18",
      "url": "https://bitcoinmagazine.com/culture/eight-year-anniversary-of-bitcoin-hodl-meme",
      "note": "Anniversary piece crediting piramida with the “I AM HODLING!” image from the film 300 and stating that HODL is not an acronym for “hold on (for) dear life.”",
      "checkedAt": "2026-10-02T14:49:23.735011+00:00",
      "contentSha256": "8b4e17a98f3be86d9fea47cbfa8cdc728ae8517b4e7a0252c6deea5d4039d2c3",
      "locator": "Anniversary piece crediting piramida with the “I AM HODLING!” image from the film 300 and stating that HODL is not an acronym for “hold on (for) dear life.”",
      "recordId": "source-1fad5f2c96219d66",
      "version": null
    },
    {
      "id": "dictionary-com-hodl",
      "label": "hodl",
      "publisher": "Dictionary.com",
      "url": "https://www.dictionary.com/browse/hodl",
      "note": "Defines hodl as a verb meaning to avoid selling cryptocurrency or other assets over a long period, with the origin note “First recorded in 2013; misspelling of hold.”",
      "checkedAt": "2026-10-02T14:49:24.002595+00:00",
      "contentSha256": "cfd3582d603540d08bcbbf174b274061acf9177217e5b07703301dd61c3d9680",
      "locator": "Defines hodl as a verb meaning to avoid selling cryptocurrency or other assets over a long period, with the origin note “First recorded in 2013; misspelling of hold.”",
      "recordId": "source-647b413abfd99680",
      "version": null
    },
    {
      "id": "dfs-dataset",
      "label": "Bitcoin Price, Halving and Power-Law Selected Observation Set, v1.1.0",
      "publisher": "Degrees of Satoshi",
      "issued": "2026-08-08",
      "url": "https://degreesofsatoshi.com/assets/history/data/bitcoin-price-halving-model-2010-2025-v1.1.0.json",
      "note": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats.",
      "checkedAt": "2026-10-02T14:49:23.911215+00:00",
      "contentSha256": "ebb22bab8e5399e626e2e24b4f419b74cce119750b6500c156c5c2a3caa83ed6",
      "locator": "The 31 December PriceUSD observations for 2010 to 2025, the four halving windows with prices and 365-day returns, the power-law fit diagnostics, and the caveats.",
      "recordId": "source-8a4a0a23e05ed7a7",
      "version": null
    },
    {
      "id": "coinmetrics-data",
      "label": "Coin Metrics community data repository",
      "publisher": "Coin Metrics, github.com/coinmetrics-io/data",
      "url": "https://github.com/coinmetrics-io/data",
      "note": "The upstream provider’s daily per-asset CSV files (CC BY-NC 4.0) from which the site’s year-end price observations are drawn.",
      "checkedAt": "2026-10-02T14:49:31.146848+00:00",
      "contentSha256": "f25ee7fb18872c2837051463b53863008cea29bc116d28eae556f3c3cef4aa80",
      "locator": "The upstream provider’s daily per-asset CSV files (CC BY-NC 4.0) from which the site’s year-end price observations are drawn.",
      "recordId": "source-283f4d3273c039e2",
      "version": null
    },
    {
      "id": "bitcointalk-2216",
      "label": "Thread on the PCWorld article, including Satoshi’s “hornet’s nest” reply",
      "publisher": "BitcoinTalk forum",
      "author": "Satoshi Nakamoto and others",
      "issued": "2010-12-11",
      "url": "https://bitcointalk.org/index.php?topic=2216.0",
      "note": "Topic 2216, opened 11 December 2010; Satoshi’s reply that evening (message 29280) reads “WikiLeaks has kicked the hornet’s nest, and the swarm is headed towards us.”",
      "checkedAt": "2026-10-02T14:49:24.202399+00:00",
      "contentSha256": "d5c25013539d934b921d6f989d58e10513e62e0caf41cc254fbaa742eeaefcd6",
      "locator": "Topic 2216, opened 11 December 2010; Satoshi’s reply that evening (message 29280) reads “WikiLeaks has kicked the hornet’s nest, and the swarm is headed towards us.”",
      "recordId": "source-d3204a0ed5167883",
      "version": null
    },
    {
      "id": "sni-appeal-2010",
      "label": "Re: Wikileaks contact info?",
      "publisher": "Satoshi Nakamoto Institute",
      "author": "Satoshi Nakamoto",
      "issued": "2010-12-05",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/523/",
      "note": "Archive of Satoshi’s 5 December 2010 forum post asking WikiLeaks not to use Bitcoin, with the “bring it on” message it replied to.",
      "checkedAt": "2026-10-02T14:49:24.607003+00:00",
      "contentSha256": "611f8d125f7bb29403bde8560f604b6640c9aa26ea0941147e2e5f8033511945",
      "locator": "Archive of Satoshi’s 5 December 2010 forum post asking WikiLeaks not to use Bitcoin, with the “bring it on” message it replied to.",
      "recordId": "source-7cf6ff52d069a0df",
      "version": null
    },
    {
      "id": "pcworld-2010",
      "label": "Could the Wikileaks Scandal Lead to New Virtual Currency?",
      "publisher": "PCWorld",
      "author": "Keir Thomas",
      "issued": "2010-12-10",
      "url": "https://www.pcworld.com/article/499375/could_wikileaks_scandal_lead_to_new_virtual_currency.html",
      "note": "The mainstream article that tied Bitcoin to WikiLeaks, describing it as uncensorable short of turning off the internet and trading at about 20 cents.",
      "checkedAt": "2026-10-02T14:49:26.101860+00:00",
      "contentSha256": "836af7cbfd71b30349b1ea02b5507a428ad73f256663e22d36fe3dc36c080d0d",
      "locator": "The mainstream article that tied Bitcoin to WikiLeaks, describing it as uncensorable short of turning off the internet and trading at about 20 cents.",
      "recordId": "source-0a616a807da9e14a",
      "version": null
    },
    {
      "id": "aljazeera-2010",
      "label": "Visa Europe cuts WikiLeaks payments",
      "publisher": "Al Jazeera",
      "issued": "2010-12-07",
      "url": "https://www.aljazeera.com/news/2010/12/7/visa-europe-cuts-wikileaks-payments",
      "note": "Contemporaneous report that Visa Europe suspended WikiLeaks payments on 7 December 2010, after Mastercard on 6 December and PayPal earlier, with the companies’ stated reasons.",
      "checkedAt": "2026-10-02T14:49:26.769816+00:00",
      "contentSha256": "f28e33516f52994c82f3a9dbc20b741f219eb08a3cc33a61705b499ff717e147",
      "locator": "Contemporaneous report that Visa Europe suspended WikiLeaks payments on 7 December 2010, after Mastercard on 6 December and PayPal earlier, with the companies’ stated reasons.",
      "recordId": "source-923096815c1ba948",
      "version": null
    },
    {
      "id": "wikileaks-blockade",
      "label": "Banking Blockade",
      "publisher": "WikiLeaks",
      "url": "https://wikileaks.org/Banking-Blockade.html",
      "note": "WikiLeaks’ own account of the blockade: the five companies it names, the 7 December 2010 start date, the claim of 95 percent revenue lost, and the January 2011 Geithner statement.",
      "checkedAt": "2026-10-02T14:49:26.319992+00:00",
      "contentSha256": "0e508a4de9c98728b2285a4d0bfb66155b1c5f9396dc5765b6c06ac7c71de647",
      "locator": "WikiLeaks’ own account of the blockade: the five companies it names, the 7 December 2010 start date, the claim of 95 percent revenue lost, and the January 2011 Geithner statement.",
      "recordId": "source-9000597c87d0396f",
      "version": null
    },
    {
      "id": "coindesk-assange-2014",
      "label": "Assange: Bitcoin and WikiLeaks Helped Keep Each Other Alive",
      "publisher": "CoinDesk",
      "author": "Nermin Hajdarbegovic",
      "issued": "2014-09-16",
      "url": "https://www.coindesk.com/markets/2014/09/16/assange-bitcoin-and-wikileaks-helped-keep-each-other-alive",
      "note": "Reports Assange’s Reddit statements that WikiLeaks agreed with Satoshi’s analysis, delayed bitcoin donations until June 2011, and that the two projects helped each other survive.",
      "checkedAt": "2026-10-02T14:49:26.627878+00:00",
      "contentSha256": "823b15dd5f585dbb99a125c80e4b627e209a365b49f31f2594b33162b077567a",
      "locator": "Reports Assange’s Reddit statements that WikiLeaks agreed with Satoshi’s analysis, delayed bitcoin donations until June 2011, and that the two projects helped each other survive.",
      "recordId": "source-01591b4280dd05c6",
      "version": null
    },
    {
      "id": "bitcoinmagazine-2016",
      "label": "WikiLeaks’ Public Donation Address Receives 4000th Bitcoin",
      "publisher": "Bitcoin Magazine",
      "author": "Aaron van Wirdum",
      "issued": "2016-12-01",
      "url": "https://bitcoinmagazine.com/culture/wikileaks-public-donation-address-receives-th-bitcoin-1480629241",
      "note": "States the donation address was launched on 14 June 2011, received its 4,000th bitcoin on 12 November 2016 across more than 25,000 transactions, and that most donations came in 2011 and 2012.",
      "checkedAt": "2026-10-02T14:49:26.315576+00:00",
      "contentSha256": "338d3e07cc75fa5ec6084dac0bc5f53ca2107357aade927ef0028b32bcaaa627",
      "locator": "States the donation address was launched on 14 June 2011, received its 4,000th bitcoin on 12 November 2016 across more than 25,000 transactions, and that most donations came in 2011 and 2012.",
      "recordId": "source-9d2c76417b94a9d8",
      "version": null
    },
    {
      "id": "wikileaks-donate",
      "label": "Donate to WikiLeaks",
      "publisher": "WikiLeaks",
      "url": "https://shop.wikileaks.org/donate",
      "note": "The current donation page, listing a native SegWit bitcoin address, five other cryptocurrencies, card and PayPal via the Wau Holland Foundation, and bank accounts in four countries.",
      "checkedAt": "2026-10-02T14:49:27.148693+00:00",
      "contentSha256": "0fc7b50e5080622e025f01e35671c7b3104f6b3084dcac0599b34ab86dad879b",
      "locator": "The current donation page, listing a native SegWit bitcoin address, five other cryptocurrencies, card and PayPal via the Wau Holland Foundation, and bank accounts in four countries.",
      "recordId": "source-e31767acf2a4f560",
      "version": null
    },
    {
      "id": "doj-seizure-2013",
      "label": "Manhattan U.S. Attorney Announces Seizure of Additional $28 Million Worth of Bitcoins Belonging to Ross William Ulbricht",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2013-10-25",
      "url": "https://www.justice.gov/usao-sdny/pr/manhattan-us-attorney-announces-seizure-additional-28-million-worth-bitcoins-belonging",
      "note": "Announces the 1 October 2013 arrest, the 30 September civil forfeiture action, the 29,655 and 144,336 bitcoin seizures, and the 9.5 million bitcoin sales figure.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "ac3421745d85bff8a1f6e3a6005d167340b29597a33ccc8ec26736430d0017df",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "Announces the 1 October 2013 arrest, the 30 September civil forfeiture action, the 29,655 and 144,336 bitcoin seizures, and the 9.5 million bitcoin sales figure.",
      "recordId": "source-53580512e825057b",
      "version": null
    },
    {
      "id": "doj-verdict-2015",
      "label": "Ross Ulbricht, the Creator and Owner of the “Silk Road” Website, Found Guilty in Manhattan Federal Court on All Counts",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2015-02-05",
      "url": "https://www.justice.gov/usao-sdny/pr/ross-ulbricht-creator-and-owner-silk-road-website-found-guilty-manhattan-federal-court",
      "note": "Issued the day after the verdict; lists the seven counts, their maximum penalties, the four-week trial before Judge Forrest, and the commissions figure of over $13 million.",
      "checkedAt": "2026-10-02T14:49:26.793385+00:00",
      "contentSha256": "459f4192bed7144143ae618f598628daed9bf8baaac24ef3af1ee1db24d4c8c0",
      "locator": "Issued the day after the verdict; lists the seven counts, their maximum penalties, the four-week trial before Judge Forrest, and the commissions figure of over $13 million.",
      "recordId": "source-6d2d6df31e5e01b6",
      "version": null
    },
    {
      "id": "doj-sentence-2015",
      "label": "Ross Ulbricht, a/k/a “Dread Pirate Roberts,” Sentenced in Manhattan Federal Court to Life in Prison",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2015-05-29",
      "url": "https://www.justice.gov/usao-sdny/pr/ross-ulbricht-aka-dread-pirate-roberts-sentenced-manhattan-federal-court-life-prison",
      "note": "The life sentence, the $183,961,921 forfeiture, Judge Forrest’s remarks, the six overdose deaths prosecutors cited, and the murder-for-hire allegations with no evidence any were carried out.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "64d8f3f1f0ada3e28360384c9867752db1a6d25f3f04d8387f1b7a441ee9fc94",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The life sentence, the $183,961,921 forfeiture, Judge Forrest’s remarks, the six overdose deaths prosecutors cited, and the murder-for-hire allegations with no evidence any were carried out.",
      "recordId": "source-8a41a908ea998d41",
      "version": null
    },
    {
      "id": "second-circuit-2017",
      "label": "United States v. Ulbricht, 858 F.3d 71 (2d Cir. 2017)",
      "publisher": "US Court of Appeals for the Second Circuit, via GovInfo",
      "issued": "2017-05-31",
      "url": "https://www.govinfo.gov/content/pkg/USCOURTS-ca2-15-01815/pdf/USCOURTS-ca2-15-01815-0.pdf",
      "note": "The Second Circuit opinion affirming conviction and sentence, with the “reasonable people may and do disagree” passage on drug sentencing.",
      "locator": "Opinion filed 31 May 2017, pp. 1–3 and conclusion p. 139; conviction and sentence affirmed.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "fde8b7b1ec80a4e5ed871b46164567b6cee109eed6309cc7bb53606655abf3bf",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "recordId": "source-679993958d64a092",
      "version": null
    },
    {
      "id": "doj-forfeiture-2020",
      "label": "United States Files a Civil Action to Forfeit Cryptocurrency Valued at Over One Billion U.S. Dollars",
      "publisher": "US Department of Justice, Northern District of California",
      "issued": "2020-11-05",
      "url": "https://www.justice.gov/usao-ndca/pr/united-states-files-civil-action-forfeit-cryptocurrency-valued-over-one-billion-us",
      "note": "Announces the 3 November 2020 seizure of bitcoin stolen from Silk Road by “Individual X,” the 54 traced transactions, and the value of over $1 billion.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "d039ff67bb9271c8097c668eb1b974f62f5d6158f7b49cf3924934c2ccb9c0f5",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "Announces the 3 November 2020 seizure of bitcoin stolen from Silk Road by “Individual X,” the 54 traced transactions, and the value of over $1 billion.",
      "recordId": "source-9c70952724669458",
      "version": null
    },
    {
      "id": "doj-clemency-2025",
      "label": "Clemency Grants by President Donald J. Trump (2025-Present)",
      "publisher": "US Department of Justice, Office of the Pardon Attorney",
      "url": "https://www.justice.gov/pardon/clemency-grants-president-donald-j-trump-2025-present",
      "note": "The official list recording the 21 January 2025 pardon of Ross William Ulbricht, the sentence pardoned, and the offenses.",
      "checkedAt": "2026-10-02T14:49:29.323288+00:00",
      "contentSha256": "a32d9b7976f4e24ff6e9a65031a87d9d5a967990582d35b7f6e365f7f4dea7ca",
      "locator": "The official list recording the 21 January 2025 pardon of Ross William Ulbricht, the sentence pardoned, and the offenses.",
      "recordId": "source-11b56b350fce4e5f",
      "version": null
    },
    {
      "id": "npr-pardon-2025",
      "label": "Trump pardons Ross Ulbricht, creator of the Silk Road dark web marketplace",
      "publisher": "NPR",
      "author": "Jenna McLaughlin",
      "issued": "2025-01-21",
      "url": "https://www.npr.org/2025/01/21/nx-s1-5270051/trump-pardons-dark-web-marketplace-creator-ross-ulbricht",
      "note": "Reporting on the pardon with the full Truth Social post, the May 2024 Libertarian convention promise, the arrest at a library, and the “Free Ross” supporters’ position.",
      "checkedAt": "2026-10-02T14:49:30.825834+00:00",
      "contentSha256": "0f441aff347e5c29e46cf8c70f905c45dbad5c937054b751290a6083bfbfd152",
      "locator": "Reporting on the pardon with the full Truth Social post, the May 2024 Libertarian convention promise, the arrest at a library, and the “Free Ross” supporters’ position.",
      "recordId": "source-6d0a135e79452831",
      "version": null
    },
    {
      "id": "doj-verdict-day",
      "label": "Contemporaneous statement on Ulbricht conviction",
      "publisher": "US Department of Justice",
      "url": "https://www.justice.gov/usao-sdny/pr/statement-manhattan-us-attorney-preet-bharara-conviction-ross-william-ulbricht",
      "note": "4 February 2015 statement announcing the verdict. The 5 February detailed release says yesterday; a later sentencing recap uses a conflicting date.",
      "locator": "4 February 2015 statement announcing the verdict. The 5 February detailed release says yesterday; a later sentencing recap uses a conflicting date.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "2928957e012f36216b79c2b1fad95de4b31225c3d05827de70de0c339084148b",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "recordId": "source-75e9b631a024fa8d",
      "version": null
    },
    {
      "id": "coindesk-hack-2016",
      "label": "The Bitfinex Bitcoin Hack: What We Know (And Don’t Know)",
      "publisher": "CoinDesk",
      "author": "Stan Higgins",
      "issued": "2016-08-03",
      "url": "https://www.coindesk.com/markets/2016/08/03/the-bitfinex-bitcoin-hack-what-we-know-and-dont-know",
      "note": "Next-day reporting confirming 119,756 bitcoin stolen, about $66 million, the near 20 percent price drop, and the 2-of-3 BitGo multi-signature arrangement.",
      "checkedAt": "2026-10-02T14:49:33.842451+00:00",
      "contentSha256": "91b5e1383c691b2cc667af333ce35dd8a80b0bf57a94fcd190f156521be35ef3",
      "locator": "Next-day reporting confirming 119,756 bitcoin stolen, about $66 million, the near 20 percent price drop, and the 2-of-3 BitGo multi-signature arrangement.",
      "recordId": "source-aa8aa2485f7a6c5e",
      "version": null
    },
    {
      "id": "bitfinex-faq-2016",
      "label": "Security Breach & BFX Token FAQ",
      "publisher": "Bitfinex",
      "issued": "2016-08-26",
      "url": "https://blog.bitfinex.com/announcements/security-breach-faq/",
      "note": "Bitfinex’s own account: the 2 August 2016 breach, losses allocated across users, BFX tokens at $1 per dollar lost at 3 August settlement prices, the four redemption paths, and the security changes.",
      "checkedAt": "2026-10-02T14:49:32.212343+00:00",
      "contentSha256": "0681726d5dfd45800ef26175f48e8f789a8419a4db13342064bb4d8c2fd567a6",
      "locator": "Bitfinex’s own account: the 2 August 2016 breach, losses allocated across users, BFX tokens at $1 per dollar lost at 3 August settlement prices, the four redemption paths, and the security changes.",
      "recordId": "source-a0eef339ff7ee604",
      "version": null
    },
    {
      "id": "doj-arrests-2022",
      "label": "Two Arrested for Alleged Conspiracy to Launder $4.5 Billion in Stolen Cryptocurrency",
      "publisher": "US Department of Justice, Office of Public Affairs",
      "issued": "2022-02-08",
      "url": "https://www.justice.gov/opa/pr/two-arrested-alleged-conspiracy-launder-45-billion-stolen-cryptocurrency",
      "note": "The 8 February 2022 arrests in Manhattan, the charges, 119,754 bitcoin in over 2,000 transactions, about 25,000 laundered and more than 94,000 seized at over $3.6 billion, and the laundering methods alleged.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "1e367c3ba8fae417658f4a5517c42ae80aefdc8ad738c1ea82eea247d65fd928",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The 8 February 2022 arrests in Manhattan, the charges, 119,754 bitcoin in over 2,000 transactions, about 25,000 laundered and more than 94,000 seized at over $3.6 billion, and the laundering methods alleged.",
      "recordId": "source-b9a93300c46259d5",
      "version": null
    },
    {
      "id": "doj-statement-of-facts-2022",
      "label": "Statement of Facts in support of the criminal complaint against Ilya Lichtenstein and Heather Morgan",
      "publisher": "US Department of Justice",
      "issued": "2022-02",
      "url": "https://www.justice.gov/d9/press-releases/attachments/2022/02/08/statement_of_facts.pdf",
      "note": "The agent’s affidavit: 119,754 bitcoin worth about $71 million, the January 2017 movements through AlphaBay, the majority dormant until 31 January 2022, the decrypted file of 2,000 addresses, and the seizure of about 94,636 bitcoin.",
      "checkedAt": "2026-10-02T15:04:15.288010+00:00",
      "contentSha256": "e5e46606f1d51838315199453d8a54ed298a46c24c3491202d86d36390578fdd",
      "locator": "The agent’s affidavit: 119,754 bitcoin worth about $71 million, the January 2017 movements through AlphaBay, the majority dormant until 31 January 2022, the decrypted file of 2,000 addresses, and the seizure of about 94,636 bitcoin.",
      "recordId": "source-c7ab494aef793e10",
      "version": null
    },
    {
      "id": "doj-pleas-2023",
      "label": "Bitfinex Hacker and Wife Plead Guilty to Money Laundering Conspiracy Involving Billions in Cryptocurrency",
      "publisher": "US Department of Justice, Office of Public Affairs",
      "issued": "2023-08-03",
      "url": "https://www.justice.gov/opa/pr/bitfinex-hacker-and-wife-plead-guilty-money-laundering-conspiracy-involving-billions",
      "note": "The guilty pleas, Lichtenstein’s admission of the hack and log deletion, the named mixing services, the buried gold coins, and the additional $475 million seized.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "369f4a018283a63d301f7fcf87eae1bb13d730b62897ebfc2d40687cc84aeb7f",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The guilty pleas, Lichtenstein’s admission of the hack and log deletion, the named mixing services, the buried gold coins, and the additional $475 million seized.",
      "recordId": "source-acfc70febccaed6c",
      "version": null
    },
    {
      "id": "doj-sentence-2024",
      "label": "Bitfinex Hacker Sentenced in Money Laundering Conspiracy Involving Billions in Stolen Cryptocurrency",
      "publisher": "US Department of Justice, District of Columbia",
      "issued": "2024-11-14",
      "url": "https://www.justice.gov/usao-dc/pr/bitfinex-hacker-sentenced-money-laundering-conspiracy-involving-billions-stolen",
      "note": "Lichtenstein’s 60-month sentence and three years of supervised release on 14 November 2024, with Morgan’s sentencing scheduled for 18 November.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "ed3f9abc66731a353203f56b696afbd2e2642168ef5f8d6fa05308e78a6e8193",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "Lichtenstein’s 60-month sentence and three years of supervised release on 14 November 2024, with Morgan’s sentencing scheduled for 18 November.",
      "recordId": "source-5bd963a46ed48757",
      "version": null
    },
    {
      "id": "coindesk-release-2026",
      "label": "Bitfinex hacker Ilya Lichtenstein credits Trump’s First Step Act for early prison release",
      "publisher": "CoinDesk",
      "author": "Olivier Acuna",
      "issued": "2026-01-02",
      "url": "https://www.coindesk.com/tech/2026/01/02/crypto-hacker-ilya-lichtenstein-credits-trump-s-first-step-act-for-early-prison-release",
      "note": "Reports Lichtenstein’s release after about 14 months of his five-year sentence, Morgan’s 18-month sentence, and prosecutors seeking the return of roughly 94,000 bitcoin to Bitfinex.",
      "checkedAt": "2026-10-02T14:49:36.605056+00:00",
      "contentSha256": "519d06dcd3f769385ab2b9a927f1a4baadf32e9021564eac8027fd295e32b63e",
      "locator": "Reports Lichtenstein’s release after about 14 months of his five-year sentence, Morgan’s 18-month sentence, and prosecutors seeking the return of roughly 94,000 bitcoin to Bitfinex.",
      "recordId": "source-0ac7e414447c8218",
      "version": null
    },
    {
      "id": "bitfinex-redemption",
      "label": "100% Redemption of Outstanding BFX Tokens",
      "publisher": "Bitfinex",
      "url": "https://blog.bitfinex.com/announcements/100-redemption-outstanding-bfx-tokens/",
      "note": "3 April 2017 issuer announcement: final redemption of outstanding BFX tokens; scheduled mechanics at 20:00 UTC; some holders had previously converted to equity.",
      "locator": "3 April 2017 issuer announcement: final redemption of outstanding BFX tokens; scheduled mechanics at 20:00 UTC; some holders had previously converted to equity.",
      "checkedAt": "2026-10-02T15:14:07.571900+00:00",
      "contentSha256": "ab39c1f8af2b8bc1569ee8f959f827c09467a9c0929cbba395bd03b64106296d",
      "recordId": "source-35a71e4255eb79cb",
      "version": null
    },
    {
      "id": "sec-complaint-2022",
      "label": "Complaint, Securities and Exchange Commission v. Samuel Bankman-Fried",
      "publisher": "US Securities and Exchange Commission",
      "issued": "2022-12-13",
      "url": "https://www.sec.gov/files/litigation/complaints/2022/comp-pr2022-219.pdf",
      "note": "The SEC’s complaint: FTX’s founding and structure, the diversion of customer deposits to Alameda, and a dated account of 2 to 11 November 2022 including the withdrawal pause, the Binance deal and the bankruptcy.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "ff0c90a29bbf1186dab44fee91ca38a713a2bd10a81e7667c6900e1df2f6ec43",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The SEC’s complaint: FTX’s founding and structure, the diversion of customer deposits to Alameda, and a dated account of 2 to 11 November 2022 including the withdrawal pause, the Binance deal and the bankruptcy.",
      "recordId": "source-ae547d14c19b16b5",
      "version": null
    },
    {
      "id": "cftc-release-2022",
      "label": "CFTC Charges Sam Bankman-Fried, FTX Trading and Alameda with Fraud and Material Misrepresentations",
      "publisher": "US Commodity Futures Trading Commission",
      "issued": "2022-12-13",
      "url": "https://www.cftc.gov/PressRoom/PressReleases/8638-22",
      "note": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion.",
      "checkedAt": "2026-10-02T14:49:36.350667+00:00",
      "contentSha256": "b754d59281fb6134d461fc07e24cb9240d8133980361808e414b9cce95243597",
      "locator": "Announces the CFTC complaint, the “allow negative flag,” the “safest and easiest” marketing claim, and customer losses of more than $8 billion.",
      "recordId": "source-5a31c2a5d93770ac",
      "version": null
    },
    {
      "id": "doj-charges-2022",
      "label": "United States Attorney Announces Charges Against FTX Founder Samuel Bankman-Fried",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2022-12-13",
      "url": "https://www.justice.gov/usao-sdny/pr/united-states-attorney-announces-charges-against-ftx-founder-samuel-bankman-fried",
      "note": "The unsealed eight-count indictment, the arrest in the Bahamas the previous day, and the US Attorney’s “intentional fraud” statement.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "d7715970cfc64c5f470159d1d0727c9ec5a2873ef6cbd0699bdf46287259c488",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The unsealed eight-count indictment, the arrest in the Bahamas the previous day, and the US Attorney’s “intentional fraud” statement.",
      "recordId": "source-1d3f0751c8cca573",
      "version": null
    },
    {
      "id": "doj-verdict-2023",
      "label": "Statement of U.S. Attorney Damian Williams on the Conviction of Samuel Bankman-Fried",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2023-11-02",
      "url": "https://www.justice.gov/usao-sdny/pr/statement-us-attorney-damian-williams-conviction-samuel-bankman-fried",
      "note": "Records the 2 November 2023 conviction and lists the seven counts with their maximum penalties.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "c9032a8056fcf45a66e4537a4723626b341b3a2b614a4ca3342030338e0b144f",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "Records the 2 November 2023 conviction and lists the seven counts with their maximum penalties.",
      "recordId": "source-83262ef82fa43bf9",
      "version": null
    },
    {
      "id": "doj-sentence-2024",
      "label": "Samuel Bankman-Fried Sentenced to 25 Years in Prison",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2024-03-28",
      "url": "https://www.justice.gov/usao-sdny/pr/samuel-bankman-fried-sentenced-25-years-prison",
      "note": "The 25-year sentence, supervised release and forfeiture of over $11 billion, the $1.7 billion and $1.3 billion investor and lender figures, and the altered code allowing unlimited Alameda withdrawals.",
      "checkedAt": "2026-10-02T15:54:51Z",
      "contentSha256": "3800f88e52c0ea41aeef8cd81266ea24d87676ae76fcefcb6875f7974533a669",
      "contentHashScope": "Rendered source text returned by web source reader, not raw HTTP bytes",
      "locator": "The 25-year sentence, supervised release and forfeiture of over $11 billion, the $1.7 billion and $1.3 billion investor and lender figures, and the altered code allowing unlimited Alameda withdrawals.",
      "recordId": "source-341f7d644fc43d12",
      "version": null
    },
    {
      "id": "ray-testimony-2022",
      "label": "Testimony of Mr. John J. Ray III, CEO, FTX Debtors",
      "publisher": "US House Committee on Financial Services",
      "author": "John J. Ray III",
      "issued": "2022-12-13",
      "url": "https://democrats-financialservices.house.gov/uploadedfiles/hhrg-117-ba00-wstate-rayj-20221213.pdf",
      "note": "Ray’s sworn testimony: his appointment on 11 November, the Chapter 11 filings of over 100 entities, and his list of failed controls including commingling and unlimited Alameda borrowing.",
      "checkedAt": "2026-10-02T15:04:16.544946+00:00",
      "contentSha256": "d2c90f5759ed09a85052e81088f6ec6899cd3fb9345587caf4fa6566e28df0f1",
      "locator": "Ray’s sworn testimony: his appointment on 11 November, the Chapter 11 filings of over 100 entities, and his list of failed controls including commingling and unlimited Alameda borrowing.",
      "recordId": "source-55d329a733715988",
      "version": null
    },
    {
      "id": "ftx-recovery-trust-2025",
      "label": "FTX Recovery Trust to Distribute Approximately $1.6 Billion to Creditors in Third Distribution on September 30, 2025",
      "publisher": "FTX Recovery Trust, via PR Newswire",
      "issued": "2025-09-19",
      "url": "https://www.prnewswire.com/news-releases/ftx-recovery-trust-to-distribute-approximately-1-6-billion-to-creditors-in-third-distribution-on-september-30--2025--302561856.html",
      "note": "Trust’s announcement of planned 30 September 2025 distribution to eligible claims, cumulative class percentages, prerequisites and expected 1–3 business-day provider processing.",
      "checkedAt": "2026-10-02T14:49:37.990011+00:00",
      "contentSha256": "b155f3284848d52f70035b3658e1713b80fb2ce51d45adbfb15830b860eef4eb",
      "locator": "Trust’s announcement of planned 30 September 2025 distribution to eligible claims, cumulative class percentages, prerequisites and expected 1–3 business-day provider processing.",
      "recordId": "source-f5392f821f767554",
      "version": null
    },
    {
      "id": "fsdc-meeting",
      "label": "刘鹤主持召开国务院金融稳定发展委员会第五十一次会议 (Liu He chairs the 51st meeting of the State Council Financial Stability and Development Committee)",
      "publisher": "The State Council of the People’s Republic of China (gov.cn)",
      "issued": "2021-05-21",
      "url": "https://www.gov.cn/guowuyuan/2021-05/21/content_5610192.htm",
      "note": "The official readout of the 21 May 2021 meeting, including the sentence calling for a crackdown on bitcoin mining and trading and the prevention of individual risks spreading to society.",
      "checkedAt": "2026-10-02T14:49:38.514486+00:00",
      "contentSha256": "52bfb54d164dd2c677b63ff6f2941de28c9b23a5b55a897a52fd973c5f5c18c2",
      "locator": "The official readout of the 21 May 2021 meeting, including the sentence calling for a crackdown on bitcoin mining and trading and the prevention of individual risks spreading to society.",
      "recordId": "source-aa849e4cb395ca20",
      "version": null
    },
    {
      "id": "ndrc-notice",
      "label": "关于整治虚拟货币“挖矿”活动的通知 (Notice on Rectifying Virtual Currency “Mining” Activities), 发改运行〔2021〕1283号",
      "publisher": "National Development and Reform Commission and ten other departments",
      "issued": "2021-09-03",
      "url": "https://www.ndrc.gov.cn/xxgk/zcfb/tz/202109/t20210924_1297474.html",
      "note": "The mining notice, dated 3 September and published 24 September 2021: it characterizes mining as high-energy and low-value, bans new projects, orders existing ones to exit, lists mining as an eliminated industry and permits a 0.30 yuan per kWh surcharge.",
      "checkedAt": "2026-10-02T14:49:40.385358+00:00",
      "contentSha256": "1ca312cc544d16e6f582911da15e9f65531a965b126423876aa39fcde8095023",
      "locator": "The mining notice, dated 3 September and published 24 September 2021: it characterizes mining as high-energy and low-value, bans new projects, orders existing ones to exit, lists mining as an eliminated industry and permits a 0.30 yuan per kWh surcharge.",
      "recordId": "source-fd9fe59fce3f9303",
      "version": null
    },
    {
      "id": "pboc-notice",
      "label": "Notice on Further Preventing and Resolving the Risks of Virtual Currency Trading and Speculation",
      "publisher": "People’s Bank of China (English-language site)",
      "issued": "2021-09-15",
      "url": "https://www.pbc.gov.cn/en/3688253/3689012/2025080817521950275/index.html",
      "note": "The English text of the 15 September 2021 notice by ten departments stating that virtual currencies are not legal tender, that virtual-currency business activities are illegal financial activities, and that overseas exchanges serving residents in China are acting illegally.",
      "checkedAt": "2026-10-02T14:49:40.682641+00:00",
      "contentSha256": "e647c283b1c0df3cd4d922837b368fc9fa2e57620e4197c42318417a40697a3c",
      "locator": "The English text of the 15 September 2021 notice by ten departments stating that virtual currencies are not legal tender, that virtual-currency business activities are illegal financial activities, and that overseas exchanges serving residents in China are acting illegally.",
      "recordId": "source-a43dcca35aedec0e",
      "version": null
    },
    {
      "id": "ccaf-exodus",
      "label": "New data reveals timeline of China’s bitcoin mining exodus",
      "publisher": "Cambridge Judge Business School, Cambridge Centre for Alternative Finance",
      "issued": "2021-07-15",
      "url": "https://www.jbs.cam.ac.uk/2021/new-data-reveals-timeline-of-chinas-bitcoin-mining-exodus/",
      "note": "Mining map figures showing China at 75.5% of hash rate in September 2019 and 46% in April 2021, the United States and Kazakhstan shares over the same period, and the seasonal Sichuan and Xinjiang pattern.",
      "checkedAt": "2026-10-02T14:49:39.033544+00:00",
      "contentSha256": "c67b0beae10edb8759a7023a556bad8520eb84eeb1a591182e6b3ecaacd3a733",
      "locator": "Mining map figures showing China at 75.5% of hash rate in September 2019 and 46% in April 2021, the United States and Kazakhstan shares over the same period, and the seasonal Sichuan and Xinjiang pattern.",
      "recordId": "source-17671bfc399ddc9d",
      "version": null
    },
    {
      "id": "ccaf-shift",
      "label": "Geographic shift: bitcoin mining after the China ban",
      "publisher": "Cambridge Judge Business School, Cambridge Centre for Alternative Finance",
      "issued": "2021-10-13",
      "url": "https://www.jbs.cam.ac.uk/insight/2021/geographic-shift/",
      "note": "The 13 October 2021 update reporting the 38% June 2021 hash rate drop, the 20% July to August bounceback, and August 2021 shares for the United States, Kazakhstan, Russia, Canada and China, with Michel Rauchs’s comment.",
      "checkedAt": "2026-10-02T14:49:42.564375+00:00",
      "contentSha256": "2c8b9b960046e656ec9637cae286e9c5e5cba8250579b915ae0832d7cae85fc7",
      "locator": "The 13 October 2021 update reporting the 38% June 2021 hash rate drop, the 20% July to August bounceback, and August 2021 shares for the United States, Kazakhstan, Russia, Canada and China, with Michel Rauchs’s comment.",
      "recordId": "source-cdc5cae646e5185c",
      "version": null
    },
    {
      "id": "ostp-report",
      "label": "Climate and Energy Implications of Crypto-Assets in the United States",
      "publisher": "White House Office of Science and Technology Policy (archived)",
      "issued": "2022-09",
      "url": "https://bidenwhitehouse.archives.gov/wp-content/uploads/2022/09/09-2022-Crypto-Assets-and-Climate-Report.pdf",
      "note": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures.",
      "checkedAt": "2026-10-02T15:04:15.142111+00:00",
      "contentSha256": "dcd3feee84ebb0d3c9e7a8f830c25b2458206ea3bef46ea07da1b7be76c2a59c",
      "locator": "The September 2022 report under Executive Order 14067: global and United States electricity and emissions estimates as of August 2022, Bitcoin’s share, the hash-rate versus efficiency history, the methane and grid discussion and the Texas figures.",
      "recordId": "source-2b24e54a92f2db78",
      "version": null
    },
    {
      "id": "ord-overview",
      "label": "Ordinal Theory Overview",
      "publisher": "Ordinal Theory Handbook (docs.ordinals.com)",
      "url": "https://docs.ordinals.com/overview.html",
      "note": "Defines the numbering of satoshis by mining order with first-in-first-out transfer, the rarity levels, and states that ordinal theory needs no separate token, other blockchain or changes to Bitcoin.",
      "checkedAt": "2026-10-02T14:49:42.777211+00:00",
      "contentSha256": "f23c90f114150c8c15029a26a47b66b4f9caa7db3222c7f3de5d7cc6841a30ca",
      "locator": "Defines the numbering of satoshis by mining order with first-in-first-out transfer, the rarity levels, and states that ordinal theory needs no separate token, other blockchain or changes to Bitcoin.",
      "recordId": "source-39faabbdd70cba3f",
      "version": null
    },
    {
      "id": "ord-inscriptions",
      "label": "Inscriptions",
      "publisher": "Ordinal Theory Handbook (docs.ordinals.com)",
      "url": "https://docs.ordinals.com/inscriptions.html",
      "note": "Describes inscription content stored in taproot script-path spend scripts inside an OP_FALSE OP_IF envelope, the content-type field, the 520-byte push limit, the commit and reveal transactions, and the witness discount.",
      "checkedAt": "2026-10-02T14:49:42.757417+00:00",
      "contentSha256": "23fbe84932463644e4044de65fb0c55a6da1a9ce0d127fdf78fe57f66401f4fd",
      "locator": "Describes inscription content stored in taproot script-path spend scripts inside an OP_FALSE OP_IF envelope, the content-type field, the 520-byte push limit, the commit and reveal transactions, and the witness discount.",
      "recordId": "source-46b62cd6de083c88",
      "version": null
    },
    {
      "id": "rodarmor-post",
      "label": "Inscribing Mainnet",
      "publisher": "Casey Rodarmor’s blog",
      "author": "Casey Rodarmor",
      "issued": "2023-01-20",
      "url": "https://rodarmor.com/blog/inscribing-mainnet/",
      "note": "The launch post announcing ord 0.4.0, recording the first mainnet inscription on 14 December 2022, defining inscriptions as digital artifacts, and describing the rush that filled every block.",
      "checkedAt": "2026-10-02T14:49:45.387552+00:00",
      "contentSha256": "2ced50f2fc9829fe7aa0ba9c3f51f2cdc32e8163c0b1b671be3d8e2c6585b2e7",
      "locator": "The launch post announcing ord 0.4.0, recording the first mainnet inscription on 14 December 2022, defining inscriptions as digital artifacts, and describing the rush that filled every block.",
      "recordId": "source-96ec565badf81ac9",
      "version": null
    },
    {
      "id": "coindesk-debate",
      "label": "Bitcoin Community Erupts in Existential Debate Over NFT Project Ordinals",
      "publisher": "CoinDesk",
      "issued": "2023-01-30",
      "url": "https://www.coindesk.com/tech/2023/01/31/bitcoin-community-erupts-in-existential-debate-over-nft-project-ordinals",
      "note": "Reporting on the January 2023 debate, with Luke Dashjr calling Ordinals an attack on Bitcoin, Adam Back suggesting miners could refuse them, and Dan Held, Peter Todd and Rodarmor arguing the other side.",
      "checkedAt": "2026-10-02T14:49:52.500439+00:00",
      "contentSha256": "1583d476dc35867182fdace12a9bdaf40610fe19fbee1158eba7c9fed4fc1300",
      "locator": "Reporting on the January 2023 debate, with Luke Dashjr calling Ordinals an attack on Bitcoin, Adam Back suggesting miners could refuse them, and Dan Held, Peter Todd and Rodarmor arguing the other side.",
      "recordId": "source-0272da1721c2dd86",
      "version": null
    },
    {
      "id": "coindesk-binance",
      "label": "Bitcoin Network Congestion Causes Binance to Pause Withdrawals",
      "publisher": "CoinDesk",
      "issued": "2023-05-07",
      "url": "https://www.coindesk.com/markets/2023/05/07/bitcoin-network-congestion-causes-binance-to-pause-withdrawals",
      "note": "Reports nearly 400,000 unconfirmed transactions, an average fee just over $8, about 14,000 BRC-20 tokens worth $482 million, Binance’s withdrawal pause on 7 May 2023 and Colin Harper’s comment.",
      "checkedAt": "2026-10-02T14:49:52.678883+00:00",
      "contentSha256": "54f1261a66243df8465572656256a3020992581550f614e9e7b55addcb1f113e",
      "locator": "Reports nearly 400,000 unconfirmed transactions, an average fee just over $8, about 14,000 BRC-20 tokens worth $482 million, Binance’s withdrawal pause on 7 May 2023 and Colin Harper’s comment.",
      "recordId": "source-9f4074cad7db5f88",
      "version": null
    },
    {
      "id": "core-pr-28408",
      "label": "datacarriersize: Match more datacarrying (pull request #28408)",
      "publisher": "Bitcoin Core repository on GitHub",
      "author": "Luke Dashjr",
      "issued": "2023-09-05",
      "url": "https://github.com/bitcoin/bitcoin/issues/28408",
      "note": "The September 2023 proposal to extend the data-carrier relay limit to witness data, the concept objections from Peter Todd, glozow and others, and its closure on 5 January 2024.",
      "checkedAt": "2026-10-02T14:49:54.969684+00:00",
      "contentSha256": "d6eedc1156d6afdd31258cd392b14b1739fee17a4764f72d70d2a5c89bc2227c",
      "locator": "The September 2023 proposal to extend the data-carrier relay limit to witness data, the concept objections from Peter Todd, glozow and others, and its closure on 5 January 2024.",
      "recordId": "source-e128afc50d6b2a4c",
      "version": null
    },
    {
      "id": "irs-onecoin",
      "label": "Co-founder of multibillion-dollar cryptocurrency scheme “OneCoin” sentenced to 20 years in prison",
      "publisher": "IRS Criminal Investigation, republishing the U.S. Attorney’s Office for the Southern District of New York release",
      "issued": "2023-09-12",
      "url": "https://www.irs.gov/node/126321",
      "note": "Records Karl Greenwood’s 20-year sentence, OneCoin’s 2014 launch in Sofia, the multi-level marketing model, more than $4 billion from more than 3.5 million victims, the “fake coins” and Ruja Ignatova’s status as a fugitive on the FBI’s Ten Most Wanted list.",
      "checkedAt": "2026-10-02T14:49:57.800632+00:00",
      "contentSha256": "2e0552e69d908be44add08c2771011f54b461529f5dc5a4c97123481d128fa52",
      "locator": "Records Karl Greenwood’s 20-year sentence, OneCoin’s 2014 launch in Sofia, the multi-level marketing model, more than $4 billion from more than 3.5 million victims, the “fake coins” and Ruja Ignatova’s status as a fugitive on the FBI’s Ten Most Wanted list.",
      "recordId": "source-9803e7e0c1173bdb",
      "version": null
    },
    {
      "id": "ftc-spotlight",
      "label": "Cryptocurrency buzz drives record investment scam losses (Data Spotlight)",
      "publisher": "U.S. Federal Trade Commission",
      "issued": "2021-05-17",
      "url": "https://www.ftc.gov/news-events/data-visualizations/data-spotlight/2021/05/cryptocurrency-buzz-drives-record-investment-scam-losses",
      "note": "Reports nearly 7,000 crypto investment scam complaints and more than $80 million lost since October 2020, a $1,900 median loss, more than $2 million sent to Elon Musk impersonators, the giveaway scam pattern and the FTC’s warning that guaranteed returns are always scams.",
      "checkedAt": "2026-10-02T15:14:04.914361+00:00",
      "contentSha256": "88f58d02aa7d516d9d52a60caeb4161a033e4537b390d5c3d4de0aa964c5ba95",
      "locator": "Reports nearly 7,000 crypto investment scam complaints and more than $80 million lost since October 2020, a $1,900 median loss, more than $2 million sent to Elon Musk impersonators, the giveaway scam pattern and the FTC’s warning that guaranteed returns are always scams.",
      "recordId": "source-9551d44a4c282193",
      "version": null
    },
    {
      "id": "doj-shavers",
      "label": "Texas man sentenced for operating Bitcoin Ponzi scheme",
      "publisher": "US Department of Justice",
      "url": "https://www.justice.gov/usao-sdny/pr/texas-man-sentenced-operating-bitcoin-ponzi-scheme",
      "note": "21 July 2016 sentencing release: 18 months; approximately 146,000 BTC fraudulently obtained in the criminal case; old investors paid with new deposits.",
      "locator": "21 July 2016 sentencing release: 18 months; approximately 146,000 BTC fraudulently obtained in the criminal case; old investors paid with new deposits.",
      "checkedAt": "2026-10-02T15:14:04.914191+00:00",
      "contentSha256": "187ada94e82643ba81a4cf71b8fa00e178a28dd1976488913d1667940af1a5e2",
      "recordId": "source-27ad09d9672dc456",
      "version": null
    },
    {
      "id": "doj-bitconnect",
      "label": "Director and promoter of BitConnect pleads guilty",
      "publisher": "US Department of Justice",
      "url": "https://www.justice.gov/usao-sdca/pr/director-and-promoter-bitconnect-pleads-guilty-global-2-billion-cryptocurrency-scheme",
      "note": "1 September 2021 plea release: Arcaro admitted participation in a scheme defrauding investors of more than $2 billion; trading-bot representations and referral program.",
      "locator": "1 September 2021 plea release: Arcaro admitted participation in a scheme defrauding investors of more than $2 billion; trading-bot representations and referral program.",
      "checkedAt": "2026-10-02T15:14:04.914288+00:00",
      "contentSha256": "0899449281f45bfcee15fa2c53d1f73267da17d133ae032aacf57ef3628928e2",
      "recordId": "source-7d81b68f98262ec7",
      "version": null
    },
    {
      "id": "core-code",
      "label": "GetBlockSubsidy in validation.cpp (pinned commit)",
      "publisher": "Bitcoin Core, GitHub",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/128456b62d5e38abea031f97f823d5b28aef9357/src/validation.cpp",
      "note": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years.",
      "checkedAt": "2026-10-02T14:50:00.609820+00:00",
      "contentSha256": "f96522f7528393e09462faa1ac2e5c89f4f2a149ec554ff978a331a8edec852b",
      "version": "128456b62d5e38abea031f97f823d5b28aef9357",
      "locator": "The consensus function: height divided by the 210,000-block interval, a guard that forces the reward to zero after 64 halvings, a 50 BTC start and a right shift per halving, with the code comment about roughly four years.",
      "recordId": "source-5192314b264f4b92"
    },
    {
      "id": "halvings-dossier",
      "label": "Bitcoin Halvings and the 21 Million Supply: Code, Blocks and Data",
      "publisher": "Degrees of Satoshi",
      "issued": "2026-08-08",
      "url": "https://degreesofsatoshi.com/history/bitcoin-halvings-and-supply/",
      "note": "The exact maximum of 2,099,999,997,690,000 satoshis, the four boundary blocks with dates, the zero-subsidy boundary at height 6,930,000, daily issuance per era, and the distinction between maximum, issued, spendable and liquid supply.",
      "checkedAt": "2026-10-02T14:49:59.657636+00:00",
      "contentSha256": "8ec75ce3fef62b300fb8eb8b3d5a290f940bbb27c3a4faf00f56d59163205859",
      "locator": "The exact maximum of 2,099,999,997,690,000 satoshis, the four boundary blocks with dates, the zero-subsidy boundary at height 6,930,000, daily issuance per era, and the distinction between maximum, issued, spendable and liquid supply.",
      "recordId": "source-e05395c96e2827a2",
      "version": null
    },
    {
      "id": "wiki-controlled-supply",
      "label": "Controlled supply",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Controlled_supply",
      "note": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140.",
      "checkedAt": "2026-10-02T14:49:59.692737+00:00",
      "contentSha256": "9d3997ed0250ea305d08f0672db23dd37c3472bcd48e8e198912e4f5718e1185",
      "locator": "The 20,999,999.9769 figure, the cumulative supply table by era (19,687,500 BTC at block 840,000 and 20,671,875 BTC after the era beginning at block 1,050,000), and projections placing the last new coin in 2140.",
      "recordId": "source-3334edaebb43b0cb",
      "version": null
    },
    {
      "id": "coinmetrics-csv",
      "label": "Coin Metrics community network data for Bitcoin, btc.csv (pinned commit)",
      "publisher": "Coin Metrics, GitHub",
      "url": "https://raw.githubusercontent.com/coinmetrics-io/data/f1a36afb962731c387bb03982758ab0103063da5/csv/btc.csv",
      "note": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces.",
      "checkedAt": "2026-10-02T15:14:09.049051+00:00",
      "contentSha256": "06495ff8e643432e6948b7b4686ce44fc106217287dabdc1b38351d9ddec46c3",
      "version": "f1a36afb962731c387bb03982758ab0103063da5",
      "locator": "The upstream daily PriceUSD series, including the first observation of $0.08584 on 18 July 2010 and the 31 December values the dataset reproduces.",
      "recordId": "source-1e5b519ef4fecde0"
    },
    {
      "id": "bip42",
      "label": "BIP 42: A finite monetary supply for Bitcoin",
      "publisher": "Bitcoin Improvement Proposals",
      "author": "Pieter Wuille",
      "issued": "2014-04-01",
      "url": "https://bips.dev/42/",
      "note": "Explains that the original subsidy code relied on undefined C++ shift behavior that would have restarted the reward after 64 halvings, and the fix that keeps the supply finite.",
      "checkedAt": "2026-10-02T14:50:00.061140+00:00",
      "contentSha256": "838594e2f371d3e97a2cb155b4c452676be135ce49637bef95179642e69eab5f",
      "locator": "Explains that the original subsidy code relied on undefined C++ shift behavior that would have restarted the reward after 64 halvings, and the fix that keeps the supply finite.",
      "recordId": "source-b9d38638a961fafc",
      "version": null
    },
    {
      "id": "genesis-wallet",
      "label": "Block 0: The Coinbase Bitcoin’s Own Code Will Never Spend",
      "publisher": "Degrees of Satoshi wallet library",
      "issued": "2026-08-06",
      "url": "https://degreesofsatoshi.com/wallet/genesis-block-coinbase-block-0/",
      "note": "The genesis reward was never entered into the spendable-output database, so no node will validate a transaction spending it; whether that was deliberate is not established.",
      "checkedAt": "2026-10-02T14:50:00.217519+00:00",
      "contentSha256": "c2d6957ac4c56c981e073c83c2d84e67e011fa61debd1b134e353f1e4224f91d",
      "locator": "The genesis reward was never entered into the spendable-output database, so no node will validate a transaction spending it; whether that was deliberate is not established.",
      "recordId": "source-3cdf5ae8fa8c507d",
      "version": null
    },
    {
      "id": "core-script",
      "label": "Bitcoin Core script rules",
      "publisher": "Bitcoin Core",
      "url": "https://raw.githubusercontent.com/bitcoin/bitcoin/69142eacd1374925cc9e4ea736c21fcec16307d0/src/script/script.h",
      "note": "CScript::IsUnspendable checks scripts beginning with OP_RETURN and oversized scripts; this differs from an address whose key is merely unknown.",
      "locator": "CScript::IsUnspendable checks scripts beginning with OP_RETURN and oversized scripts; this differs from an address whose key is merely unknown.",
      "checkedAt": "2026-10-02T15:14:08.884805+00:00",
      "contentSha256": "43e4eb10ee85ac31996e257d0c5dc45cbe3b29b2d61d1a72d101453ba64ded01",
      "version": "69142eacd1374925cc9e4ea736c21fcec16307d0",
      "recordId": "source-3f322e943fdd7d0c"
    },
    {
      "id": "howells-judgment",
      "label": "Howells v Newport City Council [2025] EWHC 22 (Ch)",
      "publisher": "The National Archives, Find Case Law",
      "author": "His Honour Judge Keyser KC",
      "issued": "2025-01-09",
      "url": "https://caselaw.nationalarchives.gov.uk/ewhc/ch/2025/22",
      "note": "Judgment of 9 January 2025 recording the claimant’s alleged drive contents and dismissing his claim; the quantity alleged is not separately established key control.",
      "checkedAt": "2026-10-02T14:50:02.533272+00:00",
      "contentSha256": "8bb8351fdd097f39ada7d6e6756063ee1f205b6a4687f8c6f60b85eadf7a257d",
      "locator": "Judgment of 9 January 2025 recording the claimant’s alleged drive contents and dismissing his claim; the quantity alleged is not separately established key control.",
      "recordId": "source-64e803d81a556ac6",
      "version": null
    },
    {
      "id": "lerner-2019",
      "label": "The Return of the Deniers and the Revenge of Patoshi",
      "publisher": "Bitslog",
      "author": "Sergio Demian Lerner",
      "issued": "2019-04-16",
      "url": "https://bitslog.com/2019/04/16/the-return-of-the-deniers-and-the-revenge-of-patoshi/",
      "note": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent.",
      "checkedAt": "2026-10-02T14:50:02.159077+00:00",
      "contentSha256": "79c58e79f0c37d94a12667d12fa9ed66f683f47af62dbc25ad98d63d6eed66a0",
      "locator": "The restricted nonce byte range, 27,680 of the first 50,000 blocks in that range against about 10,000 expected, the solution of about 22,000 blocks, zero timestamp inversions among Patoshi blocks versus 224 elsewhere, and 99.9 percent unspent.",
      "recordId": "source-185e3ba0b4f9d9c3",
      "version": null
    },
    {
      "id": "cbeci-comparisons",
      "label": "Cambridge Bitcoin Electricity Consumption Index: Comparisons",
      "publisher": "Cambridge Centre for Alternative Finance (ccaf.io)",
      "url": "https://ccaf.io/cbnsi/cbeci/comparisons",
      "note": "Sets out the caveats on comparing Bitcoin with countries and industries, the age of the gold-mining data, and the argument that mining can use surplus energy that would otherwise be lost or wasted.",
      "checkedAt": "2026-10-02T15:33:16.866854+00:00",
      "contentSha256": "74a5ca6a0b1c09bd6eb2c5f3e546b46c77385921a378e667f8fa3faaae5e9f60",
      "locator": "Sets out the caveats on comparing Bitcoin with countries and industries, the age of the gold-mining data, and the argument that mining can use surplus energy that would otherwise be lost or wasted.",
      "recordId": "source-f9dc7cef7e77f8ab",
      "version": null
    },
    {
      "id": "eia-analysis",
      "label": "Tracking electricity consumption from U.S. cryptocurrency mining operations",
      "publisher": "U.S. Energy Information Administration, Today in Energy",
      "issued": "2024-02-01",
      "url": "https://www.eia.gov/todayinenergy/detail.php?id=61364",
      "note": "The EIA’s preliminary estimate of 0.6% to 2.3% of U.S. electricity, 25 to 91 TWh a year, the 137 facilities identified and 10,275 MW of capacity, and its caveats about wide bounds and mobile operations.",
      "checkedAt": "2026-10-02T14:49:57.611779+00:00",
      "contentSha256": "05cb7ad1504edc1676d26fa171998f022cc854889e8ce1d52b0f74949726db33",
      "locator": "The EIA’s preliminary estimate of 0.6% to 2.3% of U.S. electricity, 25 to 91 TWh a year, the 137 facilities identified and 10,275 MW of capacity, and its caveats about wide bounds and mobile operations.",
      "recordId": "source-efc3bac3f20244d5",
      "version": null
    },
    {
      "id": "nature-jiang-2021",
      "label": "Policy assessments for the carbon emission flows and sustainability of Bitcoin blockchain operation in China",
      "publisher": "Nature Communications (DOI 10.1038/s41467-021-22256-3)",
      "author": "Shangrong Jiang, Yuze Li, Quanying Lu, Yongmiao Hong, Dabo Guan, Yu Xiong, Shouyang Wang",
      "issued": "2021-04-06",
      "url": "https://www.nature.com/articles/s41467-021-22256-3",
      "note": "Peer-reviewed model computing energy from hash rate, hardware efficiency and power usage effectiveness, projecting a 2024 Chinese peak of 296.59 TWh and 130.50 million metric tons of CO2 absent policy change.",
      "checkedAt": "2026-10-02T14:50:01.944453+00:00",
      "contentSha256": "c4e364b50d97fdc3d669b278e47d1d9a6b97b989a46bc67795badbec10f6498d",
      "locator": "Peer-reviewed model computing energy from hash rate, hardware efficiency and power usage effectiveness, projecting a 2024 Chinese peak of 296.59 TWh and 130.50 million metric tons of CO2 absent policy change.",
      "recordId": "source-ea5a12b26f55c8eb",
      "version": null
    },
    {
      "id": "ccaf-2025-report",
      "label": "Cambridge study: sustainable energy rising in Bitcoin mining",
      "publisher": "Cambridge Judge Business School, Cambridge Centre for Alternative Finance",
      "issued": "2025-04-28",
      "url": "https://www.jbs.cam.ac.uk/2025/cambridge-study-sustainable-energy-rising-in-bitcoin-mining/",
      "note": "Summary of the Cambridge Digital Mining Industry Report: 52.4% sustainable power, gas and coal shares, 49 firms covering about 48% of mining, 138 TWh a year and 39.8 million metric tons CO2e.",
      "checkedAt": "2026-10-02T14:49:57.752323+00:00",
      "contentSha256": "b2d0c51fcbfac47c23b354fde8b068af23bbe975517962a0c8bcd4f1014ac17f",
      "locator": "Summary of the Cambridge Digital Mining Industry Report: 52.4% sustainable power, gas and coal shares, 49 firms covering about 48% of mining, 138 TWh a year and 39.8 million metric tons CO2e.",
      "recordId": "source-d627ab267525219e",
      "version": null
    },
    {
      "id": "dormant-page",
      "label": "Dormant Bitcoin Addresses: Nine On-Chain Records",
      "publisher": "Degrees of Satoshi wallet library",
      "issued": "2026-08-10",
      "url": "https://degreesofsatoshi.com/wallet/dormant-bitcoin-addresses/",
      "note": "Defines dormancy as an observation about outgoing transactions; nine addresses holding about 177,416 BTC at the 6 August 2026 snapshot; the warning that early dates and large balances do not establish any relationship to a named person.",
      "checkedAt": "2026-10-02T14:50:00.233170+00:00",
      "contentSha256": "94b7fd4805048a47a2c2ff0bac618f1974c7503a5e88d70d4e6cfe9a86ae870a",
      "locator": "Defines dormancy as an observation about outgoing transactions; nine addresses holding about 177,416 BTC at the 6 August 2026 snapshot; the warning that early dates and large balances do not establish any relationship to a named person.",
      "recordId": "source-320ddfb252f2ae6d",
      "version": null
    },
    {
      "id": "coindesk-galaxy",
      "label": "Satoshi-Era Bitcoin Whale Moves Final $4.8B to Galaxy Digital, Likely Prepping Sale",
      "publisher": "CoinDesk",
      "author": "Shaurya Malwa",
      "issued": "2025-07-18",
      "url": "https://www.coindesk.com/markets/2025/07/18/satoshi-era-bitcoin-whale-moves-final-48b-to-galaxy-digital-likely-prepping-sale",
      "note": "The final 40,191 BTC tranche to Galaxy Digital on 18 July 2025, reactivation from 4 July, Galaxy routing coins to exchanges, and the caveat that sending to a desk does not confirm a sale.",
      "checkedAt": "2026-10-02T14:50:09.414556+00:00",
      "contentSha256": "293422e6407e8e7d57038992a62daa3079102e2188055204d42a1bee2995d208",
      "locator": "The final 40,191 BTC tranche to Galaxy Digital on 18 July 2025, reactivation from 4 July, Galaxy routing coins to exchanges, and the caveat that sending to a desk does not confirm a sale.",
      "recordId": "source-b33fcf817eae021c",
      "version": null
    },
    {
      "id": "galaxy-pr",
      "label": "Galaxy Executes One of the Largest Notional Bitcoin Transactions Ever",
      "publisher": "Galaxy Digital, via PR Newswire",
      "issued": "2025-07-25",
      "url": "https://www.prnewswire.com/news-releases/galaxy-executes-one-of-the-largest-notional-bitcoin-transactions-ever-302514123.html",
      "note": "Galaxy’s statement that it sold more than 80,000 bitcoin, worth over $9 billion, for a Satoshi-era investor as part of that investor’s estate planning.",
      "checkedAt": "2026-10-02T14:50:05.066093+00:00",
      "contentSha256": "cc2bb9b42dffe23d3bdd122e0be5b72b5961d1519563f252c01f3960dc699a21",
      "locator": "Galaxy’s statement that it sold more than 80,000 bitcoin, worth over $9 billion, for a Satoshi-era investor as part of that investor’s estate planning.",
      "recordId": "source-07be227bd59063bc",
      "version": null
    },
    {
      "id": "whale-wallet",
      "label": "2011 Eight-Wallet Whale (awakened July 2025)",
      "publisher": "Degrees of Satoshi wallet library",
      "issued": "2026-08-06",
      "url": "https://degreesofsatoshi.com/wallet/2011-eight-wallet-whale-awakened-july-2025/",
      "note": "The dossier’s timeline from 4 July to 25 July 2025 and its list of what remains unknown, including that the owner has never been identified and that Galaxy named no addresses.",
      "checkedAt": "2026-10-02T14:50:02.542118+00:00",
      "contentSha256": "b349646ab577d399d29559458cae9e71be3b910fa1560a133d7f04a66d594fed",
      "locator": "The dossier’s timeline from 4 July to 25 July 2025 and its list of what remains unknown, including that the owner has never been identified and that Galaxy named no addresses.",
      "recordId": "source-309b45a46ef636f6",
      "version": null
    },
    {
      "id": "bdd-wiki",
      "label": "Bitcoin Days Destroyed",
      "publisher": "Bitcoin Wiki",
      "url": "https://en.bitcoin.it/wiki/Bitcoin_Days_Destroyed",
      "note": "Definition and worked example: coins multiplied by days since last spent, so 100 BTC received a week ago and spent destroys 700 bitcoin days.",
      "checkedAt": "2026-10-02T14:50:02.650254+00:00",
      "contentSha256": "065d21cd827ca1c1634359c80092b6e38395fe21f56af79fef84f4127c4e6618",
      "locator": "Definition and worked example: coins multiplied by days since last spent, so 100 BTC received a week ago and spent destroys 700 bitcoin days.",
      "recordId": "source-7cba406e5f684e92",
      "version": null
    },
    {
      "id": "smith-dormancy",
      "label": "Bitcoin Average Dormancy: A Measure of Turnover and Trading Activity",
      "publisher": "arXiv",
      "author": "Reginald D. Smith",
      "issued": "2017-12",
      "url": "https://arxiv.org/abs/1712.10287",
      "note": "Shows that bitcoin days destroyed can be used to compute the average dormancy, the time since last use, of the coins moving in a given period.",
      "checkedAt": "2026-10-02T14:50:02.569492+00:00",
      "contentSha256": "1969b282e81260fa91d6b8ab404e81964b659d9f47e447272c7379daaccdb7b0",
      "locator": "Shows that bitcoin days destroyed can be used to compute the average dormancy, the time since last use, of the coins moving in a given period.",
      "recordId": "source-8a3505f6d9bca1e4",
      "version": null
    },
    {
      "id": "address-graph",
      "label": "A Transaction-Graph Census of 1.53 Billion Bitcoin Address Records",
      "publisher": "Degrees of Satoshi research",
      "url": "https://degreesofsatoshi.com/research/bitcoin-address-graph/",
      "note": "Path tracing from 28,583 early coinbase addresses across 1.53 billion address records through block 960,000, the 89.16 percent reachability figure, and the statement that graph proximity does not establish ownership or identity.",
      "checkedAt": "2026-10-02T14:50:03.858732+00:00",
      "contentSha256": "899b7e26f0c0858db175943619967d54edc784ea01685da95f65cb36f461ff29",
      "locator": "Path tracing from 28,583 early coinbase addresses across 1.53 billion address records through block 960,000, the 89.16 percent reachability figure, and the statement that graph proximity does not establish ownership or identity.",
      "recordId": "source-905ab634c8c31644",
      "version": null
    },
    {
      "id": "lerner-2020",
      "label": "The Patoshi Mining Machine",
      "publisher": "Bitslog",
      "author": "Sergio Demian Lerner",
      "issued": "2020-08-22",
      "url": "https://bitslog.com/2020/08/22/the-patoshi-mining-machine/",
      "note": "Lerner’s 2020 re-mining analysis and proposed parallel nonce-search explanation; an inference about an unknown implementation, not direct machine identification.",
      "checkedAt": "2026-10-02T14:50:03.860295+00:00",
      "contentSha256": "24177403c55362f1ff2cbf2c061b7795a49f7aa193e8445d750c0ccc1a3c03cc",
      "locator": "Lerner’s 2020 re-mining analysis and proposed parallel nonce-search explanation; an inference about an unknown implementation, not direct machine identification.",
      "recordId": "source-389c3401657084ac",
      "version": null
    },
    {
      "id": "patoshi-wallet",
      "label": "Patoshi: The Nonce Fingerprint Across Bitcoin’s First 50,000 Blocks",
      "publisher": "Degrees of Satoshi wallet library",
      "issued": "2026-08-06",
      "url": "https://degreesofsatoshi.com/wallet/patoshi-pattern-early-mining-set-2009-2010/",
      "note": "The site’s criteria for the set, the competing estimates from Lerner, Whale Alert and BitMEX Research, the spent and unspent counts, and the attribution caveats including Lerner’s “unsigned emails and not math” remark.",
      "checkedAt": "2026-10-02T14:50:04.563373+00:00",
      "contentSha256": "f5398ba42f5d3a70344f78fffc276c9baf75c1f793d933657ea93fc96b3f7c06",
      "locator": "The site’s criteria for the set, the competing estimates from Lerner, Whale Alert and BitMEX Research, the spent and unspent counts, and the attribution caveats including Lerner’s “unsigned emails and not math” remark.",
      "recordId": "source-8249aebb799c0bcb",
      "version": null
    },
    {
      "id": "plos-one",
      "label": "Strangely mined bitcoins: Empirical analysis of anomalies in the bitcoin blockchain transaction network",
      "publisher": "PLoS ONE, via PubMed Central",
      "author": "María Óskarsdóttir and Jacky Mallett",
      "issued": "2021",
      "url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC8483420/",
      "note": "Peer-reviewed paper, DOI 10.1371/journal.pone.0258001, confirming the extended Patoshi anomaly in the first 64 blocks, crediting Lerner, and finding the anomaly recurring in later periods.",
      "checkedAt": "2026-10-02T14:50:07.524926+00:00",
      "contentSha256": "da048157de5271f425076b57f89ae2e7060d1bd783a9730aa364d9780f4771fc",
      "locator": "Peer-reviewed paper, DOI 10.1371/journal.pone.0258001, confirming the extended Patoshi anomaly in the first 64 blocks, crediting Lerner, and finding the anomaly recurring in later periods.",
      "recordId": "source-e4b013c73a3cf63b",
      "version": null
    },
    {
      "id": "blackburn",
      "label": "Cooperation among an anonymous group protected Bitcoin during failures of decentralization",
      "publisher": "arXiv",
      "author": "Alyssa Blackburn and colleagues",
      "issued": "2022-06",
      "url": "https://arxiv.org/abs/2206.02871",
      "note": "Finds that most bitcoin between launch and 9 February 2011 was mined by sixty-four agents, using an address-linking procedure the authors report at over 99 percent sensitivity and specificity.",
      "checkedAt": "2026-10-02T14:50:06.746740+00:00",
      "contentSha256": "9cf7cc7da469288ddf5ea6ab85b9c3bd7bc715d303de0f17bfbecedb43d1dc0d",
      "locator": "Finds that most bitcoin between launch and 9 February 2011 was mined by sixty-four agents, using an address-linking procedure the authors report at over 99 percent sensitivity and specificity.",
      "recordId": "source-19277a7046160c3a",
      "version": null
    },
    {
      "id": "satoshi-2009",
      "label": "Re: Repost: How anonymous are bitcoins?",
      "publisher": "Satoshi Nakamoto Institute, BitcoinTalk archive",
      "author": "Satoshi Nakamoto",
      "issued": "2009-11-25",
      "url": "https://satoshi.nakamotoinstitute.org/posts/bitcointalk/11/",
      "note": "Satoshi’s advice to use each address only once, what a transaction reveals when identities are unknown, and running the software through Tor.",
      "checkedAt": "2026-10-02T14:50:06.842563+00:00",
      "contentSha256": "e061a5ae37b109db1cef9a7e012ac87666560df2ebb0aabd2aaa294178ff8d92",
      "locator": "Satoshi’s advice to use each address only once, what a transaction reveals when identities are unknown, and running the software through Tor.",
      "recordId": "source-dfe971f5ba992266",
      "version": null
    },
    {
      "id": "meiklejohn",
      "label": "A Fistful of Bitcoins: Characterizing Payments Among Men with No Names",
      "publisher": "Internet Measurement Conference 2013, author copy at UC San Diego",
      "author": "Sarah Meiklejohn, Marjori Pomarole, Grant Jordan, Kirill Levchenko, Damon McCoy, Geoffrey M. Voelker and Stefan Savage",
      "issued": "2013-10",
      "url": "https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf",
      "note": "DOI 10.1145/2504730.2504747. The shared-input and change-address clustering heuristics, re-identification by transacting with known services, the parse of 231,207 blocks, and the subpoena-power conclusion.",
      "checkedAt": "2026-10-02T15:04:18.561372+00:00",
      "contentSha256": "b76ba4d71be7879463609160fc0b2ad9a933804eb2b5e70c63981f23d18aa97d",
      "locator": "DOI 10.1145/2504730.2504747. The shared-input and change-address clustering heuristics, re-identification by transacting with known services, the parse of 231,207 blocks, and the subpoena-power conclusion.",
      "recordId": "source-17bdea7b67cd679e",
      "version": null
    },
    {
      "id": "doj-verdict",
      "label": "Ross Ulbricht, the Creator and Owner of the “Silk Road” Website, Found Guilty in Manhattan Federal Court on All Counts",
      "publisher": "US Department of Justice, Southern District of New York",
      "issued": "2015-02-05",
      "url": "https://www.justice.gov/archive/usao/nys/pressreleases/February15/UlbrichtRossVerdictPR.php?print=1",
      "note": "The 4 February 2015 conviction on all seven counts, Silk Road’s bitcoin-based payment system designed to conceal identities, and commissions of more than $13 million.",
      "checkedAt": "2026-10-02T14:50:07.866009+00:00",
      "contentSha256": "5d9da8c5efaedd133fe500976f1e9ca124dc088db5b1d7b70d1c3a30672a5736",
      "locator": "The 4 February 2015 conviction on all seven counts, Silk Road’s bitcoin-based payment system designed to conceal identities, and commissions of more than $13 million.",
      "recordId": "source-fb61b7f4301942ef",
      "version": null
    },
    {
      "id": "forfeiture-complaint",
      "label": "Complaint for Forfeiture, United States v. Approximately 69,370 Bitcoin, No. 3:20-cv-07811 (N.D. Cal.)",
      "publisher": "CourtListener, RECAP archive",
      "issued": "2020-11-05",
      "url": "https://storage.courtlistener.com/recap/gov.uscourts.cand.368440/gov.uscourts.cand.368440.1.0.pdf",
      "note": "Describes Silk Road’s tumbler, the 54 transfers totaling 70,411.46 BTC found with a third-party attribution company, the 2,500 BTC pattern, the April 2013 consolidation, the 2015 BTC-e transfer, Individual X and the 3 November 2020 consent to forfeiture.",
      "checkedAt": "2026-10-02T15:04:18.561547+00:00",
      "contentSha256": "d84feffa8cd8705bc5918667aa6a53413ae61affdd2406c4955e850b71047e12",
      "locator": "Describes Silk Road’s tumbler, the 54 transfers totaling 70,411.46 BTC found with a third-party attribution company, the 2,500 BTC pattern, the April 2013 consolidation, the 2015 BTC-e transfer, Individual X and the 3 November 2020 consent to forfeiture.",
      "recordId": "source-64fdea4b65d0e0af",
      "version": null
    },
    {
      "id": "chainalysis-silk-road",
      "label": "Chainalysis in Action: US Government Agencies Seize More Than $1 Billion in Cryptocurrency Connected to Infamous Darknet Market Silk Road",
      "publisher": "Chainalysis",
      "issued": "2020-11-05",
      "url": "https://www.chainalysis.com/blog/silk-road-doj-seizure-november-2020/",
      "note": "The analytics firm’s own account that its Reactor software was used to follow the 69,370 BTC from Silk Road through an intermediary to Individual X’s address.",
      "checkedAt": "2026-10-02T14:50:07.904548+00:00",
      "contentSha256": "186ab7602a4af9190c5fcb796e24b7ad431daf079b3041c0540aec378ccafdc2",
      "locator": "The analytics firm’s own account that its Reactor software was used to follow the 69,370 BTC from Silk Road through an intermediary to Individual X’s address.",
      "recordId": "source-32a86eb12f951a6e",
      "version": null
    },
    {
      "id": "mempool-readme",
      "label": "The Mempool Open Source Project (README)",
      "publisher": "mempool/mempool on GitHub",
      "url": "https://github.com/mempool/mempool",
      "note": "Describes mempool.space as a mempool visualizer, explorer and API service, and encourages self-hosting on hardware from a Raspberry Pi upward.",
      "checkedAt": "2026-10-02T14:50:00.894168+00:00",
      "contentSha256": "ba87cec0b1a290626512d5ac64db5036476139eabac8ff5794e5ffc41db311b5",
      "locator": "Describes mempool.space as a mempool visualizer, explorer and API service, and encourages self-hosting on hardware from a Raspberry Pi upward.",
      "recordId": "source-2dc6e0741a5c695f",
      "version": null
    },
    {
      "id": "mempool-faq-source",
      "label": "mempool.space FAQ (source template, api-docs.component.html)",
      "publisher": "mempool/mempool on GitHub",
      "url": "https://raw.githubusercontent.com/mempool/mempool/4f478a57635fa97cdb1434736647bc651f35145c/frontend/src/app/docs/api-docs/api-docs.component.html",
      "note": "The source text of the FAQ shown at mempool.space/docs/faq: definitions of a mempool and a block explorer, the note that every node keeps its own mempool, fee rates in sat/vB, larger transactions paying more, and the advice that a stuck transaction will either confirm or not.",
      "checkedAt": "2026-10-02T15:04:15.275517+00:00",
      "contentSha256": "14b69113a5917df0d7ab5e13fc16f0c88706efd0647d073e4033332bcb9bc946",
      "version": "4f478a57635fa97cdb1434736647bc651f35145c",
      "locator": "The source text of the FAQ shown at mempool.space/docs/faq: definitions of a mempool and a block explorer, the note that every node keeps its own mempool, fee rates in sat/vB, larger transactions paying more, and the advice that a stuck transaction will either confirm or not.",
      "recordId": "source-0a2e216299208355"
    },
    {
      "id": "esplora-api",
      "label": "Esplora HTTP API",
      "publisher": "Blockstream/esplora on GitHub",
      "url": "https://raw.githubusercontent.com/Blockstream/esplora/bb2d9f37bdb0eb0dade45b121a1df3581d7443ea/API.md",
      "note": "Documents the transaction status object (confirmed, block_height null when unconfirmed, block_time), and the address statistics for confirmed and mempool activity, including funded and spent output sums.",
      "checkedAt": "2026-10-02T15:04:15.285075+00:00",
      "contentSha256": "146f21525d10b5b344a045006319a16b9d7758d6198f3918f07d64601a26b913",
      "version": "bb2d9f37bdb0eb0dade45b121a1df3581d7443ea",
      "locator": "Documents the transaction status object (confirmed, block_height null when unconfirmed, block_time), and the address statistics for confirmed and mempool activity, including funded and spent output sums.",
      "recordId": "source-2534f9b512b6d55b"
    },
    {
      "id": "coinmetrics-methodology",
      "label": "Coin Metrics Prices Methodology",
      "publisher": "Coin Metrics documentation",
      "url": "https://gitbook-docs.coinmetrics.io/coin-metrics-prices/methodologies/coin-metrics-prices-methodology.md",
      "note": "How the reference rate is built: market selection by volume and quality, exclusion of prices more than 3 percent from the median, volume-weighted medians per minute and a 61-minute time-weighted average.",
      "checkedAt": "2026-10-02T14:50:09.350881+00:00",
      "contentSha256": "5abb8595527208e3e92670cfd34780f92ff58c4d7b61017649618f48f74d18e8",
      "locator": "How the reference rate is built: market selection by volume and quality, exclusion of prices more than 3 percent from the median, volume-weighted medians per minute and a 61-minute time-weighted average.",
      "recordId": "source-e9cc184997d2da09",
      "version": null
    },
    {
      "id": "market-cycles",
      "label": "Bitcoin Market Cycles and the Power-Law Debate: Rallies, Drawdowns and Evidence",
      "publisher": "Degrees of Satoshi",
      "url": "https://degreesofsatoshi.com/history/bitcoin-market-cycles-and-power-law/",
      "note": "The four drawdowns of more than 76 percent with their recovery times, the post-halving returns, and the finding that the log-log fit is descriptive, not predictive.",
      "checkedAt": "2026-10-02T14:50:07.902588+00:00",
      "contentSha256": "e5be0189b7b1a305794a0e8f8b0a743062807a8904833a6042eb02ea81842986",
      "locator": "The four drawdowns of more than 76 percent with their recovery times, the post-halving returns, and the finding that the log-log fit is descriptive, not predictive.",
      "recordId": "source-f1b53283e887b5ed",
      "version": null
    },
    {
      "id": "mtgox",
      "label": "The Mt. Gox Collapse: Losses, Wallets and a Decade of Repayments",
      "publisher": "Degrees of Satoshi",
      "url": "https://degreesofsatoshi.com/history/mt-gox-collapse/",
      "note": "Withdrawals suspended in February 2014, civil rehabilitation on 28 February 2014, about 850,000 BTC reported missing, 199,999.99 BTC found on 7 March 2014, and the creditor process into 2025.",
      "checkedAt": "2026-10-02T14:50:08.240935+00:00",
      "contentSha256": "e8f0d8d608cf0b9ab2c47d88b4e4ac67aa76e842ff74581b71c0dc16022ad1b9",
      "locator": "Withdrawals suspended in February 2014, civil rehabilitation on 28 February 2014, about 850,000 BTC reported missing, 199,999.99 BTC found on 7 March 2014, and the creditor process into 2025.",
      "recordId": "source-cfb64a157bcae532",
      "version": null
    },
    {
      "id": "etfs",
      "label": "U.S. Spot Bitcoin ETFs: Trust Ownership, Brokerage Access and the 2024 Launch",
      "publisher": "Degrees of Satoshi",
      "url": "https://degreesofsatoshi.com/history/us-spot-bitcoin-etfs/",
      "note": "SEC approval of eleven proposals on 10 January 2024, first trading on 11 January 2024, the order’s wording that it approved listings rather than endorsing bitcoin, and holdings of about 1.214 million BTC across five trusts on 31 December 2025.",
      "checkedAt": "2026-10-02T14:50:08.295413+00:00",
      "contentSha256": "271929cc01b9ed54369e667d94f92d7b25a10bf70560ca68611b753929d14283",
      "locator": "SEC approval of eleven proposals on 10 January 2024, first trading on 11 January 2024, the order’s wording that it approved listings rather than endorsing bitcoin, and holdings of about 1.214 million BTC across five trusts on 31 December 2025.",
      "recordId": "source-9d845f6b2914c331",
      "version": null
    }
  ]
}
