TESTNET ONLINE: PECORINO PECORINO

Market Participants

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
1// Example order aggregation
2pub struct AggregateOrders {
3    // Outputs to be transferred to users
4    pub outputs: HashMap<(u64, Address), HashMap<Address, U256>>,
5    // Inputs to be transferred to the filler
6    pub inputs: HashMap<Address, U256>,
7}

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:

 1// Example simulation request
 2{
 3  "jsonrpc": "2.0",
 4  "id": 1,
 5  "method": "signet_simBundle",
 6  "params": [{
 7    "txs": ["0x..."], // Array of signed transactions
 8    "blockNumber": "0x...", // Target block number
 9    "host_fills": {
10      // Host fills specification
11    }
12  }]
13}

Error Handling

Common errors when working with orders:

Error CodeDescriptionResolution
1001Invalid signatureVerify signing process
1002Insufficient balanceEnsure adequate token balance
1003Expired orderCheck order deadline
1004Price slippageAdjust price expectations