LogoLogo
  • Learn About Signet
    • Simplifying the Rollup
    • No Proofs or State Roots
    • Simple sequencing
    • Cross-chain transfers on Signet
  • Build on Signet
    • Smart Contracts
      • Passage
      • Transactor
      • Orders
        • Order Processing
        • Working with Orders
        • Market Participants
        • Bundles and Orders
        • Application Use Cases
      • Zenith
      • Permit2
    • EVM Behavior
    • Signet SDK
      • signet-zenith
      • signet-types
      • signet-extract
      • signet-evm
      • signet-bundle
      • signet-rpc
  • More info
  • FAQ
  • Glossary
  • Twitter
  • Github
Powered by GitBook
On this page
  • Searchers
  • Orders API Reference
  • Error Handling
  • Related Pages
  1. Build on Signet
  2. Smart Contracts
  3. Orders

Market Participants

Guide for Searchers and Fillers. Explains roles, operations, and integration points for those providing liquidity and matching orders in the Signet ecosystem.

Our market-based approach eliminates the need for verification periods or complex bridging. Users move assets instantly between chains.

Searchers

Searchers connect orders with liquidity and are essential for creating efficient markets by:

  • Scanning orders cache

  • Building matching permits into bundles

  • Submitting these bundles to block builders

  • Driving efficiency by connecting orders with liquidity

Finding Opportunities

To operate as a Searcher:

  1. Connect to the orders cache to receive updates about new orders

  2. Implement efficient filtering to identify profitable opportunities

  3. Use the order aggregation functionality to organize multiple orders

// Example order aggregation
pub struct AggregateOrders {
    // Outputs to be transferred to users
    pub outputs: HashMap<(u64, Address), HashMap<Address, U256>>,
    // Inputs to be transferred to the filler
    pub inputs: HashMap<Address, U256>,
}

Creating Bundles

When building bundles that include orders:

  1. Collect compatible orders that can be matched together

  2. Ensure atomic execution across chains

  3. Include necessary host fills for cross-chain actions

  4. Submit the bundle to the bundle cache

Fillers

Fillers provide liquidity to the system by:

  • Fulfilling open orders with their own assets

  • Enabling cross-chain transfers without traditional bridges

  • Making instant withdrawals possible

Becoming a Filler

To operate as a Filler:

  1. Maintain sufficient liquidity on both Signet and Ethereum

  2. Monitor the orders cache for opportunities

  3. Create corresponding transactions to fulfill orders

  4. Submit fulfillment transactions through bundles

Filling Cross-Chain Orders

When fulfilling a cross-chain order:

  1. Verify the user's input assets on Signet

  2. Prepare corresponding assets on Ethereum

  3. Submit a bundle with the necessary host fills

  4. Collect the user's assets once the order executes

Orders API Reference

Order Cache

The Order Cache provides endpoints for submitting and retrieving orders:

  • GET /orders: Retrieve all active orders in the cache

  • GET /orders/{id}: Get a specific order by ID

  • POST /orders: Submit a new order to the cache

  • DELETE /orders/{id}: Cancel an order (requires signature)

Order Simulation

Before submitting orders or bundles, you can simulate their execution:

// Example simulation request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "signet_simBundle",
  "params": [{
    "txs": ["0x..."], // Array of signed transactions
    "blockNumber": "0x...", // Target block number
    "host_fills": {
      // Host fills specification
    }
  }]
}

Error Handling

Common errors when working with orders:

Error Code
Description
Resolution

1001

Invalid signature

Verify signing process

1002

Insufficient balance

Ensure adequate token balance

1003

Expired order

Check order deadline

1004

Price slippage

Adjust price expectations

Related Pages

PreviousWorking with OrdersNextBundles and Orders

Last updated 19 days ago

Bundles and Orders
Cross-chain transfers on Signet