Wallchain
Search
K
🚀

How it works

If you want to search on $3B monthly swap volume, dm t.me/wallchain_xyz

High level overview

  1. 1.
    Before the transaction is submitted to the mempool, its raw CallData is sent to the Meta-intent Auction Service.
  2. 2.
    Searchers participate in the auction process and the highest validated bid is selected for execution.
  3. 3.
    On the client side, a new transaction is created. It has the original user transaction CallData and searcher CallData. Unlike other OFAs, the bundling of CallDatas happens inside a single transaction, which helps to abstract out the execution of infrastructure.
  4. 4.
    User CallData gets executed.
  5. 5.
    Finally, the searcher CallData is executed. MEV is captured and redistributed.

Detailed overview

To start using dApps and wallets need to integrate the Wallchain SDK.

Step by step operation

  1. 1.
    dApps send user transaction calldata to the Wallchain Auction Service. Later, the format can be upgraded to signed messages or other intent formats.
  2. 2.
    The Meta-intents auction service broadcasts the user's calldata to the network of searchers.
  3. 3.
    Searchers respond with a SearcherRequest and a signature to securely execute that request.
  4. 4.
    The auction service responds with the winning SearcherRequest. The winner is the highest bid that passes validation. In most cases there will be no backrunning and the response will be negative.
  5. 5.
    Then the SDK takes the response from The Auction Service and constructs the transaction for MetaSwapper. The latter combines the original user transaction execution and backrunning into a new single transaction.
  6. 6.
    The original user transaction is executed on the target contract. At this moment the user's required condition is satisfied, e.g. the desired asset has reached the user's wallet.
  7. 7.
    The SearcherRequest is sent to the SearcherExecutionCapsule. The latter performs checks, signature validation, expiration, etc. It also takes the gas prepayment from the searcher. The searcher call is executed in the separate contract SearcherRequestCall to try-catch the possible failure and revert in case of not receiving the bid.

Searcher Protocol Example

{
"jsonrpc": "2.0",
"method": "user_transaction",
"params": {
"lot_id": "be75c90a04f2042ae30d04a96c44460bdd15d5e4",
"txn": {
"from": "0xaf418d71576e93d3aa01987ee5ca32d063a3d214",
"to": "0x10ed43c718714eb63d5aa57b78b54704e256024e",
"value": 0,
"input": "0x0"
},
"logs": [
{
"address": "0xe9e7cea3dedca5984780bafc599bd69add087d56",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000af418d71576e93d3aa01987ee5ca32d063a3d214",
"0x0000000000000000000000007d9a46ac9cb22a6c4e6a94253c309c0551f717fe"
],
"data": "0x00000000000000000000000000000000000000000000000175f62a9aae607000"
}
]
}
}
Note that this example is truncated, the real transaction has a much larger txn.input and more logs.
To send a bid, the searcher should send the following message to the websocket:
{
"jsonrpc": "2.0",
"method": "make_bid",
"id": 26,
"params": {
"lot_id": "be75c90a04f2042ae30d04a96c44460bdd15d5e4",
"searcher_request": {
"to": "0x0000000000000000000000000000000000000000",
"gas": 1000000,
"nonce": 98172209353239903985821686975344235073120637765096460163008503863644315095199, // unordered
"data": "0x",
"bid": 1000, // Wrapped Native token wei. WBNB for BNB chain.
"userСallHash": "0xeb35d19fcc5bfa1bbf8817fe59e2db4157e2b07d66bb526020c04585c8422ef1",
"maxGasPrice": 10,
"deadline": 1691748917
},
"searcher_signature": "0xccafaf61949ffa086582125a32df26313580f97109273f8ecacb617f710ff2d5129b6717adac0420d2224f4e7e7c77bf56a6aa6a05ae4199808cfdfaa191b4be1b"
}
}
The example of creating a searcher request can be found in Tests.

What's Next:

  • Generalization to support all types of intents, transactions and AA user operations.
  • Gasless & private execution by aggregating of private RPCs like MEV-Blocker/MEV-Share/Kolibrio etc.
  • Decentralizing Meta-Intent infrastructure using Gelato.
  • Sufficient decentralization through deployment on decentralized counterparty discovery networks such as Anoma or SUAVE (or a separate app-chain).
  • Distributed Auction Technology based on Distributed Validator Technology and Distributed Sequencer Technology.

Notes

  1. 1.
    We do not use any RPCs.
  2. 2.
    Wallchain is EVM chain agnostic.
  3. 3.
    Huge protocol redesign is coming in Q4 23'. If you want to search on $3B monthly swap volume, please DM.