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