Rollups to Mainnet

In order to keep costs down and transaction throughput high, we use a Layer 2 chain for transactions. We actually have two private chains, both are highly available fault-tolerant networks running in Windows Azure Availability Zones. Depending on a customer's needs for transaction finality one network is chosen over the other; both can be considered equivalent.

When Do Rollups Occur?

This is configurable. Currently, the schedule is the last day of the month. We also perform rollups after a chain infrastructure change as it's cheap, and it gives another checkpoint for layer 2 verification.

What is Rolled Up?

There are actually two rollups performed, this page details the Ethereum rollups that are performed, but we also perform rollups for the Bitcoin network. The Bitcoin rollups are performed in a similar manner, see here for details.

When the rollup occurs it takes the hash of the current block of the source chain (Penn) and notarises this on a Mainnet contract on Mainnet. See the below table for the rollups that have occurred.

Click on any of the Target Cain Transactions below, then click "+ Click to Show More" beside More Details. The Input Data uses the following format:

Start Length Description Example
0 10 Always 0x69d154b2, which is the function selector for notarise(uint256,uint256,address,bytes32) 0x69d154b2
10 64 The number of the block on the source chain that is being rolled up, zero padded to 64 characters. 00000000000000000000000000000000000000000000000000000000014a0344
74 64 The ASCII word "Roll" zero padded to 64 characters. 00000000000000000000000000000000000000000000000000000000526f6c6c
138 64 The address who this notarisation is performed on behalf of, this can be ignored. 000000000000000000000000c04c023df4da86ad2551b778fc4a5f9b237fc85b
202 64 The hash of the block on the source chain. 9efe3fa03be470f63f7c80df1207b9cce727caecea6d6d5bd3bf3c250acf8ed3

How Can I Verify the Private Chain?

The hashes of the chain prove its integrity. If you examine a block and look at the transactions inside you can use all the transaction hashes and importantly the hash of the previous block to calculate the current block's hash. If there is a discrepancy there is something wrong. When they match it shows the block is valid and has not been tampered with. You can do this for each block between rollups to verify that since the last rollup all transactions on the private chain are correct.

Where Is The Verification?

It makes no sense to provide proof that our network is valid, that is implied. If there is any question as to the validity of a transaction we provide them below for anyone to independently verify the chain.

Id Source Block Number Source Block Timestamp Source Block Hash Target Chain Transaction
10 0x4efb02 5/31/2026 8:00:02 AM 0x0d17e818b531b6000983e539378cfa8d4bfa9812dafe8bea92e02a73ab8e5639 0x460908f47f8c3caf58f6ab2deb1ea20fcca42a6425dcccc1c085970383e4b9c4
9 0x3a8bc2 4/30/2026 8:00:02 AM 0xd12acc8605e65e86a33ec7368fb848dd7682ebf0f22e47741a74f10c1f8eda6e 0xf36118a49d1971fd18e2042fbe4dcba9dd93653fc193dd9c282ff1664429194a
8 0x26c55a 3/31/2026 8:00:02 AM 0xea09bbbdfc3e647f5cf1bf8a5fcce5030f1c9fa4141439483459505abeeb619e 0xd27f013838cfad45c7fd44bb7986c0a1173272dbeca601413450d76c8fc6387b
7 0x261c9a 3/30/2026 8:00:02 AM 0x2d6df9715644b158f37a92dbfefc53abfb2da254852f21d9fcf6cc0a97a1ab32 0xcabfb8f93628d831996754ed42fde9a54f6e4b24cc9e8cda63c9a2b0aadfe781
6 0x2573da 3/29/2026 8:00:02 AM 0x4a5519ab59fe19417ced4e2bb6689b2e0662a9e2dc345fc8f87a427787902eb7 0x31ce7e894192b1d24fba4d267b7765daac6f3bba6d400d8940fd9f6200808aa4
5 0x24cb21 3/28/2026 8:00:16 AM 0xcb1410e48ca418572faec85041ac8942873fa5009ba8ddddd30308aad9375758 0xf2898fda412e9eec36a84717512ef961d5ff1c40962667b28548231ddc8ac721
4 0x125636 2/28/2026 8:00:10 AM 0x7461d56e2b2809a8763ed5d4f0873c2956f94d825fab348b4e56fd4c1133b186 0xbb89ac618705da339ee8749364e04d20cf416e181447b6761fdc52784c900cc6
3 0x0ca68d 2/19/2026 4:57:32 PM 0xc75797b34390478e0bfddf2df2733890a00ae7fd2db9e8435e974e776957d756 0xb22ca6f042d400287aded8a878fe999eb85336c065a6ddcbcfb7301f270b5afb