# CODEBASE

- [RAIRsolidity](https://docs.rairprotocol.org/rairprotocol/codebase/rairsolidity.md): RAIR smart contract logic
- [Soneium (Minato)](https://docs.rairprotocol.org/rairprotocol/codebase/rairsolidity/soneium-minato.md): Official RAIRprotocol deployment contracts on Soneium Testnet
- [Core DAO](https://docs.rairprotocol.org/rairprotocol/codebase/rairsolidity/core-dao.md): List of Core DAO deployed contract addresses
- [All Contract Addresses](https://docs.rairprotocol.org/rairprotocol/codebase/rairsolidity/all-contract-addresses.md): Deployed Solidity contracts.
- [Transfer functions](https://docs.rairprotocol.org/rairprotocol/codebase/rairsolidity/transfer-functions.md): List of smart contract functions that invoke transfer conditions
- [RAIRdapp](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp.md)
- [RAIRfrontend](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairfrontend.md): The REACT + Typescript marketplace frontend of the RAIR system.
- [Proxy Settings for Default Frontend](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairfrontend/proxy-settings-for-default-frontend.md): How to configure system to load a blank homepage
- [Frontend Variables Library](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairfrontend/frontend-variables-library.md): List of variables that can be modified on the RAIRfrontend
- [RAIRnode](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairnode.md): Backend of the RAIR system
- [Permissions and Access Controls](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairnode/permissions-and-access-controls.md)
- [Backend Variables Library](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairnode/backend-variables-library.md): List of variables for configuring the RAIRnode
- [RAIRsync](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairsync.md): Alchemy powered syncing system for RAIR
- [Integrating New EVMs](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairsync/integrating-new-evms.md): How to add support for new EVMs
- [RAIRstream](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairstream.md): RAIR steaming DRM system
- [RAIRinfra](https://docs.rairprotocol.org/rairprotocol/codebase/rairdapp/rairinfra.md): All of the Kubernetes manifests and other cloud configuration settings.
- [RAIR API](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api.md): Connecting It All
- [Endpoints](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints.md): RAIR API currently provides the following 16 sub resources:
- [Auth](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth.md): /api/auth provides endpoints for authentication of web3 wallets, login/logout functionality, and media accessibility.
- [Get challenge](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/get-challenge.md): Intent "login" to check if want to make signature request to login to system or unlock a video.
- [Login](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/login.md)
- [Logout](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/logout.md)
- [Me](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/me.md)
- [Unlock](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/unlock.md)
- [Stream](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/stream.md)
- [Out](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/auth/stream/out.md)
- [Analytics](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/analytics.md): /api/analytics provides endpoints for gathering and outputting analytics data for specified media.
- [Csv](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/analytics/csv.md): This endpoint lets you export user data from the platform. To use it you need to provide a valid media id.
- [Contracts](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts.md): /api/contracts provides endpoints for gathering, outputting, and importing Smart Contract data to and from the database.
- [FactoryList](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/factorylist.md)
- [Full](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/full.md)
- [Import](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/import.md)
- [My](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/my.md)
- [Network](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/network.md)
- [Products](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/network/products.md)
- [Offers](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/contracts/network/products/offers.md)
- [Credits](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/credits.md): /api/credits provides endpoints for tracking erc20 fungible token balances, off chain, in the database. Users deposit tokens on chain, and the database tracks spending until the balance is withdrawn.
- [Withdraw](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/credits/withdraw.md): Warning:
- [Favorites](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/favorites.md): /api/favorites provides endpoints for gathering, adding, and removing tokens from a users favorites list.
- [Files](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files.md): /api/files provides endpoints for locating, displaying, and modifying information associated with specified media files.
- [ById](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/byid.md)
- [ByCategory](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/bycategory.md)
- [Categories](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/categories.md)
- [ForToken](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/fortoken.md)
- [Unlocks](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/unlocks.md)
- [List](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/list.md)
- [Remove](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/remove.md)
- [Update](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/files/update.md)
- [Nft](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft.md): /api/nft provides endpoints for locating, and uploading metadata for user NFTs.
- [Network](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network.md)
- [Attributes](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/attributes.md)
- [Files](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/files.md)
- [Locks](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/locks.md)
- [Offers](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/offers.md)
- [Token](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/token.md)
- [Pinning](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/network/token/pinning.md)
- [PinningMultiple](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/pinningmultiple.md)
- [Csv](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/csv.md)
- [Sample](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/nft/csv/sample.md)
- [Offers](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/offers.md): /api/offers provides endpoints for querying available offers. An offer is subset of tokens within a product associated with a specified price.
- [/](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/offers/undefined.md)
- [Products](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/products.md): /api/products provides endpoints for locating and updating product information. A product represents an individual collection of tokens within a contract.
- [/](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/products/undefined.md)
- [User](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/products/user.md)
- [Resales](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales.md): /api/resales
- [Create](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales/create.md)
- [Delete](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales/delete.md)
- [Open](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales/open.md)
- [Purchase](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales/purchase.md)
- [Update](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/resales/update.md)
- [Search](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/search.md): /api/search
- [All](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/search/all.md)
- [Settings](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/settings.md): /api/settings
- [Featured](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/settings/featured.md)
- [Theme](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/settings/theme.md)
- [AppLogo](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/settings/applogo.md)
- [Tokens](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/tokens.md): /api/tokens
- [/](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/tokens/undefined.md)
- [TokenNumbers](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/tokens/tokennumbers.md)
- [Transaction](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/transaction.md): /api/transaction
- [Upload](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/upload.md): /api/upload
- [File](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/upload/file.md)
- [Validate](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/upload/validate.md)
- [Users](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/users.md): /api/users
- [/](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/users/undefined.md)
- [Export](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/users/export.md)
- [List](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/users/list.md)
- [Yoti verify](https://docs.rairprotocol.org/rairprotocol/codebase/rair-api/endpoints/users/yoti-verify.md)
- [A Note on Documentation](https://docs.rairprotocol.org/rairprotocol/codebase/a-note-on-documentation.md): Space is cheap, Document Your Work.


---

# 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://docs.rairprotocol.org/rairprotocol/codebase.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.
