Verify this record
Every marked figure on this site comes from a file in a public repository. Each file carries the hash of its own content and of the previous session, and a third-party timestamp, so the record can be checked independently. The latest broker reading in a portfolio’s header is a current reading rather than an after-close mark, and is not part of the chain.
The record, as published
- Chained records
- 209
- Portfolios
- 7
- Published
- 09 Oct 2026, 11:42 UTC
What the proofs establish
And what they do not.
This proves
nav.csv.This does not prove
What each piece rests on
- Hash chain
- A clone of the data repository.
- Timestamps
- A Bitcoin block, read with ots verify.
- Commit signatures
- GitHub’s signature verification.
- Branch ruleset
- GitHub’s repository settings.
Check it yourself, on a clone
Two commands.
The first command copies the whole published record. The second re-hashes every file the chain lists, compares each hash with the chain’s record of it, and follows each portfolio’s prev_hash back to its first record. It needs only git and python.
git clone https://github.com/rvbpartners-commits/rvbpartners-track-record-data.git
cd rvbpartners-track-record-data
python -c "
import json,hashlib,pathlib
prev={}
for line in open('CHAIN.jsonl',encoding='utf-8'):
e=json.loads(line); p=pathlib.Path(e['file']); raw=p.read_bytes()
assert hashlib.sha256(raw).hexdigest()==e['sha256'], p
rec=json.loads(raw.decode())
assert rec['prev_hash']==prev.get(e['book'],'0'*64), p
prev[e['book']]=rec['hash']
print('chain ok:', {k:v[:12] for k,v in prev.items()})
"This runs checks 1 and 2 below. A timestamp is checked with ots verify <file>.ots, and check 4 is a recomputation from nav.csv.
What the last line prints
- RVB-GROWTH-AGG
- 5da317d1e8bd
- RVB-GROWTH-100K
- 06536bb0368f
- RVB-BLEND-CORE
- 7bde39715370
- RVB-BLEND-100K
- 48817e68c304
- RVB-DD-DEF
- c078d31ac3c4
- RVB-SR-STAB
- 6ef44c347f5c
- RVB-MAKER-01
- d9c6df9f43d8
Each portfolio’s chain head, as published in its meta.json. The command computes the same twelve characters from the files themselves.
How one record holds the one before it
Read from the chain, on every request.
First record
08 Aug 2026
- prev_hash
- 000000000000
- hash
- 358fc7c5c207…
Sixty-four zeros: nothing precedes this session.
The session before
18 Sept 2026
- prev_hash
- f750569dce6d…
- hash
- ebc7bc3277cc…
Newest linked record
21 Sept 2026 · RVB-GROWTH-AGG
- prev_hash
- ebc7bc3277cc…
- hash
- 5da317d1e8bd…
The four checks
What each one proves, and in which direction.
- 1Each record hashes its own content
Every snapshot carries a
hash: the SHA-256 of its canonical JSON with thehashfield removed. Change any published number and it stops matching. - 2The records are chained
Each snapshot’s
prev_hashis the previous session’shash. A timestamp shows that a file existed; the chain shows that the series is complete from its first record. Because each session commits to the one before it, a session cannot be removed later without breaking every record after it. - 3A record cannot have been written later than its proof
Each snapshot has an OpenTimestamps proof beside it, anchored in the Bitcoin blockchain. Run
ots verify <file>.ots. A proof establishes that the file existed no later than the block it is anchored in. The Recorded column in the table below is the chain’s owntsfor each entry, the day the record joined the chain, printed beside the session it covers. - 4The numbers follow from the inputs
nav.csvis the whole equity curve, and every metric is computed from it with standard definitions. The convention and the risk-free rate are published inmetrics.json, so any figure can be recomputed independently.
Every snapshot in the current chains
The register itself, newest first.
| Session | Recorded | Portfolio | Record hash | Chains to | Files |
|---|---|---|---|---|---|
| 21 Sept 2026 | 21 Sept 2026 | RVB-SR-STAB | 6ef44c347f5c… | 8987613a4151… | JSON·.ots·commits |
| 18 Sept 2026 | 18 Sept 2026 | RVB-SR-STAB | 8987613a4151… | 8efe168bef3a… | JSON·.ots·commits |
| 17 Sept 2026 | 17 Sept 2026 | RVB-SR-STAB | 8efe168bef3a… | 2f100ffc6549… | JSON·.ots·commits |
| 16 Sept 2026 | 16 Sept 2026 | RVB-SR-STAB | 2f100ffc6549… | 5fe5d405ef9b… | JSON·.ots·commits |
| 15 Sept 2026 | 15 Sept 2026 | RVB-SR-STAB | 5fe5d405ef9b… | f5dece0bec56… | JSON·.ots·commits |
| 14 Sept 2026 | 14 Sept 2026 | RVB-SR-STAB | f5dece0bec56… | a746f75b18eb… | JSON·.ots·commits |
| 11 Sept 2026 | 11 Sept 2026 | RVB-SR-STAB | a746f75b18eb… | 595e472b5b02… | JSON·.ots·commits |
| 10 Sept 2026 | 10 Sept 2026 | RVB-SR-STAB | 595e472b5b02… | 9766f53a4673… | JSON·.ots·commits |
| 09 Sept 2026 | 09 Sept 2026 | RVB-SR-STAB | 9766f53a4673… | 8689da051600… | JSON·.ots·commits |
| 08 Sept 2026 | 08 Sept 2026 | RVB-SR-STAB | 8689da051600… | 1fab8efdccf0… | JSON·.ots·commits |
| 07 Sept 2026 | 07 Sept 2026 | RVB-SR-STAB | 1fab8efdccf0… | 24e1664acdad… | JSON·.ots·commits |
| 04 Sept 2026 | 04 Sept 2026 | RVB-SR-STAB | 24e1664acdad… | 5ed1ae38bbb0… | JSON·.ots·commits |
| 03 Sept 2026 | 03 Sept 2026 | RVB-SR-STAB | 5ed1ae38bbb0… | 34137e0ee187… | JSON·.ots·commits |
| 02 Sept 2026 | 02 Sept 2026 | RVB-SR-STAB | 34137e0ee187… | 4cb67e91d997… | JSON·.ots·commits |
| 01 Sept 2026 | 01 Sept 2026 | RVB-SR-STAB | 4cb67e91d997… | a05a4b8bda44… | JSON·.ots·commits |
| 31 Aug 2026 | 31 Aug 2026 | RVB-SR-STAB | a05a4b8bda44… | e0fc0948875d… | JSON·.ots·commits |
| 28 Aug 2026 | 28 Aug 2026 | RVB-SR-STAB | e0fc0948875d… | 86f054001c4f… | JSON·.ots·commits |
| 27 Aug 2026 | 27 Aug 2026 | RVB-SR-STAB | 86f054001c4f… | 3d2cfc5f0d2b… | JSON·.ots·commits |
| 26 Aug 2026 | 26 Aug 2026 | RVB-SR-STAB | 3d2cfc5f0d2b… | 5508acd173de… | JSON·.ots·commits |
| 25 Aug 2026 | 25 Aug 2026 | RVB-SR-STAB | 5508acd173de… | c23ac31ad59d… | JSON·.ots·commits |
| 24 Aug 2026 | 24 Aug 2026 | RVB-SR-STAB | c23ac31ad59d… | 2fcfa2a2a910… | JSON·.ots·commits |
| 21 Aug 2026 | 21 Aug 2026 | RVB-SR-STAB | 2fcfa2a2a910… | 4d6a623663aa… | JSON·.ots·commits |
| 20 Aug 2026 | 20 Aug 2026 | RVB-SR-STAB | 4d6a623663aa… | b08c8cf725df… | JSON·.ots·commits |
| 19 Aug 2026 | 19 Aug 2026 | RVB-SR-STAB | b08c8cf725df… | ba84ce3b000c… | JSON·.ots·commits |
| 18 Aug 2026 | 18 Aug 2026 | RVB-SR-STAB | ba84ce3b000c… | a07344b14949… | JSON·.ots·commits |
| 17 Aug 2026 | 17 Aug 2026 | RVB-SR-STAB | a07344b14949… | 96e6c7d6f774… | JSON·.ots·commits |
| 14 Aug 2026 | 14 Aug 2026 | RVB-SR-STAB | 96e6c7d6f774… | 4f709d3622f0… | JSON·.ots·commits |
| 13 Aug 2026 | 13 Aug 2026 | RVB-SR-STAB | 4f709d3622f0… | 5ea3ddf09efc… | JSON·.ots·commits |
| 12 Aug 2026 | 13 Aug 2026 | RVB-SR-STAB | 5ea3ddf09efc… | 414810758bf5… | JSON·.ots·commits |
| 11 Aug 2026 | 13 Aug 2026 | RVB-SR-STAB | 414810758bf5… | 4c7a16544716… | JSON·.ots·commits |
CHAIN.jsonl, one line per record.What the register covers
- Portfolios
- 7
- First session
- 08 Aug 2026
- Latest session
- 08 Oct 2026
- Filtered to
- RVB-SR-STAB
Where everything lives
The repositories, and how to reach the firm.
The data is in rvbpartners-commits/rvbpartners-track-record-data and this site is in rvbpartners-commits/rvbpartners-track-record-site. Both are public. Their main branches carry a ruleset that requires signed commits and linear history, and blocks deletion and force-pushes. Each publish commit is signed with an SSH key and shown by GitHub as Verified. Publication runs on the firm’s trading server; GitHub holds no broker credential.
Questions
If a check fails or a figure does not reconcile, open an issue on either repository or write to contact@rvbpartners.fr. The company is identified on the legal notice.
Published
- Chain file
- CHAIN.jsonl