> For the complete documentation index, see [llms.txt](https://harpie.gitbook.io/welcome-to-the-harpie-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://harpie.gitbook.io/welcome-to-the-harpie-docs/tech-and-security/contracts.md).

# Contracts

A detailed breakdown of the Harpie smart contract architecture.

<figure><img src="https://968617169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx4BnZvpxWqcNAcwPX7lV%2Fuploads%2F2Q0CFE8eiUjsY5HJPgga%2Fimage.png?alt=media&amp;token=56fabc5f-58e3-45ef-9453-f23e34b8f00c" alt=""><figcaption></figcaption></figure>

The Vault system operates on a two-contract system:

The [Transferer](/welcome-to-the-harpie-docs/tech-and-security/contracts/transferer.md) contract has the ability to move your tokens to our noncustodial Vault. It cannot transfer your tokens anywhere else.

The [Noncustodial Vault](/welcome-to-the-harpie-docs/tech-and-security/contracts/noncustodial-vault.md) contract allows you to withdraw tokens that we've transferred. Only you can withdraw your assets out of the noncustodial vault: neither Harpie nor any other entity has the ability to withdraw assets on your behalf.

These contracts were designed to be easily-readable and easily-analyzed for any potential customer.
