bloXroute Documentation
WebsiteBlogTwitterDiscord
  • Welcome to bloXroute
  • Introduction
    • Why Use bloXroute?
    • Products
    • Create An Account
    • Technical Support
  • SOLANA
    • Trader API
      • Introduction
        • Regions
        • Authorization
        • Rate Limits
        • Tip and Tipping Addresses
      • Quick Start
        • Transaction Submission
        • Front-Running Protection & Transaction Bundle
        • Go SDK
        • Python SDK
        • Typescript SDK
        • Rust SDK
      • API Endpoints
        • Core Endpoints
          • submit
          • submit-paladin
          • submit-batch
          • balance
          • rate-limit
          • transaction
          • priority-fee
          • GetPriorityFeeStream
          • GetBundleTipStream
          • submit-snipe
        • Pump.fun
          • quotes
          • swap
          • swap-sol
          • GetPumpFunNewTokensStream
          • GetPumpFunSwapsStream
          • GetPumpFunAMMSwapsStream
        • Raydium
          • quotes
          • pools
          • pool-reserves
          • swap
          • cpmm-swap
          • clmm-swap
          • route-swap
          • GetPoolReservesStream
          • GetSwapsStream
          • GetNewRaydiumPoolsStream
          • GetNewRaydiumPoolsByTransactionStream
        • Jupiter
          • quotes
          • swap
          • swap-instructions
          • route-swap
        • Openbook
          • markets
          • orderbooks/{market}
          • depth/{market}
          • tickers/{market}
          • open-orders/{market}
          • unsettled/{market}
          • place
          • replace
          • cancel
          • settle
          • GetOrderbooksStream
          • GetTickersStream
      • Best Performance for Landing Transactions
      • Support
        • API Health
        • Contact us
        • Suggestions
        • Wiki
          • Terms & Concepts
          • Resources
    • Optimized Feed Relay (OFR)
      • Transaction Streamer
      • Gateway and OFR Requirements
      • Gateway and OFR Setup
      • Gateway Startup Arguments
      • OFR performance
      • Logging
      • Submitting Transaction
      • Upgrading Gateway
      • Troubleshooting
  • BSC & ETH
    • EVM Blockchain Distribution Network (BDN)
      • How to Connect
      • The bloXroute Gateway
        • Local Gateway
          • Installation and Startup
            • Authentication & Certificates
            • Requirements
            • Supported Clients
            • GitHub repository option
            • Docker container option
            • Startup Script
            • Startup Arguments
          • General Connectivity Troubleshooting
          • Logging
          • Upgrading your Gateway
        • Add Your Gateway as a Trusted Peer to Your Execution Layer Client
        • Connecting Your Gateway with the Consensus Layer
      • IPs & Relays
        • Relays IPs
        • Private Relays
        • Cloud-API IPs
          • ⏩Reducing Latencies using the BDN
    • APIs
      • Authorization
      • Check Transaction Quota
      • Submit a Transaction
        • Raw Transaction Construction
        • Tx-Validation
        • Batch Transaction
      • Private Transactions
        • ETH Private Transactions
        • BSC Private Transactions
      • Transaction Bundles
        • Bundle Simulation
        • Bundle Validation
        • Bundle Submission
          • BSC Bundle Submission
            • List of BSC Validators
          • ETH Bundle Submission
          • Bundle Submission with Gateway
        • Bundle Tracking
          • BSC Bundle-Trace
          • ETH Bundle-Trace
          • ETH Bundle Inclusion Status
        • Bundle Refunds
          • Priority Fee Refund
          • Bundle Refund
          • Latest Bundle Refunds
      • Backrun Arbitrage
        • BackRunMe: Bundle Submission
          • BSC submit arbOnly
          • ETH submit arbOnly
            • blxr_info
            • ETH arbOnly Simulation
      • Token Launch Sniping
      • Other Utilities
        • List of bloXroute Builders
        • List of External Builders
        • Tx-Trace
        • Ping
    • Streams
      • Requirements
      • Subscription limits
      • Working With Streams
        • Creating a Subscription
          • Websocket
          • gRPC
        • Handling the Notification
          • Websocket
          • gRPC
        • Cancelling a Subscription
          • Websocket
          • gRPC
        • Local Node Validation
      • newTxs and pendingTxs
        • Filters
        • Raw TX Reconstruction
      • BackRunMe: arbOnlyMEV
        • ETH arbOnlyMEV
        • BSC arbOnlyMEV
      • transactionStatus
      • txReceipts
      • newBlocks
      • bdnBlocks
      • ethOnBlock
      • MEVBlockValue
      • MEVNextProposerInfo
    • Block Builders and Validators
      • Validator Gateway
      • MEV Relay (For Validators)
      • Block Submission
      • Proposer MEV-Protect
      • Compliance Lists
      • Preconfirmations
    • Protect RPCs
      • ETH Protect RPC
      • ETH Gas Protect RPC
      • BSC Protect RPC
      • SOL Protect RPC
  • Base Network
    • Submit Transactions
    • Streams
      • GetBdnBlockStream
  • TON NETWORK
    • TON Trader API
      • Quick Start
      • Fee Schedule
      • Connection
      • Submit Signed Transaction
  • Resources
    • BDN Explorer
    • Block Explorer
    • Guides
      • Algorithmic Trading
      • Setting Up a Local Gateway
      • Gateway as Web3 Bridge
    • Architecture
      • BDN Architecture
        • Network Components
        • Performance Techniques
          • Block Compression
          • Cut-through Routing
          • Optimized Topology
      • bloXroute Protocol
        • Versioning
        • Message Structure
        • Message Types
    • Contact Us
Powered by GitBook
On this page
  • Validators
  • Builders
  1. BSC & ETH
  2. Block Builders and Validators

Compliance Lists

Compliance lists are watchlists of certain association sets of addresses, established according to specific criteria.

Compliance lists are generally used as blacklists, allowing builders to avoid building blocks that include transactions involving an address in this list, and allowing block proposers to voluntarily prevent any blocks they propose from including transactions involving any address in the chosen compliance list.

There are currently 5 available compliance lists:

List name
Maintianer
Description
Parameter value
Address count*

OFAC

bloXroute

List of addresses sanctioned by OFAC

157

Sanction Watchlist

Global Ledger

List of addresses belonging to sanctioned entities

955

Sanction Exposure Watchlist

Global Ledger

List of addresses who have been exposed to funds involved with sanctioned entities

115754

Cybercrime Watchlist

Global Ledger

List of addresses involved in known cybercrime

20536

Suspicious Watchlist

Global Ledger

List of addresses suspected of leading to crime or sanctions

744

*as of May 29th 2024

Validators

For validators that wish to use a compliance list to make sure any blocks they propose avoid transactions from addresses on a selected compliance list:

Add a compliance query parameter to the URL you pass in using the -relays flag. For example:

https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?compliance_list=ofac

Multiple Lists

Validators can choose more than one compliance list. To utilize multiple compliance lists, either pass in a comma-separated list of valid compliance list names, or pass in separate compliance_list values. For example:

https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?compliance_list=global-ledger-cybercrime-watchlist,global-ledger-sanction-watchlist

or

https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?compliance_list=global-ledger-cybercrime-watchlist&compliance_list=global-ledger-sanction-watchlist

Builders

Checking which list to use

To check which list to use, the validator registration contains information on which compliance list (if any) the validator will follow.

type GetValidatorRelayResponse []struct {
    Slot  uint64 `json:"slot,string"`
    Entry struct {
        Message struct {
            FeeRecipient string `json:"fee_recipient"`
            GasLimit     uint64 `json:"gas_limit,string"`
            Timestamp    uint64 `json:"timestamp,string"`
            Pubkey       string `json:"pubkey"`
        } `json:"message"`
        Signature string `json:"signature"`
    } `json:"entry"`
    ComplianceList      string `json:"compliance_list"`
    EnforcedProfitRatio uint64 `json:"enforced_profit_ratio"`
}

This will be served as a JSON object.

Getting the list

For builders that want to submit blocks for validators that are using compliance lists, their builder must get the compliance lists from the relay. The request can be made with a GET request to the endpoint:

/blxr/compliance_lists

and the query parameter:

list=<INSERT_LIST_HERE>

For example:

https://bloxroute.regulated.blxrbdn.com/blxr/compliance_lists?list=global-ledger-sanction-watchlist

The builder can query multiple lists at once. To do this, provide a comma-seperated list of the desired compliance lists. For example:

https://bloxroute.regulated.blxrbdn.com/blxr/compliance_lists?list=global-ledger-sanction-watchlist,global-ledger-cybercrime-watchlist

PreviousProposer MEV-ProtectNextPreconfirmations

The builder must include their (from bloXroute account portal) in the http request header, like -H "Authorization: <YOUR-AUTHORIZATION-HEADER>" , when making this query.

Note: the result will be served in SSZ (for the sake of speed). To unmarshal the SSZ, the public repo (only the branch compliance-lists-example). includes the ComplianceRegistry struct, which has the method: UnmarshalSSZ(buf []byte) that can be used to unmarshal the response into a usable ComplianceRegistry struct.

ofac
global-ledger-sanction-watchlist
global-ledger-sanction-exposure-watchlist
global-ledger-cybercrime-watchlist
global-ledger-suspicious-watchlist
authorization header
https://github.com/bloXroute-Labs/builder-compliance-lists