# Openfort Chain Abstraction

### Overview

Hashi has been integrated as a fallback proving mechanism for [Openfort’s](https://github.com/openfort-xyz/openfort-chain-abstraction) chain-abstraction project. Openfort, a wallet solution focused on enhancing chain interoperability, utilizes Polymer for cross-L2 execution proofs and leverages Hashi as a robust backup. This setup ensures continued security and reliability in case Polymer or Openfort's primary proof solution becomes unavailable.

### How the Integration Works

When Openfort's primary proof provider (Polymer) is unavailable, Hashi steps in to ensure liquidity providers (LPs) can still generate valid proofs for their fronted funds. This is achieved by using a local Hashi RPC API that wraps Ethereum methods like `eth_getProof` for storage proofs or `eth_getTransactionReceipt` for event proofs. The proof generated by Hashi is then submitted through the `fallbackRepay` function of Openfort's `InvoiceManager` smart contract, enabling refunds solely with public on-chain data and avoiding reliance on third parties.

#### Key Steps:

1. **Proof Generation:** LPs run a Hashi RPC API locally to generate proofs.
2. **Proof Submission:** The generated proof is submitted via the `fallbackRepay` function.
3. **Repayment Processing:** Openfort's `InvoiceManager` contract handles the repayment using only on-chain data, ensuring a trustless and permissionless fallback strategy.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://crosschain-alliance.gitbook.io/hashi/apps-integrations/openfort-chain-abstraction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
