# OP Security Proxy: A local RPC middleware to prevent paying for failed L2 executions

**URL:** <https://gov.optimism.io/t/op-security-proxy-a-local-rpc-middleware-to-prevent-paying-for-failed-l2-executions/10810>\
**Category:** ✨ General\
**Created:** [August 15, 2026, 3:54am UTC](https://gov.optimism.io/t/op-security-proxy-a-local-rpc-middleware-to-prevent-paying-for-failed-l2-executions/10810 "2026-08-15T03:54:41Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Cypherin](https://avatars.discourse-cdn.com/v4/letter/c/ebca7d/32.png) [@Cypherin](https://gov.optimism.io/u/Cypherin)\
**Post date:** [September 4, 2026, 1:26pm UTC](https://gov.optimism.io/t/op-security-proxy-a-local-rpc-middleware-to-prevent-paying-for-failed-l2-executions/10810/4 "2026-09-04T13:26:54Z")

</div>

Just wanted to close the loop here. The question about how this surfaces to an ordinary wallet user directly shaped how I scoped the SDK work: the formal builder grant proposal is now up at [[Builder Grant Proposal] OP Security Proxy: Local Pre-Execution & Revert Interception for the Superchain](https://gov.optimism.io/t/10845), and milestone two is specifically the TypeScript provider wrapper with standardized error decoding so a wallet like GemWallet can render the exact revert reason and the gas saved at the confirmation step, instead of a generic failed transaction. Appreciate the input, it’s part of why that milestone looks the way it does.

---

_[View the full topic](https://gov.optimism.io/t/op-security-proxy-a-local-rpc-middleware-to-prevent-paying-for-failed-l2-executions/10810)._
