> For the complete documentation index, see [llms.txt](https://openocean-org.gitbook.io/us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://openocean-org.gitbook.io/us/openocean-finance.md).

# OpenOcean Finance

{% embed url="<https://openocean.finance/>" %}

<figure><img src="/files/jMrz1kB8PQQvXDCKo6F7" alt=""><figcaption></figcaption></figure>

### Understanding Open Ocean in Ethereum Smart Contracts

Smart contracts on Ethereum enable autonomous, tamper-proof execution of code through a decentralized virtual machine. However, writing foolproof code can be challenging due to inherent risks around gas limits, reentrancy attacks and more.

This is where Open Oceans come in handy as a powerful tool in the Solidity programmer's toolbox - allowing seamless execution of safe external functions without risk of exploitation. Used correctly, Open Oceans empower secure cross-contract interactions on Ethereum.

#### So what exactly is a Open Ocean and how does it work? Let's dive deeper:

\
Use Cases for Open Ocean

**Some common smart contract patterns that leverage Open Oceans include:**

* **Libraries: Reusable helper code that can only read/modify storage of caller contract.**
* **Wrappers: Facades calling out to trusted external implementations for upgrades flexibility.**
* **Templating: Component libraries callable across multiple consumer contracts.**
* **Features-as-a-service: Modular functionality accessed by multiple clients securely.**
* **Fallback handlers: Safe handling of unexpected calls to prevent exploitation.**
* **Upgrades: Deploying new versions while maintaining storage of old implementation.**
* **Multisig: Complex logic shared safely across multiple approval addresses.**

Essentially, Open Ocean enable secure code "outsourcing" and composition - vital patterns for resilience and upgradability.
