Signet's Settlement System
Traditional rollups lock capital and introduce:
- Multi-step withdrawal processes: Initiate → Wait → Release
- Multi-day fraud proof windows: Capital remains locked and unproductive
This design creates a poor experience for users, builders, and solvers.
Market-Based Settlement
Signet eliminates the complicated withdrawal process and unnecessary delays through swaps by:
1. Synchronized Block Production
- Identical timestamps ensure deterministic ordering
- Fork-choice rule maintains consensus alignment
2. Atomic Cross-Chain Execution
- Same-block finality
- Conditional transaction enforcement
3. Market-Driven Price Discovery
- Competitive filler ecosystem
- Real-time liquidity provision
Signet is the only chain to achieve same-block cross chain settlement and it starts with our synchronized block architecture.
Concurrent Block Production
This 1:1 coupling enables deterministic state transitions. Every Signet block corresponds to exactly one Ethereum block, eliminating timing discrepancies.
Order System Architecture
Orders express atomic intent through Permit2, enabling gasless authorization:
1pub struct SignedOrder {
2 pub permit: Permit2Batch, // Single signature authorization
3 pub outputs: Vec<Output>, // Desired assets and destinations
4}
5
6pub struct Output {
7 pub token: Address, // Asset identifier
8 pub amount: Uint<256, 4>, // Precise amount
9 pub recipient: Address, // Destination address
10 pub chainId: u32, // Target chain
11}
Order Lifecycle:
- Creation: User signs intent with ~10 minute validity window
- Discovery: Broadcast to transaction cache for filler evaluation
- Execution: Atomic settlement within single block
- Finalization: Immediate availability on destination chain
Settlement Mechanics: Inverted Execution
Signet’s approach to atomicity is in transaction ordering enforcement:
The OrderDetector
enforces atomicity by validating that every order has corresponding fills before allowing transaction execution. This prevents partial settlements through deterministic state validation:
1impl OrderDetector {
2 fn validate_transaction(&self, tx: &Transaction) -> Result<(), Error> {
3 // Check if transaction emits Order event
4 if let Some(order) = self.detect_order(tx) {
5 // Verify all outputs have corresponding fills
6 for output in order.outputs {
7 if !self.has_sufficient_fill(output) {
8 return Err(Error::InsufficientFill);
9 }
10 }
11 // Consume fill amounts to prevent double-spending
12 self.consume_fills(order.outputs);
13 }
14 Ok(())
15 }
16}
Key Benefits:
- Fill transactions must mine before Initiate transactions
- Failed fills result in automatic Initiate rejection
- No intermediate states or partial executions
Capital Efficiency
Traditional rollups lock capital for extended periods. Signet enables continuous deployment:
Note: While traditional rollups process transactions continuously, settlement requires days. Signet settles every transaction in seconds.
This enables strategies previously impossible on other chains:
1. Intra-Block Arbitrage
- Execute multiple trades within single 12-second block
- Compound returns through circular trading paths
- Eliminate sequential execution risk
2. Dynamic Inventory Management
- Real-time cross-chain balance optimization
- Just-in-time liquidity provision
- Zero idle capital
3. Multi-Order Aggregation
- Net positions across multiple orders
- Reduce transaction costs through batching
- Maximize capital efficiency per block
Bundle Construction
Fillers aggregate multiple orders into atomic execution bundles:
1async fn construct_bundle(&self, orders: &[SignedOrder]) -> Result<SignetEthBundle> {
2 // Aggregate orders by destination chain
3 let aggregated = self.aggregate_by_chain(orders);
4
5 // Sign fills for each destination
6 let signed_fills = self.sign_fills(&aggregated).await?;
7
8 // Build transaction sequence with proper ordering
9 let txs = self.sequence_transactions(&signed_fills, orders).await?;
10
11 // Extract cross-chain coordination data
12 let host_fills = signed_fills.get(ÐEREUM_CHAIN_ID);
13
14 // Atomic bundle with deterministic execution
15 Ok(SignetEthBundle {
16 host_fills, // Ethereum-side actions
17 bundle: EthSendBundle {
18 txs, // Signet-side transactions
19 block_number: self.target_block(),
20 reverting_tx_hashes: vec![], // No reverts allowed
21 },
22 })
23}
Error Handling:
- Invalid signatures → Bundle rejected pre-execution
- Insufficient liquidity → Fill transaction reverts
- Gas exhaustion → Entire bundle fails atomically
Market Efficiencies:
Multiple fillers evaluate each order simultaneously, creating competitive pricing:
- Multiple fillers evaluate each order simultaneously
- Competition drives spreads toward equilibrium
- Price discovery occurs every 12 seconds
- No single filler controls market pricing
- Capital availability across chains
Filler Infrastructure
Implement custom market-making strategies using the Signet SDK:
1// Custom filler implementation
2impl FillerStrategy for MyFiller {
3 async fn evaluate_order(&self, order: &SignedOrder) -> Option<FillDecision> {
4 // Implement custom pricing logic
5 let profit_margin = self.calculate_margin(order)?;
6
7 // Check inventory across chains
8 let has_liquidity = self.check_inventory(order).await?;
9
10 // Evaluate competition
11 let competitive = self.estimate_win_probability(order);
12
13 if profit_margin > self.min_margin && has_liquidity && competitive > 0.3 {
14 Some(FillDecision::Accept)
15 } else {
16 None
17 }
18 }
19}
- Gas cost optimization
- Inventory rebalancing costs
- Competition assessment
- Risk-adjusted profit margins
Protocol-Level Markets
Signet’s architecture embeds market mechanics at the protocol level:
Every application built on Signet is enabled with instant cross-chain settlement.
Cross-Chain Settlement Opportunities
Whether it’s building user applications, providing liquidity, or executing orders, every builder benefits from the speed of settlement to Ethereum:
- No asynchronous state risks between chain operations
- No wrapped token complexity or liquidity fragmentation
- No artificial constraints on capital deployment
- No settlement uncertainty affecting execution
Build with us
The best way to get started is with our docs or getting in touch if you have any questions.
Get Involved:
Market Participants:
- Filler examples: Complete implementation patterns
- Market dynamics: Participant roles and incentives
Order System:
- Contract interfaces: Permit2-based order creation
- SDK primitives: Type-safe order handling
Bundle Construction:
- Atomic execution: Transaction sequencing tools
- Simulation framework: Pre-execution validation