Getting Started with Shield3

This page will help you get started with Shield3.

๐Ÿ“ก Broadcast

The broadcast API relays all requests that pass Shield3 policy filters. Only eth_sendRawTransaction is subject to the filter. Any other method is passed through to the node.

Transactions are either:

  • Passed - No violations detected, transaction broadcast
  • Triaged - Violation detected, requests confirmation from sender via webhook or other configured notification mechanism. Transaction can be broadcast with user consent
  • Blocked - Violation detected. Transaction cannot be broadcast via Shield3

๐Ÿงช Simulate

The simulate API accepts an encoded raw transaction and detects any policy violations, returning the result.

Example response:

  "violations": true,
  "results": [{
    "id": 9000,
    "details": "Attempted transaction with unverified smart contract"

๐Ÿ“‹ Policies

Shield3 allows for both standard and custom policies. Custom policies can be applied per API key or per sending wallet.

The default policy blocks:

  • Transactions that violate US sanctions
  • Transactions sending funds or interacting with known malicious attackers including
    • ERC20, ERC721 permissions granted to flagged addresses
    • ETH, ERC20, ERC721 transfers to flagged addresses

The default policy triages:

  • ERC20 approvals
  • Interactions with suspected spam tokens

๐Ÿฆ Transaction Types

Both the broadcast and simulation API support the following transaction types:

โœ… EOA transactions with other EOAs and smart contracts

โœ… (Formerly Gnosis) Safe transaction execution via EOA trigger

โœ… (Formerly Gnosis) Safe transaction execution with bundled transactions