SettleMint
ArchitectureSecurity

Private mempool routing for DALP transactions

How to route DALP transaction submission through a private or encrypted mempool service by replacing the public RPC endpoint, what the service protects against, and what remains an operator responsibility.

A private or encrypted mempool service replaces the public JSON-RPC submission path with a relay that hides pending transactions from the public mempool until inclusion. DALP signs and submits configured EVM transactions through the JSON-RPC endpoint named in chain configuration, so the routing decision is a configuration choice, not a contract change. This page covers the two integration shapes the platform supports, the chain-configuration values to set, what the route protects, and what it does not.

Use this page when an asset programme on a public EVM network needs to reduce pre-inclusion visibility of mints, redemptions, treasury writes, role changes, or other high-signal operations. The chosen response is to route DALP transactions through a relay rather than move to a permissioned network.

Prerequisites

Confirm the following before routing transactions through a private mempool service:

  • A signed agreement with the relay or service operator that names supported chains, supported JSON-RPC methods, transaction privacy guarantees, fallback behaviour, and dispute resolution.
  • A configured DALP environment for the target chain with the deployed DALP contract addresses recorded in the network configuration. See supported networks.
  • A decision from security, compliance, and legal that the asset programme accepts the trust assumptions of the chosen relay operator and the broader builder set the relay can reach.
  • A reconciliation path that uses DALP transaction tracking against the public chain after inclusion. See transaction tracking.

What a private mempool service does

A private mempool service accepts a signed transaction, holds it outside the public peer-to-peer mempool, and submits it to block builders, proposers, or sequencers that the service has a relationship with. The service hides transaction calldata, signer, recipient, and amount from the public mempool until a builder includes the transaction in a block.

The relay model varies by service:

Relay modelHow transactions reach a blockTypical chain support
Direct builder submissionThe relay forwards the signed transaction to one or more block builders that include the bundle in a candidate block. The proposer accepts the block as part of normal block flow.Ethereum mainnet and chains with MEV-Boost-style builder markets.
Sequencer-private submitThe relay sends the transaction to the network sequencer through a private endpoint. The sequencer includes the transaction without first publishing it to a public mempool.Rollups whose sequencer exposes a private submission endpoint.
Encrypted mempoolThe relay accepts an encrypted transaction, releases the plaintext only after ordering is committed, and submits the decrypted transaction to the builder or sequencer for inclusion.Networks with encrypted mempool protocols and supporting client integrations.

Across all three models, finality, balance changes, emitted events, and contract state remain public after inclusion. The relay changes who can see the transaction before it lands, not what becomes visible once it lands.

Two integration shapes

Private mempool services expose their relay through one of two JSON-RPC surface shapes. The integration with DALP depends on which shape the service uses.

Shape one: drop-in JSON-RPC endpoint

The service exposes a full JSON-RPC interface and accepts read methods (eth_call, eth_getLogs, eth_blockNumber) as well as write methods (eth_sendRawTransaction). The endpoint can replace a public RPC URL for the whole chain.

DALP settingValue
rpc.urlThe relay's JSON-RPC endpoint URL.
rpc.urlsUse only relay endpoints that preserve the same private-write guarantee. Do not add a public broadcast fallback when every write must stay private.
wsUrlSet when the relay exposes a WebSocket subscription endpoint.
supportsFinalizedTagMatch the underlying chain's behaviour. The relay typically inherits the chain's finalized tag.
finalityConfirmationsMatch the underlying chain's confirmation policy.
RPC limits and batchingApply the relay's documented getLogs and concurrency limits.

Drop-in endpoints are the simplest to wire because DALP services do not need to distinguish reads from writes. If the deployment requires every write to stay private, treat a relay outage as a fail-closed condition. A fallback transport can retry the same write on another configured endpoint, so any fallback endpoint must provide the same private submission guarantee. Use a Chain Gateway write-path split when reads need a public RPC but writes must never broadcast publicly. The relay terms of service still apply, including rate limits, retention policy, and any logging the relay performs on inbound transactions.

Shape two: send-raw-only relay

The service accepts only eth_sendRawTransaction (and sometimes eth_sendBundle or a vendor-specific method) on its private endpoint. Read methods, transaction-status polling, log fetching, and block-tracking calls must still resolve through a regular RPC.

Use the Chain Gateway to split the traffic: configure one upstream that handles reads and one upstream that handles the private write path. Restrict the private upstream to the methods the relay accepts.

erpc:
  config:
    projects:
      - id: dalp
        networks:
          - architecture: evm
        upstreams:
          - id: read-rpc
            endpoint: https://reads.example.com
            evm: {}
            allowMethods:
              - "*"
            ignoreMethods:
              - "eth_sendRawTransaction"
            autoIgnoreUnsupportedMethods: false
          - id: private-mempool-write
            endpoint: https://private-relay.example.com
            evm: {}
            allowMethods:
              - "eth_sendRawTransaction"
            autoIgnoreUnsupportedMethods: false

DALP services keep calling the same internal gateway URL. The gateway routes eth_sendRawTransaction to the private relay and every other method to the read upstream. Keep autoIgnoreUnsupportedMethods: false on both upstreams so a transient unsupported response does not silently re-route a private write to the public read path.

Decision matrix

Use this matrix to compare the two shapes against the operational footprint they require.

QuestionDrop-in JSON-RPC endpointSend-raw-only relay
Where is the relay configured?Directly in the DALP network configuration as rpc.url or in rpc.urls.As a Chain Gateway upstream scoped to eth_sendRawTransaction. A separate read upstream serves every other method.
Does DALP code change?No. DALP uses the configured RPC URL.No. DALP keeps calling the gateway URL.
Are reads private?Read traffic flows through the relay subject to its retention and access policy.Reads continue to use a regular RPC and remain as private as that RPC.
What happens if the relay drops a transaction?The private write fails closed unless another private relay endpoint is configured. DALP transaction tracking reports it as pending or stuck.Same. DALP transaction tracking reports it as pending or stuck.
Can a fallback resubmit publicly?Avoid public broadcast fallbacks when every write must stay private. Use only private-equivalent fallback endpoints, or leave the write stuck for operator action.Not when the read upstream blocks eth_sendRawTransaction and the private upstream is the only write route.
What happens to subscriptions?Configure wsUrl against the relay when supported; otherwise DALP falls back to HTTP polling.The read upstream serves subscriptions when it exposes a WebSocket endpoint.

Reference providers

Public services that operate one of the relay models above and accept signed transactions from any client. Confirm current chain coverage, supported methods, retention policy, service-level agreement, and contract terms with the provider before procurement. Free retail endpoints exist for most of these services; production deployments that need rate guarantees or audit support usually require a separate agreement with the operator.

ServiceRelay modelIntegration shapePrimary chain coverage
Flashbots ProtectDirect builder submissionDrop-in JSON-RPCEthereum mainnet, Sepolia, Holesky.
MEV BlockerDirect builder submissionDrop-in JSON-RPCEthereum mainnet.
bloXroute ProtectDirect builder submissionDrop-in JSON-RPC plus eth_sendBundleEthereum mainnet, BNB Smart Chain.

Sequencer-private submission on a rollup requires the chain operator's private endpoint. Contact the operator (for example Arbitrum or Optimism) for the URL, supported methods, and contract terms. Encrypted-mempool networks (for example Shutter on Gnosis Chain) provide the capability at the network and validator level rather than as a separate RPC service, so the decision is to deploy on that network rather than procure a relay.

What the route protects

A private mempool route reduces specific visibility surfaces. Map each protection to the threat it addresses.

ProtectionThreat addressed
Pending transaction hidden from peersPublic mempool snooping, generalized front-running of pending intent, sandwich attacks on swaps.
Calldata hidden until inclusionAdversaries inferring mint, burn, redemption, freeze, or role-change intent before the operation lands.
Bundle ordering through the relayReorderings by independent searchers competing for the same block space against your transaction.
Optional bundle revert protectionA failed simulation discarding the bundle before the relay submits it, when the relay supports this flag.

What the route does not change

A private mempool route does not change anything after inclusion and does not remove every observer.

ItemWhy the route does not change it
Transaction inputs after inclusionCalldata, signer, recipient, and amount are public once the block is final.
Emitted eventsToken, identity, registry, and compliance events follow the configured contracts and are visible on the public chain.
Contract stateBalances, registry entries, claims, and module state remain readable through any public RPC after inclusion.
Validator and builder visibilityThe relay's builder set, proposer set, or sequencer can see plaintext when they receive the transaction. Trust depends on the relay terms.
Finality behaviourFinality is set by the underlying chain. The relay does not change confirmation depth or reorg risk.
Cross-chain or off-chain disclosureKYC, KYB, AML, sanctions evidence, custody attestations, and reserve reports remain owned by the operator's off-chain controls.
Regulatory reportingTransaction reporting, market-abuse monitoring, and disclosure obligations remain owned by the asset programme.
Generic MEV immunityRouting reduces some MEV categories but does not produce a generic "MEV-proof" deployment. Assess each operation against its threat model.

Reconciliation and transaction tracking

DALP transaction tracking polls the configured chain for receipts and reconciles submitted writes against final chain state. Private mempool routing does not change that loop, but it does change two operational behaviours.

BehaviourEffect of private mempool routing
Receipt sourceReceipts come from the underlying chain. Configure the read upstream against a regular RPC for that chain so DALP can poll receipts even when the write path is private.
Replacement transactionsA relay may drop or deprioritize replacement transactions that change nonce, gas policy, or signer. Document the relay's replacement and cancellation behaviour before relying on retries.
Stuck transactionsA transaction that never reaches a builder remains pending without entering a public mempool. Decide whether to escalate, resubmit through the same relay, or escalate to a public broadcast.
Audit evidenceRecord the relay identity, endpoint, request ID, and submission timestamp alongside the eventual block, transaction hash, and reconciliation outcome.

Operator checklist

Run this checklist before a regulated asset programme starts routing transactions through a private mempool service.

  1. Name the chain, the relay, the supported methods, and the relay's documented behaviour for stuck and dropped transactions.
  2. Decide whether the relay replaces the public RPC entirely or only the write path. Configure DALP accordingly.
  3. Decide whether any operation may fall back to a public broadcast. For private-write requirements, configure fail-closed behaviour: keep public RPC endpoints out of rpc.urls for the write path, or use Chain Gateway so only the private upstream can handle eth_sendRawTransaction.
  4. Confirm that DALP transaction tracking can poll receipts against a public or operator-controlled RPC for the same chain.
  5. Confirm that the relay's logging, retention, and access policy is acceptable to compliance and that the trust boundary is documented.
  6. Confirm that the relay's terms cover the operations the asset programme cares about, including mints, redemptions, treasury writes, freezes, and role changes.
  7. Record the relay identity, endpoint, and policy version in launch evidence. Re-confirm when the endpoint, supported methods, contract terms, or asset scope shifts.

Ownership matrix

AreaOperator ownsDALP providesRelay operator owns
Relay selection and contract termsChoose the relay, sign the agreement, and renew it on schedule.Documentation that names DALP's transaction submission model and the configuration values that route writes through a relay.Service definition, supported methods, fallback behaviour, retention, and dispute handling.
Network configurationSet rpc.url, rpc.urls, wsUrl, finality settings, and RPC limits for the chosen relay.DALP configuration schema for built-in viem chains and custom EVM chains.Endpoint availability, rate limits, and any vendor-specific methods.
Chain Gateway upstreamsDefine the per-upstream allowMethods and autoIgnoreUnsupportedMethods policy for the relay and read paths.Chain Gateway with eRPC routing, retries, hedging, and caching across upstreams.The private endpoint's response semantics and method support.
ReconciliationReconcile DALP transaction tracking against the public chain receipt and the operator's treasury or reserve record.Transaction tracking, receipt polling, replacement support, and operator-facing status surfaces.Submission acknowledgement, bundle status, and any inclusion or drop signal the relay exposes.
Audit and disclosureRecord the relay identity, policy, and evidence trail. Decide what to disclose to regulators or counterparties.Audit-log emission for DALP submission, signing, and tracking events.Any audit or reporting that depends on the relay's logs.

On this page