Signet's Simplified Atomicity
On Signet, transactions either complete in the same block on both chains or don’t happen at all. For same-block transaction to work, every component must support atomic execution across chains. This is achieved through our concurrent block production, which synchronizes Signet blocks directly with Ethereum blocks.
Concurrent Block Production
As a “based-ish” rollup with a fork-choice rule that perfectly follows Ethereum, each Ethereum block may contain one corresponding Signet block, with identical timestamps across both chains.
This coupling:
- Eliminates time delays between chains, enabling same-block finality
- Guarantees that Signet’s history reorganizes if and only if Ethereum’s does
- Creates a unified execution environment across both networks
Conditional Transactions
Signet’s conditional transactions ensure operations across chains either succeed completely or don’t happen at all. Unlike traditional cross-chain transactions which can be partially completed (leaving assets stranded), conditional transactions enforce an all-or-nothing execution model:
- Transactions on Signet are only valid when corresponding actions on Ethereum are confirmed
- The entire operation completes within the same Ethereum block
- If any part fails, the entire transaction is reverted on both chains
EVM Extensions
To implement our conditional transactions, we’ve extended the EVM with our Signet SDK while maintaining compatibility with all existing Ethereum tooling:
L1-Driven Actions in Signet:
Enter
- Mint ETH on Signet when deposited on EthereumEnterToken
- Mint tokens on Signet when deposited on EthereumTransact
- Execute a transaction on Signet triggered from Ethereum
These actions are processed by the Signet EVM during block processing, allowing Ethereum events to trigger corresponding actions on Signet within the same block.
Conditional Transaction Enforcement:
Our EVM extension enforces a key invariant: If a transaction emits an Order
event, it’s applied to the Signet state if and only if all outputs have corresponding Fill
events on the relevant Orders
contract.
This enforcement mechanism creates true atomicity between chains - the entire operation either completes successfully on both chains or has no effect at all.
DX + UX with Permit2
To complement our concurrent block production, we’ve integrated Permit2 to improve developer and user experience. Our implementation offers several components:
- UsesPermit2: A base contract that stores the Permit2 contract address and implements helper structs for passing permit2 information through contract functions.
- OrdersPermit2: Handles multi-token operations for cross-chain transfers through our Orders system. Includes functions
initiatePermit2
andfillPermit2
, with awitness
field consisting of an array of Outputs that defines the precise cross-chain outcome. - PassagePermit2: Enables single-token operations between chains via our Passage contract. Features functions like
enterPermit2
andexitPermit2
, with awitness
field containing information about the token recipient on either the Host or Rollup.
The structure of a Permit2Batch used in these components is:
1pub struct Permit2Batch {
2 pub permit: PermitBatchTransferFrom,
3 pub owner: Address,
4 pub signature: Bytes,
5}
Permit2 simplifies token approvals into a single transaction, eliminating the traditional two-step approval process and reducing friction in cross-chain actions.
Cross-Chain Applications
For developers building applications that require cross-chain interactions, Signet’s simplified architecture offers:
- True Atomicity: Operations complete on both chains in the same block or not at all
- Simplified Development: Our EVM extensions and Permit2 integration reduce complexity
- Predictable Execution: Synchronized blocks enable consistent cross-chain state management
Our approach solves key challenges that have limited cross-chain applications:
- No more delays or waiting periods between cross-chain operations
- No vulnerability to state manipulation between chains
- No partial transaction states leaving assets abandoned
Build with us
Exploring our docs or getting in touch if you have any questions or feedback is the best way to get started.
- same-block execution: synchronizes cross-chain transactions
- signet-evm: EVM atomic guarantees
- Permit2: simplified token approvals
- smart contracts: components working together