# Testnet Onboarding Guide

This document outlines the complete onboarding process for the Term Structure Institutional (TSI) system, including admin account setup, trader creation, wallet configuration, and MPC key generation procedures.

## Prerequisites

* Chrome browser installed
* Access to email account for invitation
* 2FA application (Google Authenticator, 1Password, etc.)

## Account Types Overview

This onboarding process creates two different account types with distinct roles:

* **Admin Account**: Used for organization management, parameter configuration, and inviting trader accounts
* **Trader Account**: Used for trading operations, asset management, and trading strategy configuration

**Recommendation**: We suggest using different browsers or different Chrome browser profiles for these two account types to avoid confusion during the setup process.

## Admin Account Setup

### Step 1: Email Invitation

1. Check your email inbox for the system invitation
2. If not found, check your spam folder
3. Look for email with title: `[Term Structure Institutional] Password Reset Request`

### Step 2: Initial Login

1. Click the invitation link in the email to access the system

<figure><img src="/files/eMcIWyMe8WCQuJ8hlNbJ" alt="Initial Login Interface"><figcaption></figcaption></figure>

2. Set a password (minimum 8 characters)
3. Log in using the invited email and your new password

### Step 3: Two-Factor Authentication Setup

1. Configure 2FA verification using Google Authenticator, 1Password, or other 2FA tools
2. Enter the 2FA verification code
3. Log in again and enter the 2FA verification code to complete admin account setup

## MPC Key Generation Process

### Step 1: Generate MPC Keys

<figure><img src="/files/3m0K90a6ouTdGOcpCngl" alt="MPC Key Generation Interface"><figcaption></figcaption></figure>

1. Click **"Generate MPC Keys"**
2. Wait for both algorithms to complete (1-2 minutes each)

### Step 2: Generate Passphrase

<figure><img src="/files/hffjNTy4JgmRug5y01QU" alt="Passphrase Generation"><figcaption></figcaption></figure>

1. Click **"Generate & Download Passphrase"**
2. Save the JSON file securely in multiple locations

### Step 3: Upload Encrypted Key

1. Click **"Upload Passphrase File"**
2. Select the JSON file from Step 2
3. Complete backup process to finish MPC setup
4. **Important Note**: This passphrase is the ONLY way to recover your wallet

## Wallet Setup

After completing MPC key generation, you can create your first wallet for trading operations.

### Creating Your First Wallet

#### Step 1: Access Wallet Interface

<figure><img src="/files/w7zyWGqcX2zYF5CfQWhT" alt="Wallets Page"><figcaption></figcaption></figure>

1. Navigate to **Wallets** tab in the main navigation
2. Click **"Create Wallet"** button on the right side

#### Step 2: Configure Wallet Settings

<figure><img src="/files/ld0oW2MIGDVuCi3tIyVB" alt="Create Wallet Dialog"><figcaption></figcaption></figure>

1. **Enter Wallet Name**
   * Choose a unique wallet name that provides clear meaning
   * Use descriptive names for easy identification (e.g., "Trading Wallet", "Main Vault")
2. **Complete Creation**
   * Click **"Create"** button to generate the wallet
   * System will automatically create associated asset addresses for supported networks

#### Step 3: Wallet Verification

* Note the generated wallet addresses for each supported network
* Wallet is now ready for deposits and trading operations

## Funding Your Wallet

After creating your wallet, you can deposit tokens to fund your trading operations.

### Initial Funding Requirements

**Important**: First deposit at least **0.001 Arbitrum Sepolia ETH** (testnet) for gas fees.

### Step 1: Access Deposit Interface

<figure><img src="/files/iTQVtE0j2pZXmIeKeq7y" alt="Deposit Address Dialog"><figcaption></figcaption></figure>

1. Navigate to the **Wallets** page
2. Find your wallet and click the **Deposit** button

### Step 2: Get Deposit Address

1. Select the token you want to deposit
2. Copy the wallet address displayed
3. Use this address to transfer tokens from your external wallet
4. **Important**: Only send supported assets to the correct network address

### Step 3: Confirm Deposit

* Wait for blockchain confirmation
* Check wallet balance to verify successful deposit
* Deposited funds will be available for placing orders

### Testnet Token Faucet

After depositing Arbitrum Sepolia ETH, you can obtain testnet tokens from the faucet:

1. Visit: <https://app.testnet.institutional.ts.finance/faucet>

<figure><img src="/files/JDPjvKSidRIPPzAd2TMW" alt="Faucet Interface"><figcaption></figcaption></figure>

2. Select your wallet and click the `Faucet` button
3. Navigate to the Transfers page and complete the transaction signing

<figure><img src="/files/S6cWv6YI2pD8S0EBMNwh" alt="Transaction Signing"><figcaption></figcaption></figure>

4. You will receive **testnet tokens** for testing purposes

## Team Management

### Creating Additional Users

After setting up your organization and wallets, you can invite additional users to join your organization with specific roles and permissions.

#### Step 1: Access User Management

<figure><img src="/files/yNsLzhTg0imfq6D6s6cK" alt="Users Page"><figcaption></figcaption></figure>

1. Navigate to **Users** tab in the main navigation
2. Click **"Create User"** button on the right side

#### Step 2: Configure User Details

<figure><img src="/files/tCGnHrex6YFSjQkxV7OU" alt="Create New User Dialog"><figcaption></figcaption></figure>

1. **Enter User Information**
   * **Name**: Enter the user's full name
   * **Email**: For testing convenience, you can add a "+" alias before the "@" symbol in your email address (e.g., <name+trader@gmail.com>) to avoid email conflicts
2. **Select User Role**
   * **Trader**: Full trading permissions for lending and borrowing
   * **Trader (Viewer)**: Read-only access to view trading activities
   * Choose the appropriate role based on the user's responsibilities
3. **Complete User Creation**
   * Click **"Create"** button to send invitation
   * User will receive an email invitation to join the organization

### Assigning Users to Wallets

<figure><img src="/files/WWydMKcSIZntZbSzuNk5" alt="Edit Wallet - Assign Traders"><figcaption></figcaption></figure>

1. Navigate to Wallets page and click **"Edit"** for the target wallet
2. Select users from the **"Traders"** dropdown
3. Click **"Confirm"** to save assignments

## Trader Account Setup

Now that you have completed the admin account setup, you can proceed to log in to your created trader account for trading operations.

### Step 1: Prepare Browser Environment

1. Open your Chrome browser and create a new profile to avoid confusion between admin and trader accounts

<figure><img src="/files/hV1S8c5MnIU8OpHngbmx" alt="Chrome Profile Creation"><figcaption></figcaption></figure>

<figure><img src="/files/C0PteDMGVUWEO2wLkRV8" alt="Profile Setup"><figcaption></figcaption></figure>

<figure><img src="/files/NBICdcPyg4aymsabpHBL" alt="Profile Configuration"><figcaption></figcaption></figure>

2. Enter "Trader" as the profile name
3. Log in to your email in this Chrome profile
4. This separation helps maintain clear distinction between different account types

### Step 2: Email Invitation for Trader Account (In Trader Chrome Profile)

1. Check your email inbox for the trader account invitation
2. If not found, check your spam folder
3. Look for email with title: `[Term Structure Institutional] Password Reset Request`

### Step 3: Initial Trader Login

1. Click the invitation link in the email to access the system
2. Set a password (minimum 8 characters)
3. Log in using the invited email(e.g., <name+trader@gmail.com>) and your new password

### Step 4: Two-Factor Authentication Setup for Trader Account

1. Configure 2FA verification using Google Authenticator, 1Password, or other 2FA tools
2. Enter the 2FA verification code
3. Log in again (e.g., <name+trader@gmail.com>) and enter the 2FA verification code to complete trader account setup

## MPC Device Authorization (In Trader Chrome Profile)

After completing the onboarding process, you will enter the MPC Device Authorization phase.

### Trader Account: Request Authorization

<figure><img src="/files/omuOp7jGJCxl73sLutzG" alt="Join Organization MPC Key"><figcaption></figcaption></figure>

1. Click **"Request Authorization"** to initiate the device authorization process
2. Copy the generated MPC Device Authorization Code that appears on screen
3. Send this Authorization Code to the organization admin for authorization

### Admin Account: Approve Authorization (In Admin Chrome Profile)

**Switch to your admin account browser**

1. Navigate to **Wallets** page
2. Click **"Authorize Device"** button in the top right corner

<figure><img src="/files/gGgiubYFGGC4aVkpswWJ" alt="Authorize Device Button"><figcaption></figcaption></figure>

3. Paste the Authorization Code provided by the trader

<figure><img src="/files/cgL6UgUcYe6Egv8X4vei" alt="Approve Join MPC Key"><figcaption></figcaption></figure>

4. Click **"Authorize"** to approve the request

## Trading Overview

After completing setup and depositing funds, traders can begin placing lending or borrowing market orders. TSI offers two trading modes:

* **DeFi Mode**: Fully decentralized trading with smart contract settlement
* **Indication Mode**: Institutional trading with counterparty relationships and off-platform loan settlement

## DeFi Mode Orders

DeFi mode enables decentralized lending and borrowing with automated smart contract settlement.

<figure><img src="/files/d3SJ55vnvpFtMW2u1z6R" alt="DeFi Mode Order Interface"><figcaption></figcaption></figure>

### Placing a DeFi Order

#### Step 1: Access Trading Interface

1. Navigate to the **DeFi** section
2. Select your wallet from the dropdown
3. Choose the token market you want to trade

#### Step 2: Configure Order Details

**For Borrowing:**

1. Select **"Borrow"** order type
2. Enter desired interest rate (%)
3. Specify borrow amount
4. Choose collateral token type
5. Set minimum matched amount

**For Lending:**

1. Select **"Lend"** order type
2. Enter desired interest rate (%)
3. Specify lend amount
4. Select acceptable collateral tokens
5. Set minimum matched amount

#### Step 3: Submit and Monitor

1. Click **"Submit"** to place the market order
2. Wait for order matching notification

### DeFi Settlement Process

When your order matches, complete settlement based on your role:

**Order Taker:**

* Complete transaction signing within **30 minutes** of matching
* Navigate to **Transfers** page
* Follow on-screen MPC signature instructions

**Order Maker:**

* Wait for Taker completion notification
* Complete transaction signing within **12 hours** of notification
* Complete MPC signature process on Transfer page

<figure><img src="/files/5ap9HxlQK3z0BR8r03KQ" alt="Order Matching and Settlement"><figcaption></figcaption></figure>

### Post-Settlement Management

<figure><img src="/files/FNm1pCp15MxOLXJSar2G" alt="Post-Settlement Loan Management"><figcaption></figcaption></figure>

Active loans appear on the **Wallets** page with available operations:

**For Borrowers:**

* **Repay**: Make partial or full loan repayments
* **Add Collateral**: Increase collateral to improve loan health
* **Remove Collateral**: Withdraw excess collateral (subject to requirements)

<figure><img src="/files/3WTe212dVBj61Ix1WVg0" alt="Repay Loan"><figcaption></figcaption></figure>

## Indication Mode Orders

Indication mode enables institutional order matching with off-platform loan settlement between established counterparties.

### Counterparty Management (In Admin Chrome Profile)

**Note**: Requires Organization Admin permissions to establish counterparty relationships.

#### Step 1: Access Counterparty Management

<figure><img src="/files/lIDvmJGfQFKGkgdx4hWP" alt="My Counterparties Interface"><figcaption></figcaption></figure>

1. Navigate to **Counterparties** section

#### Step 2: Establish Counterparty Relationships

**Option A: Share Invitation Code**

1. Click **"Institution Invite Code"**
2. Copy and securely share your invitation code
3. Approve relationship requests when received
4. Configure trading parameters

**Option B: Accept Invitation Code**

1. Click **"+ Add Counterparty"**
2. Enter received invitation code
3. Wait for counterparty approval
4. Configure trading parameters
5. For testnet, you can use the following invitation code: `021QDM1JEIG4VXBM`

#### Step 3: Configure Trading Parameters

<figure><img src="/files/3Qt5EgY220V67UDFx23Q" alt="Counterparty Configuration"><figcaption></figcaption></figure>

**Role Permissions:**

* **As a Lender**: Can only lend to this counterparty
* **As a Borrower**: Can only borrow from this counterparty
* **Both**: Can both lend and borrow from this counterparty

**Configuration Settings:**

* **Maximum Tenor**: Set maximum loan duration (days)
* **Maximum Match Value**: Set maximum transaction amount (USD)
* **Unlimited Option**: Remove limits for trusted counterparties
* **Status**: Enable/disable trading with specific counterparties

### Placing Indication Orders

**Note**: Requires Trader role permissions.

#### Step 1: Access Indication Trading Interface

1. Navigate to **Indication** section
2. Select your wallet from dropdown

#### Step 2: Configure Order Parameters

**For Borrowing Orders:**

<figure><img src="/files/V0mfgmGs6My3AXvwLPql" alt="Borrow Order"><figcaption></figcaption></figure>

1. Click **"Borrow"** tab
2. Set interest rate (%)
3. Enter borrow amount
4. Choose collateral token
5. Set minimum matched amount (optional)
6. Select maturity date

**For Lending Orders:**

<figure><img src="/files/5JTw2tLc8DbT9uJSKGJY" alt="Lend Order"><figcaption></figcaption></figure>

1. Click **"Lend"** tab
2. Set interest rate (%)
3. Enter lend amount (check available balance)
4. Select acceptable collateral tokens
5. Set minimum matched amount (optional)
6. Choose minimum and maximum maturity dates

#### Step 3: Submit and Settlement

1. Review order details and counterparty information
2. Click **"Submit"** to place order
3. Wait for order matching notification

### Indication Settlement Process

When matched, complete the platform fee payment. **Note**: Actual loan settlement occurs off-platform between counterparties.

<figure><img src="/files/Y8N2d8YuBfglG7TjIssT" alt="Indication Matched Fee"><figcaption></figcaption></figure>

**Platform Fee Payment:**

1. Navigate to **Transfers** page
2. Locate "Indication Matched Fee" transaction
3. Click **"View Details"** to review fee amount
4. Complete fee payment using MPC signature
5. Retrieve margin after payment completion

**Off-Platform Settlement:**

* Coordinate directly with matched counterparty for loan execution
* Complete legal documentation and contract signing off-platform
* Handle actual fund transfers outside TSI platform

### Post-Settlement Indication Loan Management

<figure><img src="/files/iLPRg7icunhNjYrUCoGi" alt="Indication Loans"><figcaption></figcaption></figure>

**View Active Indication Loans:**

1. Navigate to **Wallets** page
2. Select **"Liability (Borrower)"** or **"Asset (Lender)"** tab
3. Switch to **"Indication"** tab
4. Review loan details:
   * Loan ID and counterparty information
   * Loan and collateral amounts
   * Maturity date
   * LTV percentages

**Off-Platform Loan Execution:**

* Use counterparty contact information for direct communication
* Execute actual loan transfers outside TSI platform
* Complete contract signing and legal documentation
* TSI provides loan tracking and counterparty information only


---

# 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://tsi-docs.tkmatrix.com/tutorials/testnet-onboarding-guide.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.
