> For the complete documentation index, see [llms.txt](https://docs.offblocks.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.offblocks.xyz/developer-guides/smart-contracts.md).

# Smart Contracts

OffBlocks API is orchestrating a smart contract protocol designed to facilitate card payments while preserving self-custody invariants. In order to facilitate such payments, we have developed two main components:

* Smart Wallet
* Escrow Smart Contract

The following diagram visualises how OffBlocks API orchestrates the payment and how tokens are transferred throughout the payment lifecycle:

<div data-full-width="false"><figure><img src="/files/BIVPlc1G5K9BFsBt9gnx" alt=""><figcaption></figcaption></figure></div>

***OffBlocksEscrow*** contract is deployed to the following blockchains (testnets only for now):

<table><thead><tr><th width="244">Chain</th><th>Address</th></tr></thead><tbody><tr><td>Ethereum Sepolia</td><td><a href="https://sepolia.etherscan.io/address/0x3368F736Ce54d40248E109C65E7a9296B107e574#code">0x3368F736Ce54d40248E109C65E7a9296B107e574</a></td></tr><tr><td>Arbitrum Sepolia</td><td><a href="https://sepolia.arbiscan.io/address/0x3368F736Ce54d40248E109C65E7a9296B107e574#code">0x3368F736Ce54d40248E109C65E7a9296B107e574</a></td></tr><tr><td>Polygon Mumbai</td><td><a href="https://mumbai.polygonscan.com/address/0x3368F736Ce54d40248E109C65E7a9296B107e574#code">0x3368F736Ce54d40248E109C65E7a9296B107e574</a></td></tr><tr><td>zkSync Sepolia</td><td><em>Coming soon</em></td></tr></tbody></table>

{% hint style="info" %}
Contracts for ***OffBlocksSmartWallet*** and ***OffBlocksSmartWalletFactory*** will be added soon
{% endhint %}
