Scalability 🤝 User-friendliness = zkTrue-up

Scalability 🤝 User-friendliness = zkTrue-up

Oh wow.

We’re blown away by the responses we received after introducing Term Structure to the world. Many of your questions have been about zkTrue-up, the ZK rollup we have developed in-house. This article is the definitive guide on the benefits of zkTrue-up. For more technical details, please check our docs.

But first, here is a quick recap on what Term Structure is:

Term Structure is a peer-to-peer bond protocol powered by zkTrue-up. Users can borrow and lend digital assets to each other for a pre-determined duration and fixed interest rate. After the orders are matched on the primary markets, lenders will receive bond tokens in the ERC20 standard. Lenders can hold the bond tokens till the maturity date to earn the fixed interest rate from the borrowers. If lenders want liquidity, they can sell their bond tokens anytime on the secondary markets or enter collateralized loans using the tokens on the repo markets. The protocol works with several dealers and utilizes auctions and orderbooks (on zkTrue-up) to provide a seamless trading experience.

Now, back to the main topic of this article - zkTrue-up.

We have developed this  L2 scaling solution based on zk-SNARKs with specialized functions for DeFi, such as auctions and order book matching. zkTrue-up works similarly to StarkWare’s StarkEx, where the operator periodically batches transactions and generates a zk-SNARK proof. The account status of each user will be updated and finalized when all the transactions in a batch are verified on L1. In the case of zkTrue-up, the L1 is Ethereum. The submission transaction (to L1) will fail if the operator includes invalid or vicious transactions in the proof.

Why should you care? Well, there are four benefits that zkTrue-up brings to the end users:

No Gas Fees

On Term Structure, users pay 0 gas fee for their interaction on the protocol. But how is the platform sustainable this way? The answer is simple - instead of gas fees, we charge reasonable transaction fees when the orders are matched on the protocol, which will then partially be used to pay the gas fees for submitting the proofs in batches, instead of transaction by transaction, to Ethereum. To clarify, users still don't need to pay any gas or transaction fee if the submitted orders are not matched.

Composable with L1 Applications

Since the cryptographic proofs are verified on L1 and the positions on the protocol are ERC-20 standard (the bond tokens), we make Term Structure composable with others on Ethereum. For instance, in the future, lenders could request to mint the ERC-20 bond tokens on Ethereum with proof and then create a pool on their favorite AMM with the minted tokens to profit from the fixed interest plus trading fees (and potentially liquidity mining rewards).

Concealed Bids

Given that we use hourly auctions to determine bond prices on the primary markets, concealing the order prices until they are matched is crucial. We tackle this problem by storing every order’s information on our server until it matches. Once orders are matched, the result will be included in the proofs for the next submission back to L1.


On Term Structure, you always control your assets. Although it’s highly unlikely, even if our server is down, users in the future can utilize a site we deploy on IPFS or client software that they can download from our GitHub repo to generate the proof they need to retrieve their assets from zkTrue-up.

Still have questions about zkTrue-up? Head to our Discord to join the conversation, or follow us on Twitter to stay updated!