{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-core-explained",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-core-explained/",
  "collection": "bitcoin",
  "title": "Bitcoin Core explained: node software, wallet and RPC interface",
  "description": "Understand the roles of Bitcoin Core’s node, optional wallets and RPC interface without confusing running software with earning bitcoin.",
  "aliases": [
    "what is bitcoin core",
    "what is bitcoin core explained"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T19:29:20.637Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "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.",
    "claimId": "bitcoin-core-explained-quick-answer",
    "sourceIds": [
      "x425-btc-core-running",
      "x425-btc-core-rpc",
      "x425-btc-core-files"
    ]
  },
  "keyFacts": [
    {
      "label": "Node role",
      "value": "Maintain and validate a chain view",
      "sourceIds": [
        "x425-btc-core-running"
      ],
      "id": "node-role",
      "claimId": "bitcoin-core-explained-fact-node-role"
    },
    {
      "label": "Wallet role",
      "value": "Manage relevant keys, scripts and transactions",
      "sourceIds": [
        "x425-btc-core-files"
      ],
      "id": "wallet-role",
      "claimId": "bitcoin-core-explained-fact-wallet-role"
    },
    {
      "label": "RPC role",
      "value": "Allow authorized programs to control the software",
      "sourceIds": [
        "x425-btc-core-rpc"
      ],
      "id": "rpc-role",
      "claimId": "bitcoin-core-explained-fact-rpc-role"
    }
  ],
  "prerequisites": [
    "bitcoin-nodes-explained",
    "pruned-bitcoin-nodes"
  ],
  "sections": [
    {
      "id": "components",
      "heading": "Separate the jobs performed by one installation",
      "sourceIds": [
        "x425-btc-core-rpc",
        "x425-btc-core-files"
      ],
      "paragraphs": [
        "A Core process can communicate with Bitcoin peers while a wallet tracks only the outputs relevant to its keys and scripts. The block database and wallet database are separate parts of the data directory. Losing one has different consequences from losing the other.",
        "The cited RPC interface documents both general endpoints and wallet-specific endpoints. More than one wallet can be loaded, so an application must identify which wallet it intends to query or control."
      ]
    },
    {
      "id": "example",
      "heading": "A node can run without holding your spending keys",
      "sourceIds": [
        "x425-btc-core-running",
        "x425-btc-core-rpc"
      ],
      "paragraphs": [
        "Imagine a household node serving a separate wallet application. The node supplies a validated chain view, while another device signs transactions. The node’s online presence does not itself imply that it can spend the household’s funds.",
        "Conversely, a Core wallet with usable keys is sensitive even though it lives alongside public chain data. Protect its backups and privileged control interface."
      ]
    },
    {
      "id": "choices",
      "heading": "Read the configuration with the role in mind",
      "sourceIds": [
        "x425-btc-core-init",
        "x425-btc-core-getblockchaininfo"
      ],
      "paragraphs": [
        "Pruning affects historical block retention; wallet settings affect key and transaction management; synchronization options can affect which historical checks are performed under configured assumptions. A label such as full node does not replace reading those settings.",
        "Core reports its selected chain and synchronization state. Confirm those before using it as the basis for a payment decision, particularly after initial setup or a long offline period."
      ]
    }
  ],
  "faq": [
    {
      "question": "Do I earn bitcoin by running Bitcoin Core?",
      "answer": "No. Running a validating node has no built-in block reward. Mining constructs candidate blocks and performs proof of work; a node can validate and relay without performing that mining work.",
      "sourceIds": [
        "x425-btc-core-running",
        "x425-btc-dev-mining"
      ]
    },
    {
      "question": "Do I need to keep a wallet inside my node?",
      "answer": "No. The node and wallet are distinct roles. A separate signer or wallet application can use a node for chain information, and the RPC interface supports non-wallet requests as well as wallet-specific operations.",
      "sourceIds": [
        "x425-btc-core-rpc"
      ]
    }
  ],
  "claims": [
    {
      "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."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-btc-core-running",
      "label": "Running a Full Node",
      "publisher": "Bitcoin.org",
      "url": "https://bitcoin.org/en/full-node",
      "locator": "What Is A Full Node?; Initial Block Download; Network Configuration; Reduce Storage; Disable listening",
      "note": "Operational roles, synchronization, inbound/outbound connections and version-dependent resource guidance.",
      "checkedAt": "2026-10-02T18:53:56.154Z",
      "contentSha256": "69230ccdb4acb9a5f6064154f025a5b133bad08fee2b842353e556488dec06d7",
      "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": "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": "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-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-dev-mining",
      "label": "Mining",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/mining.html",
      "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes",
      "note": "Hardware work, candidate blocks and pool shares; historical examples are not current equipment recommendations.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.955Z",
      "contentSha256": "543e25621d1ef8d36da57d86b94ee8196b156ff4c0c3a6e3d071933f1a632b17",
      "recordId": "source-d5271fde58f8f665"
    }
  ],
  "related": {
    "articles": [
      "bitcoin-nodes-explained",
      "pruned-bitcoin-nodes",
      "watch-only-wallets",
      "bitcoin-node-initial-sync"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and separate automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Bitcoin Core explained: node software, wallet and RPC interface.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-core-explained/"
}
