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

# Revest Developer Documentation

## Modularity within Revest

Revest offers two primary methods for building modular contracts that plug into our tech-stack and allow for anyone to create a Financial Non-Fungible Token (FNFT) to represent an arbitrary position: Address Locks and Output Receivers.

* [**Address Locks**](/address-lock-configs.md) **allow for anyone to specify custom unlock conditions for an FNFT with any on-chain data source**
* [**Output Receivers**](/output-receiver-overview.md) **allow for any non-fungible financial instrument to be easily represented with an FNFT and frictionlessly incorporated into Revest, permitting the displaying of custom data to the end-user and avoiding the necessity of independently developing an NFT-based GUI.**&#x20;

## [Revest Contract Source Code](https://github.com/Revest-Finance/RevestContracts)

## [Revest API Source Code](https://github.com/Revest-Finance/RevestAPI)
