Transactions have always been the atomic unit of computation on blockchains.
Blockchains have changed drastically with innovations like scaling solutions and growth in institutional adoption. And yet, the way transactions are processed has not advanced.
Enter programmable transactions.
Writing is Broken
Transacting on-chain has 3 stages: read chain state, write a transaction, then execute it.
The ability to read on-chain data informs what can be written and executed. This flywheel would unlock the ability for the space to evolve in complexity– if it actually worked.
While the ecosystems enabling reading data and on-chain execution have been growing via the influx of applications and VMs respectively, our ability to write to the chain has stayed absolutely the same.
Interacting with Blockchains: “Man in the Middle”
The original promise of smart contracts was to transparently specify and execute pieces of code.
Unfortunately, initiating contract calls requires human intervention or giving away entire keys – an existential blocker to the advancement of the space.
We can see the limitations of the current paradigm by looking at Uniswap’s success. The protocol’s key innovation was not being a decentralized exchange, but rather enabling swaps without both parties' keys needing to be online.
This parallel exists in nearly every category in crypto, but unfortunately not all such problems can be solved through protocol design. Today, users have to either use disjointed tools to read and write to the chain (dapps to read, wallets to write) or hand over control of their assets to fragmented app-specific products or custodians to write data for them.
This would be equivalent to a shopping experience where consumers have to hand over their bank password or obtain a store-specific credit card before being able to buy items from that store.
Wallets are still the only products that can write data to the chain. However, because their responsibilities scale with the complexity of the space, they are not flexible enough to write in intuitive and expressive ways.
This is evidenced by a pattern in today’s most successful on-chain business models. Each represents a relatively simple mode of transacting with a user-friendly UI layered on top. Some examples:
- NFT marketplaces: ERC-721 sales
- DEXs: ERC-20 swaps
- Staking products: lock ➡ unlock
But what if we didn’t need human intervention to transact?
Programmable transactions enable us to break down actions into units that can be composed, repurposed, and ultimately automated.
The Missing Link
Capsule is building signing infrastructure that enables programmable, yet noncustodial transactions.
We believe innovation at this layer will pave the way for newer, more sophisticated applications built on blockchains.
Imagine a world where you could delegate a signer, managed by a block explorer or indexer, to programmatically withdraw funds in case of a smart contract or bridge attack –but only if pre-specified conditions are met. Or manage positions without needing to go online or hold a key in the cloud. Or even get a better on-chain loan for giving your lender programmatic access to pull funds out of another pre-specified contract.
Having the ability to program a transaction to execute autonomously subject to certain conditions while still being non-custodial has major implications across verticals like DeFi, personal finance, and even governance.
Programmable transactions expand the scope of the crypto space by unblocking the read ➡ write ➡ execute flywheel, giving it the freedom to compound.