Triton One Docs
WebsiteCustomer Portal
  • Introduction
  • RPC Pool
    • Introduction
    • GeoDNS
    • Abuse prevention
    • Rate Limits
    • Proxying
    • Support FAQs
    • Privacy & Security
  • Chains
    • Solana
      • Streaming
      • BigTable Archive
      • Improved Priority Fees API
        • For RPC Providers
      • Cascade
        • Transaction sending advice
        • Buying Transaction Bandwidth
        • Providing Transaction Bandwidth
      • Web3JS Socket/Connection Issues
      • Deprecated calls Solana 2.0
    • Pythnet
    • SUI
    • Others
  • Digital Assets API
    • Introduction
    • Fungible Assets
    • API Methods
      • Get Asset
      • Get Asset Proof
      • Get Assets By Authority
      • Get Assets By Owner
      • Get Assets By Group
      • Get Assets By Creator
      • Search Assets
      • Get Token Accounts
      • Get Signatures For Asset
      • Get NFT Editions
      • Get Asset Proofs
  • Project Yellowstone
    • Introduction
    • Dragon's Mouth gRPC Subscriptions
    • Old Faithful Historical Archive
      • Old Faithful Public Report
    • Steamboat Custom Indexes
    • Whirligig WebSockets
    • Fumarole Reliable Streams
    • Vixen Data Pipelines
      • Generate Parsers with Codama
  • Shield Transaction Policies
  • Account Management
    • Payments
    • Account management API
      • Introduction
      • Auth & Headers
      • Accounts
      • Address Watch Lists
      • Subscriptions
      • Subscription Types
      • Endpoints
      • Tokens
      • Rate Tiers
  • Trading APIs
    • Introduction
    • Jupiter swap
    • Pyth Hermes
    • Bundle simulation by Jito
  • Validators
    • Introduction
    • Vote account setup
    • Node identity protection
  • Pyth Publishers
    • NGINX proxy
    • Testnet, Devnet and Pythnet
Powered by GitBook
On this page

Was this helpful?

Shield Transaction Policies

PreviousGenerate Parsers with CodamaNextPayments

Last updated 24 days ago

Was this helpful?

Learn more about Shield in our blog post introducing it:

Yellowstone Shield is a project that provides ways for managing transaction deliveries - allowing the user to allow or deny specific validators for downstream forwarding.

It's currently integrated with Yellowstone Jet and if you're using Cascade to send you already have support for it in your infrastructure for sending transactions. At it's simplest, you'd need to provide either a HTTP header or an additional parameter to your sendTransaction calls:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sendTransaction",
  "params": [
    "<base64_encoded_transaction>",
    {
      "encoding": "base64",
      "skipPreflight": true,
      "forwardingPolicies": ["<your_policy_pda>"]
    }
  ]
}

HTTP header:

Solana-ForwardingPolicies: "<your_policy_pda>,<your_policy_pda2>"

If you're using another transaction sending software or infrastructure, Shield provides a ready set of APIs for anyone to integrate with to apply shield policies before sending transactions out to leaders on the Solana network.

Shield policies live on chain, so they are always accessible to everybody and does not depend on a central agency to maintain and update. There is tooling available to create and maintain Shield policies here:

The Ping Thing client which we maintain has an exmaple of how to use Shield in web3.js:

Introducing Yellowstone Shield 🚫🛡️Triton One Blog
yellowstone-shield/cli at main · rpcpool/yellowstone-shieldGitHub
ping-thing-client/ping-thing-client-custom-sendTx-shield.ts at ping-thing-shield · rpcpool/ping-thing-clientGitHub
Logo
Logo
Logo