Sandwich Detector

介紹

Sandwich Detector為项目方(如钱包、DEX和Trading Bot)提供BSC交易的三明治攻擊監測服務,用戶可基於gRPC實時訂閱BSC上的三明治攻擊交易信息,訂閱端點: bsc.sandwich-detector.blockrazor.xyz:443

訂閱計劃

Tier 4
Tier 3
Tier 2
Tier 1
Tier 0

Sandwich Detector

-

-

-

-

支持

Sandwich Detector服務會向訂閱Tier 0計劃的項目方(如錢包、DEX和Trading Bot)開放白名單,白名單用戶可實時訂閱BSC交易的三明治攻擊交易信息,請在訂閱Tier 0計劃後與我們聯繫

請求參數

参数
必選
格式
示例
备注

from

String

""0x3879……42d82a"

通過被攻擊交易的發起者地址篩選三明治交易信息

to

String

"0xda77……7098a2"

通過被攻擊交易交互的合約地址篩選三明治交易信息

method

String

"0xac9650d8"

通過被攻擊交易調用的方法篩選三明治交易信息

請求示例

# without filter
grpcurl -plaintext=false -import-path /path/to/proto -proto bscstream.proto -d ''  bsc.sandwich-detector.blockrazor.xyz:443 bscstream.TxStreamService/SubscribeTxStream
# with filter
grpcurl -plaintext=false -import-path /path/to/proto -proto bscstream.proto -d '{"to":"0xaa..bb"}'  bsc.sandwich-detector.blockrazor.xyz:443 bscstream.TxStreamService/SubscribeTxStream

Proto

// bscstream.proto
syntax = "proto3";

package bscstream;

option go_package = "proto/bscstream";

service TxStreamService {
  rpc SubscribeTxStream(TxFilter) returns (stream TxStreamResponse);
}

message TxFilter {
  string from = 1;   // (optional) from of victim tx to filter
  string to = 2;     // (optional) to of victim tx to filter
  string method = 3; // (optional) method of victim tx fo filter
}

message TxStreamResponse {
  repeated string txs = 1;         // all sandwich tx hash
  string victimtx = 2;             // victim tx hash
  repeated string attackertxs = 3; // frontrun and backrun tx hash
  string from = 4;                 // from of victim hash
  string to = 5;                   // to of victim hash
  string method = 6;               // method of victim hash
  repeated string tokens = 7;      // sandwiched token
  uint64 block = 8;                // block number of txs

  bool heartbeat = 9;              // if this resp is heartbeat, to keep stream alive if no sandwich data available
}

返回示例

{
  "txs": [
    "0xee5b2cfb7a5120206450b7edf2ac824ea810442d982b71923240115ef906acfa",
    "0xb2c9048de1af5be6733b3ed3d1ea4ac74c3d7a9e6c58a9e07ebdac7b8708399b",
    "0x046455f9207b5209489cfada58bfe593acdca58d4a730210e552e56199bfcfe8"
  ],
  "victimtx": "0xb2c9048de1af5be6733b3ed3d1ea4ac74c3d7a9e6c58a9e07ebdac7b8708399b",
  "attackertxs": [
    "0xee5b2cfb7a5120206450b7edf2ac824ea810442d982b71923240115ef906acfa",
    "0x046455f9207b5209489cfada58bfe593acdca58d4a730210e552e56199bfcfe8"
  ],
  "from": "0x387965d0b2dfbebb24aa02e0a068d79a0b42d82a",
  "to": "0xda77c035e4d5a748b4ab6674327fa446f17098a2",
  "method": "0xac9650d8",
  "tokens": [
    "0xdd1b2aaf66a030315a821e7588cf691d73b64444",
    "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"
  ],
  "block": "47993864"
}

Last updated