> For the complete documentation index, see [llms.txt](https://docs.ironblocks.com/firewall/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ironblocks.com/firewall/quick-start/using-proxy-pattern.md).

# Using Proxy Pattern

This process builds on OpenZeppelin's upgradable contracts - replacing [`ProxyAdmin`](https://docs.openzeppelin.com/contracts/3.x/api/proxy#ProxyAdmin) with Ironblocks' [`FirewallProxyAdmin`](/firewall/smart-contracts/firewallproxyadmin.sol.md) and replacing [`TransparentUpgradableProxy`](https://docs.openzeppelin.com/contracts/3.x/api/proxy#TransparentUpgradeableProxy) with Ironblocks' [`FirewallTransparentUpgradableProxy`](/firewall/smart-contracts/firewalltransparentupgradableproxy.sol.md) *(both of which inherit from their OpenZeppelin counterpart)*.

## Step By Step

1. Deploy our [`FirewallProxyAdmin`](/firewall/smart-contracts/firewallproxyadmin.sol.md) contract.\
   \
   You'll interact with this contract to perform administrative tasks on your proxy *(most commonly upgrading your protocol's underlying implementation contract)*.<br>
2. Deploy our [`FirewallTransparentUpgradableProxy`](/firewall/smart-contracts/firewalltransparentupgradableproxy.sol.md) contract with the following parameters:<br>
   1. `_logic`\
      The address of your implementation contract<br>
   2. `admin_`\
      The address of the `FirewallProxyAdmin` contract *(the one we deployed in Step 1 above)*<br>
   3. `_data`\
      Optional initialization data<br>
   4. `_firewall`\
      The address of Ironblocks' Firewall contract *(see* [*Addresses*](/firewall/addresses.md)*)*<br>
   5. `_firewallAdminAddress`\
      The address of your firewall administrator *(this is the contract or person that will manage policies for your firewall)*.<br>
   6. That's it!\
      Your smart contracts are now ready to use Ironblocks' Firewall.

> This is the suggested implementation method for upgradable contracts

## Next Steps

* Head on to the [Configuration](/firewall/configuration.md) section to learn more about security policy management.<br>
* Review our [Smart Contracts](/firewall/smart-contracts.md)
