Proxy RPC API
The Proxy RPC sits between end users and the chain's standard RPC API. It enforces transaction-level access control by filtering all blockchain interactions before they reach the sequencer.
How It Works
The Proxy RPC validates every request against the Permissions API:
- User submits a transaction or query through the Proxy RPC
- Proxy validates the user's JWT and wallet address
- Proxy checks permissions for the requested contract function
- Authorized requests proceed to the standard RPC; unauthorized requests return
401 Unauthorized
Limitations
Multicall Contracts
Multicall contract methods bypass individual function permission checks. The Proxy blocks multicall patterns to prevent policy circumvention.
L1-L2 Transactions
Forced transactions originating from Ethereum (L1) can bypass the Proxy entirely. These transactions provide censorship resistance on public chains but create security risks for permissioned networks:
- Deploy arbitrary contracts
- Execute unauthorized writes
- Leak data through blind attacks
Mitigation:
L1-L2 transactions are not automatically disabled. Chain operators can implement transaction filtering to control forced transaction behavior.
The PrividiumTransactionFilterer
contract provides an allowlist-based filter:
- Allowlisted addresses execute unrestricted forced transactions
- Other addresses can only transfer ETH or ERC-20 tokens