> For the complete documentation index, see [llms.txt](https://docs.tresori.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tresori.xyz/getting-started/publish-your-docs/create-project.md).

# Create Project

As a user, the first step to using Tresori is creating a project. A project acts as the foundational unit where all configurations and resources are grouped.

**Step-1:** Clicks on **Create Project Tab** on the main screen or click on **+New project** as shown in the image below.

<figure><img src="/files/LlguK2mYQbcLnBs9FkqS" alt=""><figcaption></figcaption></figure>

**Step-2:** As soon as the user clicks on it, they will be redirected to the Project Creation screen as shown below.

<figure><img src="/files/SAxlC1eP96Qn5n0HlcJd" alt=""><figcaption></figcaption></figure>

**Step-3:** Here, the user needs to provide basic details:

* Project Nam&#x65;**(mandatory)**
* Project Description

<figure><img src="/files/n6dFPsC5YaMlBVDxybFO" alt=""><figcaption></figcaption></figure>

**Step-4: Wallet Configuration**

When creating a new project in Tresori, users are required to choose a **wallet type** that best fits their application’s security, compliance, and user-experience requirements.

User need to select a wallet type that they want to associate and configure with this specific project:

* Self-Custodial
* Custodial
* MPC

<figure><img src="/files/jrkpOo3lsBlu6OPodBVL" alt=""><figcaption></figcaption></figure>

The platform also provides a comparative view of different wallet types, helping users quickly understand which wallet model best suits their project requirements. By default, the wallet type is set to **Self-Custodial**, ensuring full control and ownership for the user. However, users can easily reconfigure this setting and switch to an alternative wallet type based on their operational, security, or compliance needs.

<figure><img src="/files/weKwAfgMRvDZM6t5EWdD" alt=""><figcaption></figcaption></figure>

### Wallet Configuration

#### **Custodial Wallet Configuration**

This helps you decide **who manages private keys** for your application and **which infrastructure provider** will be responsible for secure key storage and transaction signing.

By selecting a custodial wallet:

* Platform (a trusted provider) manages private keys on behalf of users
* End users get a simpler, Web2-like experience
* Security, compliance, and operational responsibility are handled at the infrastructure level

**Available Providers**

1. Kalp Studio (Default / Managed)
2. Fireblocks
3. BitGo
4. HashiCorp Vault
5. Nitro Enclaves
6. Google Cloud HSM

**Coming Soon Providers:** This gives users visibility into Tresori's future enterprise custody roadmap.

1. Coinbase Custody
2. Anchorage Digital
3. Copper
4. Gemini Custody

Once the user selects any platform other than Kalp Studio, the following screen will be displayed.

Here we have selected **"Fireblocks"** and this configuration enables secure wallet creation, transaction signing, and asset management using Fireblocks’ infrastructure. All fields in this modal define how Tresori authenticates and communicates with the Fireblocks APIs.

<figure><img src="/files/d08kK9mDysAJzBChVuag" alt=""><figcaption></figcaption></figure>

**API Key (Required)**

The **API Key** is the primary identifier issued by Fireblocks for your workspace. Tresori uses this key to authenticate every request made to Fireblocks on behalf of your project. This field is mandatory, and without a valid API key, the integration cannot be established.

<figure><img src="/files/7cEqRBFZpuHbeKHK8aUT" alt=""><figcaption></figcaption></figure>

**Base Path (Required)**

The **Base Path** specifies the Fireblocks API endpoint that Tresori should use. This usually depends on your Fireblocks environment (for example, production or sandbox). Providing the correct base path ensures that all wallet operations, transaction requests, and status updates are routed to the correct Fireblocks environment.

<figure><img src="/files/2JZlgaekYKiCixT0fLul" alt=""><figcaption></figcaption></figure>

**API Secret Key (Optional)**

The **API Secret Key** is an optional but recommended field used for enhanced security. When provided, it enables stronger request signing and verification between Tresori and Fireblocks. This adds an extra layer of protection for sensitive operations such as transaction approvals and wallet management.

<figure><img src="/files/fi1wyQjMOfwqoR47yk3A" alt=""><figcaption></figcaption></figure>

Once User provide all the mandatory detials Click **Save Configuration** button securely stores the provided Fireblocks credentials for the selected project. Once saved, Tresori can start using Fireblocks as the custodial provider for wallet creation, transaction execution, and asset custody.

<figure><img src="/files/c8ezZOBJI3a9W3yR5DbY" alt=""><figcaption></figcaption></figure>

#### **MPC Wallet Configuration**

When setting up a new project in Tresori, this screen allows you to configure your project using an MPC (Multi-Party Computation) Wallet. This option is designed for applications that require advanced security, distributed key management, and institutional-grade controls.

MPC (Multi-Party Computation) enables **distributed key management**, where cryptographic key shares are generated, stored, and used independently.

#### Integration Type (Key Storage & Security Providers)

This section provides multiple options to the users to choose **where and how MPC key shares are stored and protected**.&#x20;

1. KS Providers (Kalp Studio – Managed)
2. AWS KMS
3. AWS S3 (Encrypted Storage)
4. HashiCorp Vault
5. Nitro Enclaves
6. Google Cloud HSM

**Coming Soon Providers:** This gives users visibility into Tresori’s future enterprise roadmap and indicates future support.

1. Azure Key Vault
2. Google Cloud KMS

Once the user selects any platform other than Kalp Studio, the following screen will be displayed.

<figure><img src="/files/IISbbuYeWH8gOEt0BiUy" alt=""><figcaption></figcaption></figure>

Here we have selected **AWS KMS**, and this configuration enables secure key management, cryptographic signing, and encryption operations using **Amazon Web Services Key Management Service**. All fields in this modal define how Tresori securely identifies, accesses, and interacts with AWS KMS APIs to perform key-related operations within the selected project.

**ARN Key (Required)**

The **ARN Key** refers to the **Amazon Resource Name (ARN)** of the AWS KMS key that will be used by Tresori. This uniquely identifies the KMS key within your AWS account. Tresori relies on this ARN to locate and securely invoke the correct key for cryptographic operations such as transaction signing or data encryption.

<figure><img src="/files/N4lhTyPNRI2aePYQGG8L" alt=""><figcaption></figcaption></figure>

**Region (Required)**

The **Region** specifies the AWS region where the KMS key is hosted (for example, `us-east-1`, `eu-west-1`, etc.). AWS KMS keys are region-specific, so this value must exactly match the region of the provided ARN.

<figure><img src="/files/vrtFZoCaW6DkyM6Q1K6P" alt=""><figcaption></figcaption></figure>

Once User provide all the mandatory detials Clicking **Save Configuration** securely stores the AWS KMS details for the selected project. Once saved, Tresori can begin using the specified AWS KMS key for secure key management and cryptographic workflows within that project.

<figure><img src="/files/WfgOb4s9VXQr6oPxoxi3" alt=""><figcaption></figcaption></figure>

After finalizing the wallet configuration, users can seamlessly configure transaction costing using a **one-click setup**. This feature automatically determines and applies the appropriate transaction cost parameters, simplifying the onboarding process and reducing configuration complexity.

**Step-5: Enable/ Disable Gasless transactions**

While creating a new project in Tresori, users are given the option to **enable Gasless Transactions**.\
This option allows the project to sponsor blockchain transaction fees on behalf of end users, removing the need for users to hold or manage native gas tokens.

This option is a part of the **project configuration step**, indicating that gas sponsorship is a **project-level capability**, not a per-transaction toggle.

**Note:** Its an optional action while creating the new project

<figure><img src="/files/c781M3nMw79S9gYYWOXI" alt=""><figcaption></figcaption></figure>

Once enabled, **Gas Tank** is automatically associated with the project, and all supported transactions initiated under this project can be gas-sponsored

**Step-6:Project status**

It represents the operational state of a project in Tresori that determines whether a project is allowed to perform actions such as wallet creation, API access, transaction execution, and gas sponsorship.

From a user’s perspective, **Project Status acts as an on/off control** for an entire project environment.

<figure><img src="/files/1VzrtRtKdT0W8PXgMDIC" alt=""><figcaption></figcaption></figure>

**Step-6: Complete project Creation**

The final step is to click on the **“Create Project”** Button for the completion of the project.

<figure><img src="/files/ddIat94OJIDaDrqxHYg9" alt=""><figcaption></figcaption></figure>

### &#x20;Smart Wallet

A Smart Wallet is a programmable, contract-based wallet deployed on the blockchain instead of being controlled by a single private key.\
Unlike traditional EOAs (Externally Owned Accounts), Smart Wallets are governed by smart contract logic, enabling advanced features such as automation, policy enforcement, and gas abstraction.

In Tresori, Smart Wallets are designed for modern Web3 applications that require flexibility, scalability, and enhanced user experience.

<figure><img src="/files/dMm3qRqBUyddAtNy76lp" alt=""><figcaption></figcaption></figure>

#### Supported Network (Current)

> **Ethereum (Sepolia Testnet)**

Smart Wallet support is currently available on **Ethereum Sepolia.** Additional networks are **actively under development** and will be rolled out incrementally.

This allows developers to test advanced wallet logic safely before mainnet deployment
