# T3

## Trusted Transparent Transactions (T3)

### Overview

The T3 service is responsible for storing and querying transparent data for select MobileCoin transactions. This capability makes transparency opt-in for MobileCoin wallets which wish to maintain regulatory compliance. T3 supports all current and future native tokens of the MobileCoin network. Currently, the native tokens are **MobileCoin (MOB)** and our stable coin **Electronic USD (eUSD)**.

#### Wallets with T3 Capabilities

Currently, there are two wallets which support reporting to T3:

1. Moby - our first party self-custodial mobile wallet
2. Full Service (and Desktop Wallet) - our first party desktop/server-based wallet solution

Moby reports only on and off ramp transactions with centralized third parties (e.g. Paybis and Moonpay). Full Service, if enabled with T3, will report all transactions in and out of that wallet's accounts. Only one party to the transaction needs to report to T3 in order for the transaction to be considered transparent. Thus, T3 is a one-party opt-in transparency system.

#### Trusted Access Control

Note that transparent transactions are still fully encrypted on the MobileCoin blockchain. T3 is built as a layer above the blockchain to be more flexible and to provide control over who can read and write T3 data. This benefits customers as it prevents customer wallets and balance data from becoming a target for bad actors.&#x20;

Access to T3 is granted with API keys, separately provisioned for reading and writing to T3. Moby, our first party self-custody mobile wallet, comes with built-in keys for writing data to T3. For Full Service and Desktop Wallet, an API key must be obtained and supplied to Full Service. The API key identifies the institution to which the Full Service wallet belongs.

#### Typical Partner Integrations

1. Deploy a Full Service node for their MobileCoin hot wallets.
2. Request a T3 API write key and enable T3's integration with their Full Service node to report 100% of their in- and out- going transactions.
3. Utilize our blockchain analysis partner (Elliptic) to perform wallet and transactional monitoring for compliance obligations.

If spot checking of transactions is required we can additionally provision a T3 read key for the institution and provide details on how to make use of T3's JSON HTTPS endpoints.

## Enabling Reporting in Full Service

To enable T3 within Full Service, you will need to obtain an API KEY (see below).

Once you have the API KEY, you will need to provide two runtime variables, either as command line args or environment variables.

As **environment variables**, set the following when running full service:

1. T3\_URI
2. T3\_API\_KEY

As **command line args**, set the following when running full service:

1. \--t3-uri
2. \--t3-api-key

### Requesting an API Key

Please contact `security@mobilecoin.com` for receiving a T3 API key or more detailed documentation and provide:

* A purpose for API use including if read and/or write access is needed
* Anticipated API call volume
* A contact name
* A contact email
* Number of keys needed if more than 1

We expect the majority of institutional partners to follow the following general integration path:

1. Partners are responsible for their own KYC and AML regulatory compliance. T3 does not contain KYC or any other PII data.
2. LOOKUP - Find transparent transaction records by txo public key hex (transaction hash) or wallet address
3. LIST - List out all transparent transaction records within a time region (e.g. last 30 days)
4. CREATE - Creating new transparent transaction records

### API Caveats

#### Wallet Address vs Wallet Hash

Due to limitations on the size of memo fields we chose to include only a hash of the wallet address in the Authenticated Sender Memo. Since all clients are reliant on this memo field we chose to also use wallet address hash values in T3 instead of full wallet addresses. This also permits the recipient of a transaction to be a T3 reporter (as they are not guaranteed to know the sender's full wallet address).


---

# 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://mobilecoin.gitbook.io/full-service-api/usage/t3.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.
