Immutable timestamps on our records
Every change to a donation, a field report or a certificate is written to a log that cannot be edited, and the fingerprint of that log is published to the Bitcoin blockchain.
Read this before you read the hashes
What this proves: that our records were not quietly rewritten after the fact. Once a fingerprint is in a block, any later edit — by us, by an administrator, by anyone with database access — stops matching it.
What this does not prove: that a record was correct when it was written. If a field report says 1,000 trees and that was wrong, the timestamp preserves it as permanently wrong. Trust in the number comes from independent field verification, not from the chain.
No money and no NFT is held on a blockchain here. Donations move through regular payment rails and certificates live in our database. What goes on-chain is a 32-byte fingerprint and nothing else.
0
Confirmed in a block
50
Awaiting a block
50
Records covered
How it works
- 1
Every significant action — a settled donation, a verified field report, an issued certificate, a withdrawal — writes a row to an audit log. The database physically refuses to update or delete those rows.
- 2
Every few hours the rows written since the last run are hashed into a single Merkle root, using the same tree construction as Certificate Transparency.
- 3
That root is sent to independent OpenTimestamps calendars. They aggregate thousands of roots from many parties into one Bitcoin transaction, which is why this costs nothing and needs no wallet.
- 4
Once the transaction is mined, the proof is upgraded and names a block height. From that moment, the timestamp no longer depends on us or on the calendar operator.
Published commitments
Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 22, 2026, 6:21 PM — Sep 22, 2026, 6:21 PM
- Submitted:
- Sep 23, 2026, 12:28 AM
Merkle root (SHA-256)
47898d3c347043f1fe940afd6fc1aba5f019bc7e11bfce550337fc5fa989c37bAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 22, 2026, 12:24 PM — Sep 22, 2026, 12:24 PM
- Submitted:
- Sep 22, 2026, 6:21 PM
Merkle root (SHA-256)
6c4968dff881f843d454914a31e196f87fda549533271f5b5de5218a53f54194Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 22, 2026, 6:25 AM — Sep 22, 2026, 6:25 AM
- Submitted:
- Sep 22, 2026, 12:24 PM
Merkle root (SHA-256)
14cfe83918033b6dd87b9713c630a9f2d05ba45d59aa11a603b4e9eb6ca9e100Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 22, 2026, 12:24 AM — Sep 22, 2026, 12:24 AM
- Submitted:
- Sep 22, 2026, 6:25 AM
Merkle root (SHA-256)
4bf4c6c8301e2f2d262269efd0867a1cc57086fb30742f2a0d08b8f67ae5b830Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 21, 2026, 6:27 PM — Sep 21, 2026, 6:27 PM
- Submitted:
- Sep 22, 2026, 12:24 AM
Merkle root (SHA-256)
d42d85f9ecd243f937b8b4b2b2a7b8636d94c25ab99fecec15851492636e352cAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 21, 2026, 12:26 PM — Sep 21, 2026, 12:26 PM
- Submitted:
- Sep 21, 2026, 6:27 PM
Merkle root (SHA-256)
079c2d18efe467574280d9f6e584e66e3969c2e270c942ec7a0fa6c2bb558a14Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 21, 2026, 6:20 AM — Sep 21, 2026, 6:20 AM
- Submitted:
- Sep 21, 2026, 12:26 PM
Merkle root (SHA-256)
dd9c6ca47d3ebfccc6166b9f77655e64a29a64800615688540ab0db191b2aaebAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 21, 2026, 12:24 AM — Sep 21, 2026, 12:24 AM
- Submitted:
- Sep 21, 2026, 6:20 AM
Merkle root (SHA-256)
1e97f3ff1de5b841e2767611e372881890072e52839df99d2a8284464b01a381Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 20, 2026, 6:25 PM — Sep 20, 2026, 6:25 PM
- Submitted:
- Sep 21, 2026, 12:24 AM
Merkle root (SHA-256)
db670f4aa8862bfb7ed2224bb85824906003cbc1c8fba85c9bdeafe74aa2e4cfAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 20, 2026, 12:27 PM — Sep 20, 2026, 12:27 PM
- Submitted:
- Sep 20, 2026, 6:25 PM
Merkle root (SHA-256)
39f319cc2a7791bbe409d69be6f8b15102ff43b508530253e34411ded4563ff0Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 20, 2026, 6:20 AM — Sep 20, 2026, 6:20 AM
- Submitted:
- Sep 20, 2026, 12:27 PM
Merkle root (SHA-256)
80bee6b42cf9a3061277566f96d8c135ba86db0184f9e84d8242cc91212ce009Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 20, 2026, 12:21 AM — Sep 20, 2026, 12:21 AM
- Submitted:
- Sep 20, 2026, 6:20 AM
Merkle root (SHA-256)
54eb0f235de1f02e8b040eaac9c076bdbf1dbc86fa7f8a2827247fb8df3086caAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 19, 2026, 6:26 PM — Sep 19, 2026, 6:26 PM
- Submitted:
- Sep 20, 2026, 12:21 AM
Merkle root (SHA-256)
85df010b2cdf487ff620c98cb828a6e02c35ce6b3a615fb4d6fb79be5e851c97Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 19, 2026, 12:21 PM — Sep 19, 2026, 12:21 PM
- Submitted:
- Sep 19, 2026, 6:26 PM
Merkle root (SHA-256)
aa6ed0fdc23799b115b180d405e77ae59bb8e5c3784047e52df4d139ba803390Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 19, 2026, 6:21 AM — Sep 19, 2026, 6:21 AM
- Submitted:
- Sep 19, 2026, 12:21 PM
Merkle root (SHA-256)
b6ca23d731276895512dd7388b488cd9bcd081a77dedf9b6f06c1133d73a9bf9Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 19, 2026, 12:24 AM — Sep 19, 2026, 12:24 AM
- Submitted:
- Sep 19, 2026, 6:21 AM
Merkle root (SHA-256)
3526f363618d73ddea04fa51f4b8673579695637d89e0c8b62b7eb0e7f987bceAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 18, 2026, 6:28 PM — Sep 18, 2026, 6:28 PM
- Submitted:
- Sep 19, 2026, 12:24 AM
Merkle root (SHA-256)
ee1d7850991b2116d6275e5ddd2e53a330676fed8d6bab35cbbb98b809457d11Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 18, 2026, 12:28 PM — Sep 18, 2026, 12:28 PM
- Submitted:
- Sep 18, 2026, 6:28 PM
Merkle root (SHA-256)
41554781736979b4f1c03a025bf4fb49d94a826cd74e2471196de6186b2ac843Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 18, 2026, 6:26 AM — Sep 18, 2026, 6:26 AM
- Submitted:
- Sep 18, 2026, 12:28 PM
Merkle root (SHA-256)
cc8c10888edf9d93bd1e96c551fdefd5da32bd70903ac81e499abc2a1c657e88Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 18, 2026, 12:22 AM — Sep 18, 2026, 12:22 AM
- Submitted:
- Sep 18, 2026, 6:26 AM
Merkle root (SHA-256)
db05d3ba023a58121039b3b1c5b56ba7aef0979e265e3aa96f3bfa5a9b6a8e1aAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 17, 2026, 6:22 PM — Sep 17, 2026, 6:22 PM
- Submitted:
- Sep 18, 2026, 12:22 AM
Merkle root (SHA-256)
2008b62b8eaba9455f1706a43576ea0381d884a7de239205dc0619d14434da2bAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 17, 2026, 12:29 PM — Sep 17, 2026, 12:29 PM
- Submitted:
- Sep 17, 2026, 6:22 PM
Merkle root (SHA-256)
aade7a359febf6c9199a5f20059dc58d5d1758ba8850e72954553b0ecfa27a80Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 17, 2026, 6:23 AM — Sep 17, 2026, 6:23 AM
- Submitted:
- Sep 17, 2026, 12:29 PM
Merkle root (SHA-256)
b92b516cfeb1b6b859414bf9e932fa374e41d77469e8ab6eedcaca59afa77763Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 17, 2026, 12:28 AM — Sep 17, 2026, 12:28 AM
- Submitted:
- Sep 17, 2026, 6:23 AM
Merkle root (SHA-256)
1ff71f5b54acca957db9d5c7f07662b185ed6ab7e1ace44fb593afb528e56c9dAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 16, 2026, 6:21 PM — Sep 16, 2026, 6:21 PM
- Submitted:
- Sep 17, 2026, 12:28 AM
Merkle root (SHA-256)
40449fd84e3d8dbc9713f5504e44592b5334454e164078fedf177e777e4e62fbAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 16, 2026, 12:20 PM — Sep 16, 2026, 12:20 PM
- Submitted:
- Sep 16, 2026, 6:21 PM
Merkle root (SHA-256)
0b8068519168366bfb0aaa1761174d9505ef8da09d25edf76e895341d4b4be20Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 16, 2026, 12:28 AM — Sep 16, 2026, 12:28 AM
- Submitted:
- Sep 16, 2026, 12:20 PM
Merkle root (SHA-256)
e4791beee266c18bca4eb714ba702fe5d23c55f38d7f32a71bb49361774f49c1Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 15, 2026, 6:28 PM — Sep 15, 2026, 6:28 PM
- Submitted:
- Sep 16, 2026, 12:28 AM
Merkle root (SHA-256)
2342848ee125bb08a5941a5ba11975ecd2c64276c16a4ae4b66b08d5c4398e6fAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 15, 2026, 12:22 PM — Sep 15, 2026, 12:22 PM
- Submitted:
- Sep 15, 2026, 6:28 PM
Merkle root (SHA-256)
8487e7eaf528801203e63d65687b7278ffd4cea5051edc5e0a4ef38b9e288bc8Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 15, 2026, 6:26 AM — Sep 15, 2026, 6:26 AM
- Submitted:
- Sep 15, 2026, 12:22 PM
Merkle root (SHA-256)
6dac017380b4b28608043935590dc20fd0263394b37e26fb9026d001a3f1648dAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 15, 2026, 12:29 AM — Sep 15, 2026, 12:29 AM
- Submitted:
- Sep 15, 2026, 6:26 AM
Merkle root (SHA-256)
82287f8b35e665c2298c319c56d6d52341153ad3cc458945a4c7e7fa0f4cd373Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 14, 2026, 6:26 PM — Sep 14, 2026, 6:26 PM
- Submitted:
- Sep 15, 2026, 12:29 AM
Merkle root (SHA-256)
e95a4894e19d678b464ab13becbd5cdc90b5144974a1a9a81634774403687f8fAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 14, 2026, 12:27 PM — Sep 14, 2026, 12:27 PM
- Submitted:
- Sep 14, 2026, 6:26 PM
Merkle root (SHA-256)
189d9ca0ab3ca8a97b14070ec2ce2a1d08b864597bb1c647b168585f733c0083Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 14, 2026, 6:20 AM — Sep 14, 2026, 6:20 AM
- Submitted:
- Sep 14, 2026, 12:27 PM
Merkle root (SHA-256)
a48c0db43ea28f1f4433cedb79066e647dfeafd9f0ec2cd930ce01a25349f0bcAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 14, 2026, 12:24 AM — Sep 14, 2026, 12:24 AM
- Submitted:
- Sep 14, 2026, 6:20 AM
Merkle root (SHA-256)
d56fab079c590ed8dadda5856fe818d0605dc6424fb8115bca5b8b55aa445101Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 13, 2026, 6:28 PM — Sep 13, 2026, 6:28 PM
- Submitted:
- Sep 14, 2026, 12:24 AM
Merkle root (SHA-256)
1231789ea895694a94c8b5f0888800895702fa5d3f46e7a870a8ebee8845f74fAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 13, 2026, 12:21 PM — Sep 13, 2026, 12:21 PM
- Submitted:
- Sep 13, 2026, 6:28 PM
Merkle root (SHA-256)
8b4370cd287c558aae1ab1676235df26d4332961efa06b7349b9ecea30acb9b4Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 13, 2026, 6:25 AM — Sep 13, 2026, 6:25 AM
- Submitted:
- Sep 13, 2026, 12:21 PM
Merkle root (SHA-256)
415243850e15d03694609cbdcef3ba184584734c98ee814ab68b070deaa55afbAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 13, 2026, 12:25 AM — Sep 13, 2026, 12:25 AM
- Submitted:
- Sep 13, 2026, 6:25 AM
Merkle root (SHA-256)
29e801cacb3022e6ef3840f98f356bfad6e46c80ef02ec2e35ac74a1f5dc2128Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 12, 2026, 6:29 PM — Sep 12, 2026, 6:29 PM
- Submitted:
- Sep 13, 2026, 12:25 AM
Merkle root (SHA-256)
52328144ca1d669d1b948cfeff63e0c861008762411381f5d045f2d3e93fbd52Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 12, 2026, 12:29 PM — Sep 12, 2026, 12:29 PM
- Submitted:
- Sep 12, 2026, 6:29 PM
Merkle root (SHA-256)
751e370e1fc82e860c1a1dd3da0a3de76572bcce4d3bcc6c549b0f4f17e8fbccAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 12, 2026, 6:27 AM — Sep 12, 2026, 6:27 AM
- Submitted:
- Sep 12, 2026, 12:29 PM
Merkle root (SHA-256)
ebefdfe8b9f8797b33ded20c809aee9656d1bfe6e4a8cd79d8302718bb5eef1cAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 12, 2026, 12:22 AM — Sep 12, 2026, 12:22 AM
- Submitted:
- Sep 12, 2026, 6:27 AM
Merkle root (SHA-256)
3d98f58883a6f74ef327c90d22921dfb98a0970116035e9fbe462bc0c62a3474Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 11, 2026, 6:26 PM — Sep 11, 2026, 6:26 PM
- Submitted:
- Sep 12, 2026, 12:22 AM
Merkle root (SHA-256)
bdc6fae822f7754a1ffcd9bc5d95303fd58717169732661cb65ed0fbb3f1f590Accepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 11, 2026, 12:25 PM — Sep 11, 2026, 12:25 PM
- Submitted:
- Sep 11, 2026, 6:26 PM
Merkle root (SHA-256)
139080b290f3a901c01b969288a9281c5bb7e119faa443767965b129c01bd6dcAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 11, 2026, 6:26 AM — Sep 11, 2026, 6:26 AM
- Submitted:
- Sep 11, 2026, 12:25 PM
Merkle root (SHA-256)
08e62b54624de83542278b886abd8cdac83bf1765aa28e5e808c9dff8674f92fAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 11, 2026, 12:20 AM — Sep 11, 2026, 12:20 AM
- Submitted:
- Sep 11, 2026, 6:26 AM
Merkle root (SHA-256)
4cdbc19a73e1b2cd1af9d31e06bce581ac9f587272510f21f624de024e0bbc6bAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 10, 2026, 6:22 PM — Sep 10, 2026, 6:22 PM
- Submitted:
- Sep 11, 2026, 12:20 AM
Merkle root (SHA-256)
13fb67078a9c51baa530e89ad5e068b5f07ca632736f95ed811a574f8615a8ddAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 10, 2026, 12:25 PM — Sep 10, 2026, 12:25 PM
- Submitted:
- Sep 10, 2026, 6:22 PM
Merkle root (SHA-256)
0cb23bbcce7af1d62e4c8dee5e4f7deaf6d08788659414fe281de4073bd707afAccepted by a timestamp calendar but not yet included in a block. Until it is, the calendar operator is the only party attesting to the time.
- Range:
- Sep 10, 2026, 6:29 AM — Sep 10, 2026, 6:29 AM
- Submitted:
- Sep 10, 2026, 12:25 PM
Merkle root (SHA-256)
8eb9036e76546266ad85d682587803a4968e22f1572944713986b259e358758bVerify it yourself, without us
We publish an endpoint that recomputes the root, but that only shows we agree with ourselves. The check worth doing uses the reference OpenTimestamps client, which talks to Bitcoin and has no reason to take our word for anything.
pip install opentimestamps-client curl -o anchor.ots https://earth365.org/api/anchors/<id>/proof ots verify --digest <merkle-root> anchor.ots
A successful verification tells you the fingerprint existed at that block time. To check that the fingerprint still matches today's records, ask us for the inclusion proof of a specific record.