> For the complete documentation index, see [llms.txt](https://docs.t-rex.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.t-rex.network/appstore.md).

# T-REX AppStore

The T-REX AppStore is the directory of the applications available in the T-REX ecosystem. The protocol defines who owns an asset and which movements are allowed. Applications are what Issuers, Investors and intermediaries use to act on that record: to distribute an asset, to trade it, to operate it from an existing system. This section says what each application does, who provides it, and how it uses the protocol.

## What an application is

An application is built on the protocol by its own provider. It is not part of the protocol, and the protocol does not depend on it.

|                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **It acts through the public interface of the contracts.** | Everything an application does can be done by calling the contracts directly. The [Guides](/guides/about-the-guides.md) document each operation.                                                                                                                                                                                                                                                                                                                                         |
| **It has no privileged path.**                             | A call from an application passes the same access control and the same checks as a call from any other account. A contract takes part under its own ONCHAINID, of type `SMART_CONTRACT`. A contract that holds tokens is a holder and passes the same two gates as any holder: eligibility and compliance. A contract that only moves tokens for holders with `transferFrom` is a spender: the asset's spender policy applies to it, and each movement it executes passes the two gates. |
| **It holds only what it is granted.**                      | An Issuer that lets an application mint, burn or freeze grants it the matching agent role in the asset's domain, and can revoke it. A holder that lets an application move its tokens gives it an allowance, and the asset's spender policy decides whether the application may use it.                                                                                                                                                                                                  |
| **It is optional.**                                        | An Issuer chooses the applications its asset is connected to. An asset with no application is a complete asset.                                                                                                                                                                                                                                                                                                                                                                          |

> **Trust statement.** Listing an application in the AppStore does not change what it can do on an asset. What it can do is what the Issuer and the holders grant it, and each grant is visible on-chain: a role in the suite's `TREXAccessManager`, an allowance on the token, and, when the asset has a spender policy, the `SPENDER` modules bound to its compliance and the entries of their list.

## Applications

| Application                               | What it does                                                                                                                           | Provided by |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [DINO](/appstore/dino.md)                 | Shared market contracts on the T-REX Ledger: subscriptions and redemptions with the Issuer, and offers to buy or sell between holders. | Tokeny      |
| [T-REX Engine](/appstore/t-rex-engine.md) | An API to operate identities, assets and distribution from an existing system, without writing contract calls.                         | Tokeny      |

## Why applications run on the reference chain

The reference chain holds the register. An application that acts on ownership, such as a subscription, a trade or a redemption, acts there on the complete record, with no reconciliation lag. The register serves it two views. The token gives what an address holds on the reference chain: `balanceOf`, and `freeBalanceOf` for the part that is not frozen. The compliance gives what an identity owns wherever its tokens are active: `positionOf`. A position that is active on a satellite is not movable on the reference chain until it is recalled: see [32 Recall a position to the reference chain](/guides/cross-chain/32.-recall-a-position-to-the-reference-chain.md).

## Build an application

The integration contract between an application and an asset is described in [Integrate a venue or an application](/build/integrate-a-venue-or-an-application.md): the identity the application needs, the checks its calls pass, and the spender policy.

Applications are assessed for their compatibility with the protocol before they are listed. To propose one, write to <contact@t-rex.network>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.t-rex.network/appstore.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
