diff --git a/docs/cli/commands/files/index.md b/docs/cli/commands/files/index.md
index 7381d32a..51f7ac40 100644
--- a/docs/cli/commands/files/index.md
+++ b/docs/cli/commands/files/index.md
@@ -8,7 +8,7 @@ sidebar_position: 3
This command group contains commands to manage files in third-party storage such as Storj.
-Most of these commands require a Storj account and SPCTL configured to use it. Refer to the [Set up Storj](/cli#set-up-storj-access) section to create a bucket and access grants and set up SPCTL.
+Most of these commands require a Storj account and SPCTL configured to use it. Refer to the [Set up Storj](/cli/#set-up-storj-access-optional) section to create a bucket and access grants and set up SPCTL.
## Commands
diff --git a/docs/cli/commands/files/upload.md b/docs/cli/commands/files/upload.md
index 36cf8866..5cc3906d 100644
--- a/docs/cli/commands/files/upload.md
+++ b/docs/cli/commands/files/upload.md
@@ -14,7 +14,7 @@ The primary purpose of this command is to make the uploading files available for
Depending on the options, the command provides two ways to upload and store the files. Choose one that suits you better:
-- **Uploads to storage directly.** This requires a Storj account and SPCTL [configured](/cli#set-up-storj-access) to use it. The command will upload the file to the root directory of the bucket specified in the SPCTL configuration file.
+- **Uploads to storage directly.** This requires a Storj account and SPCTL [configured](/cli/#set-up-storj-access-optional) to use it. The command will upload the file to the root directory of the bucket specified in the SPCTL configuration file.
- **Creates a storage order using a Marketplace storage offer.** This does not require a Storj account but requires paying SPPI tokens for the order according to the offer pricing and selected lease duration.
The input of the command is a TAR.GZ archive file. For solutions, this file is created by the [`solutions prepare`](/cli/commands/solutions/prepare) command. For data, it is an archive containing the dataset files.
@@ -74,7 +74,7 @@ The following command uploads the `content.tar.gz` file located in the SPCTL roo
./spctl files upload content.tar.gz
```
-To execute this command successfully, you need a Storj account and SPCTL configured to use it. Refer to the [Set up Storj](/cli#set-up-storj-access) section to create a bucket and access grants and set up SPCTL.
+To execute this command successfully, you need a Storj account and SPCTL configured to use it. Refer to the [Set up Storj](/cli#set-up-storj-access-optional) section to create a bucket and access grants and set up SPCTL.
### Example 2. Upload by creating a storage order
diff --git a/docs/cli/commands/index.md b/docs/cli/commands/index.md
index 1a9f916f..6d5cce59 100644
--- a/docs/cli/commands/index.md
+++ b/docs/cli/commands/index.md
@@ -20,11 +20,11 @@ This section contains the list of commands for the Super Protocol CLI tool SPCTL
| [orders](/cli/commands/orders) | Manage your orders. |
| [offers](/cli/commands/offers) | View and manage Marketplace offers. |
| [providers](/cli/commands/providers) | View and manage offer providers. |
-| [quotes](/cli/commands/quotes) | Verify the authenticity and integrity of a Trusted Execution Environment. |
+| [quotes](/cli/commands/quotes) | Verify the authenticity and integrity of a Trusted Execution Environment. |
## Command syntax
-SPCTL uses the following syntax format for commands:
+The syntax format for commands:
```
./spctl
diff --git a/docs/cli/commands/offers/add-slot.md b/docs/cli/commands/offers/add-slot.md
index b65276b7..2632b178 100644
--- a/docs/cli/commands/offers/add-slot.md
+++ b/docs/cli/commands/offers/add-slot.md
@@ -10,7 +10,7 @@ Creates an additional [requirement slot](/fundamentals/slots#requirements) in an
Refer to the [Providers and Offers] guide to create the initial offer requirements.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
## Syntax
@@ -53,7 +53,7 @@ The offer slot JSON file must contain the following objects and strings:
+ `minTimeMinutes`: minutes; `0` for no limit
+ `price`: denominations of SPPI token
+ `priceType`: `1` for fixed price, `0` for price per hour; learn more about [price types](/fundamentals/orders#cost-and-pricing)
-- `option`: object with internet access configuration (only for value offers)
+- `option`: object with internet access configuration (only for value offers)
+ `bandwidth`: bits per second
+ `traffic`: bytes
+ `externalPort`: `1` for yes, `0` for no
diff --git a/docs/cli/commands/offers/delete-slot.md b/docs/cli/commands/offers/delete-slot.md
index 8c67bcbe..1b1de4f2 100644
--- a/docs/cli/commands/offers/delete-slot.md
+++ b/docs/cli/commands/offers/delete-slot.md
@@ -8,7 +8,7 @@ sidebar_position: 10
Deletes a [requirement slot](/fundamentals/slots#requirements) in an [offer](/fundamentals/offers).
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
Use the [`offers get`](/cli/commands/offers/get) command to get the IDs of all slots in an offer. Use the [`offers get-slot`](/cli/commands/offers/get-slot) command to get additional information on a slot.
@@ -41,7 +41,7 @@ Read about the Super Protocol [command syntax](/cli/commands#command-syntax).
## Example
-The following command deletes a requirement slot with ID 47 in a value offer with ID 39:
+The following command deletes a requirement slot with ID 47 in a value offer with ID 39:
```
./spctl offers delete-slot value --offer 39 --slot 47
diff --git a/docs/cli/commands/offers/disable.md b/docs/cli/commands/offers/disable.md
index 6e3101b4..8070ebaf 100644
--- a/docs/cli/commands/offers/disable.md
+++ b/docs/cli/commands/offers/disable.md
@@ -8,7 +8,7 @@ sidebar_position: 6
Disables an existing enabled offer.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
## Syntax
diff --git a/docs/cli/commands/offers/enable.md b/docs/cli/commands/offers/enable.md
index d8dbf557..21c61ddc 100644
--- a/docs/cli/commands/offers/enable.md
+++ b/docs/cli/commands/offers/enable.md
@@ -8,7 +8,7 @@ sidebar_position: 7
Enables an existing disabled offer.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
## Syntax
diff --git a/docs/cli/commands/offers/get-slot.md b/docs/cli/commands/offers/get-slot.md
index 16e489e4..ae745b61 100644
--- a/docs/cli/commands/offers/get-slot.md
+++ b/docs/cli/commands/offers/get-slot.md
@@ -41,7 +41,7 @@ Read about the Super Protocol [command syntax](/cli/commands#command-syntax).
## Example
-The following command displays the information on a requirement slot with ID 47 in a value offer with ID 39:
+The following command displays the information on a requirement slot with ID 47 in a value offer with ID 39:
```
./spctl offers get-slot value --offer 39 --slot 47
diff --git a/docs/cli/commands/offers/list.md b/docs/cli/commands/offers/list.md
index 91c63603..70ffe0eb 100644
--- a/docs/cli/commands/offers/list.md
+++ b/docs/cli/commands/offers/list.md
@@ -56,7 +56,7 @@ For both offer types:
### Example 1
-The following command displays the IDs, names, and types of the first 30 value offers:
+The following command displays the IDs, names, and types of the first 30 value offers:
```
./spctl offers list value --limit 30
diff --git a/docs/cli/commands/offers/update-slot.md b/docs/cli/commands/offers/update-slot.md
index 1645b1e0..b16682f7 100644
--- a/docs/cli/commands/offers/update-slot.md
+++ b/docs/cli/commands/offers/update-slot.md
@@ -8,7 +8,7 @@ sidebar_position: 9
Updates a [requirement slot](/fundamentals/slots#requirements) in an existing offer using the information in a JSON file.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
Use the [`offers get`](/cli/commands/offers/get) command to get the IDs of all slots in an offer. Use the [`offers get-slot`](/cli/commands/offers/get-slot) command to get additional information on a slot.
@@ -45,7 +45,7 @@ Read about the Super Protocol [command syntax](/cli/commands#command-syntax).
## Example
-The following command updates a slot with ID 47 in a value offer with ID 39 using the information in the file `offer-slot.json` in the SPCTL directory:
+The following command updates a slot with ID 47 in a value offer with ID 39 using the information in the file `offer-slot.json` in the SPCTL directory:
```
./spctl offers update-slot value --offer 39 --slot 47 --path ./offer-slot.json
diff --git a/docs/cli/commands/offers/update.md b/docs/cli/commands/offers/update.md
index dea9a9ba..14138212 100644
--- a/docs/cli/commands/offers/update.md
+++ b/docs/cli/commands/offers/update.md
@@ -10,7 +10,7 @@ Updates information of an existing offer using an offer description JSON file.
Refer to the [Providers and Offers] guide to create the initial offer description.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
## Syntax
@@ -104,7 +104,7 @@ The file may contain only the fields that need to be updated. For example, to on
## Example
-The following command updates an existing value offer with ID 39 using the information in the `updated-offer-39.json` in the SPCTL root directory:
+The following command updates an existing value offer with ID 39 using the information in the `updated-offer-39.json` in the SPCTL root directory:
```
./spctl offers update value 39 --path ./updated-offer-39.json
diff --git a/docs/cli/commands/providers/update.md b/docs/cli/commands/providers/update.md
index 811e698d..b6c559a1 100644
--- a/docs/cli/commands/providers/update.md
+++ b/docs/cli/commands/providers/update.md
@@ -9,7 +9,7 @@ Updates the current provider using a provider info JSON file.
Provider Tools creates a provider info JSON file in [Step 4 of the Providers and Offers] guide.
-**Important:** This command requires SPCTL with the [provider configuration file](/cli#for-offer-providers).
+**Important:** This command requires SPCTL with the [provider configuration file](/cli/#configure-spctl-for-providers).
## Syntax
diff --git a/docs/cli/commands/quotes/index.md b/docs/cli/commands/quotes/index.md
index 633c72ba..81840fb9 100644
--- a/docs/cli/commands/quotes/index.md
+++ b/docs/cli/commands/quotes/index.md
@@ -6,7 +6,7 @@ sidebar_position: 9
---
-This command group contains a single command to verify the authenticity and integrity of a Trusted Execution Environment by examining the enclave quote.
+This command group contains a single command to verify the authenticity and integrity of a Trusted Execution Environment by examining the enclave quote.
## Command
diff --git a/docs/cli/commands/solutions/prepare.md b/docs/cli/commands/solutions/prepare.md
index 6d4ee8a0..12479492 100644
--- a/docs/cli/commands/solutions/prepare.md
+++ b/docs/cli/commands/solutions/prepare.md
@@ -7,7 +7,7 @@ sidebar_label: "prepare"
Packs and signs a solution with [Gramine](https://gramineproject.io/) and writes a [manifest](https://gramine.readthedocs.io/en/stable/manifest-syntax.html).
-This allows the execution of the "graminized" solution code inside a Trusted Execution Environment. When the solution is prepared and packed, you can [upload](/cli/commands/files/upload) the resulting archive to a distributed storage to use the solution in orders.
+This allows the execution of the "graminized" solution code inside a Trusted Execution Environment. When the solution is prepared and packed, you can [upload](/cli/commands/files/upload) the resulting archive to a distributed storage to use the solution in orders.
The input of the command is the following:
diff --git a/docs/cli/index.md b/docs/cli/index.md
index 7580b910..36fa3994 100644
--- a/docs/cli/index.md
+++ b/docs/cli/index.md
@@ -8,177 +8,189 @@ sidebar_position: 1
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
-**SPCTL**—Super Protocol Control—is a versatile tool to access the Marketplace CLI. With this tool, you can create and manage orders, offers, providers, keys, workflows, files in distributed storage, and more.
+**SPCTL**—Super Protocol Control—is a versatile tool to access the Marketplace CLI. With this tool, you can create and manage orders, offers, providers, keys, files, and more.
## Download SPCTL
-
- Open a terminal in the directory where you want to place SPCTL for Linux and run the following command:
- ```
- curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-linux-x64 -o spctl
- chmod +x ./spctl
- ```
-
-
- Open Terminal in the directory where you want to place SPCTL for macOS and run the following command:
- ```
- curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-macos-x64 -o spctl
- chmod +x ./spctl
- ```
-
-
- Launch [WSL](https://learn.microsoft.com/en-us/windows/wsl) from PowerShell, go to the directory where you want to place SPCTL, and run the following command:
- ```
- curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-linux-x64 -o spctl
- chmod +x ./spctl
- ```
-
+
+ Open a terminal in the directory where you want to place SPCTL for Linux and run the following command:
+ ```
+ curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-linux-x64 -o spctl
+ chmod +x ./spctl
+ ```
+
+
+ Open Terminal in the directory where you want to place SPCTL for macOS and run the following command:
+ ```
+ curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-macos-x64 -o spctl
+ chmod +x ./spctl
+ ```
+
+
+ Launch [WSL](https://learn.microsoft.com/en-us/windows/wsl) from PowerShell, go to the directory where you want to place SPCTL, and run the following command:
+ ```
+ curl -L https://github.com/Super-Protocol/ctl/releases/latest/download/spctl-linux-x64 -o spctl
+ chmod +x ./spctl
+ ```
+
You can also download and install SPCTL manually from the Super Protocol [GitHub repository](https://github.com/Super-Protocol/ctl).
-## For users
+## Configure SPCTL for users
-Execute the `./spctl setup` command to initiate the setup dialog.
+You can configure SPCTL using the `./spctl setup` command or by manually creating a configuration file.
-Enter the following Access Token when prompted:
-
-```
-eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g
-```
-
-Then, enter a private key to your testnet EVM wallet.
-
-Further, SPCTL asks if you have a Storj bucket with configured access grants. This step is optional. Select `No` if you do not have them yet. You can configure Storj and provide this information [later in this guide](/cli#set-up-storj-access) or skip this step entirely.
-
-After that, SPCTL creates `config.json` in the SPCTL root directory. If you need to update your account information, execute `./spctl setup` again or modify `config.json` manually in a text editor.
-
-:::note
-
-For SPCTL to work correctly, `config.json` must be in the same directory as the SPCTL executable. Do not move or rename this file unless you want to create a separate SPCTL configuration for another Testnet account.
-
-:::
-
-### Manual configuration
-
-You can also skip the `./spctl setup` command completely and set up SPCTL manually. Create an empty `config.json` file in the SPCTL directory and add the following template:
-
-```json title="config.json"
-{
- "backend": {
- "url": "https://bff.superprotocol.com/graphql",
- "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g"
- },
- "blockchain": {
- "rpcUrl": "https://polygon.superprotocol.com/",
- "smartContractAddress": "0x3C69ea105Fc716C1Dcb41859281Aa817D0A0B279",
- "accountPrivateKey": ""
- },
- "storage": {
- "type": "STORJ",
- "bucket": "",
- "writeAccessToken": "",
- "readAccessToken": ""
- },
- "workflow": {
- "resultEncryption": {
- "algo": "ECIES",
- "key": "",
- "encoding": "base64"
+
+
+ 1. Execute the `./spctl setup` command to initiate the setup dialog.
+
+ 2. Enter the following Access Token when prompted:
+
+ ```
+ eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g
+ ```
+
+ 3. Enter a private key to your testnet EVM wallet when prompted.
+
+ 4. Answer `No` when promted about a Storj bucket. You can [configure Storj](/cli/#set-up-storj-access-optional) and provide this information later or skip this step entirely.
+
+ When done, SPCTL creates `config.json` in the SPCTL root directory. If you need to update your account information, execute `./spctl setup` again or modify `config.json` manually in a text editor.
+
+
+ In the SPCTL directory, create a file named `config.json`. Use the following template:
+
+ ```json title="config.json"
+ {
+ "backend": {
+ "url": "https://bff.superprotocol.com/graphql",
+ "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g"
+ },
+ "blockchain": {
+ "rpcUrl": "https://opbnb.superprotocol.com",
+ "smartContractAddress": "0x3C69ea105Fc716C1Dcb41859281Aa817D0A0B279",
+ "accountPrivateKey": "",
+ "authorityAccountPrivateKey": ""
+ },
+ "storage": {
+ "type": "STORJ",
+ "bucket": "",
+ "prefix": "",
+ "writeAccessToken": "",
+ "readAccessToken": ""
+ },
+ "workflow": {
+ "resultEncryption": {
+ "algo": "ECIES",
+ "key": "",
+ "encoding": "base64"
+ }
+ }
}
- }
-}
-```
-Do not change the preconfigured parameters and fill in the following ones:
+ ```
-|**Parameter**|**Description**|
-|:-|:-|
-|accountPrivateKey| Your Testnet Private Key from the Testnet invitation email|
-|key| Private key for order result encryption. Use the [workflows generate-key](/cli/commands/workflows/generate-key) command to create this key|
-|bucket| Name of your Storj bucket (optional)|
-|writeAccessToken| Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket (optional)|
-|readAccessToken| Storj access grant with **Read** permission for this bucket (optional)|
-
-## For offer providers
+ 2. Do not change the preconfigured values and provide values to the following keys:
-This section is for offer providers only. Skip it if you are a regular user.
+ |**Key** |**Description**|
+ |:-|:-|
+ |`"accountPrivateKey"` | An EVM wallet private key. Super Protocol recommends creating a separate wallet for the testnet.|
+ |`"bucket"` | (optional) Name of a Storj bucket.|
+ |`"prefix"` | (optional) Path to a directory inside the bucket. It can be empty.|
+ |`"writeAccessToken"` | (optional) Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket.|
+ |`"readAccessToken"` | (optional) Storj access grant with **Read** permission for this bucket.|
-Offer providers need another copy of SPCTL configured for their provider accounts. If you completed all the necessary steps in the [Providers and Offers] guide, you should have the configuration file created automatically in your Provider Tools directory. Its name looks similar to the following:
-
-```spctl-config-0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAb.json```
-
-Where `0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAb` is your Authority Account wallet address.
-
-Use the `--config` option with [SPCTL commands](/cli/commands) to manage your provider and orders. For example:
-
-```
-./spctl orders list --my-account --type tee --config spctl-config-0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAa.json
-```
-
-Alternatively, rename this file to `config.json` so SPCTL can recognize it as its configuration file. Copy or download the SPCTL binary to the Provider Tools root directory.
-
-### Manual configuration
-
-As with your User Account's configuration file, you can manually create the provider's configuration file. Back up the current `config.json` or create a separate directory for your provider's copy of the SPCTL executable.
-
-Use the following `config.json` template:
-
-```json title="config.json"
-{
- "backend": {
- "url": "https://bff.superprotocol.com/graphql",
- "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g"
- },
- "blockchain": {
- "rpcUrl": "https://polygon.superprotocol.com/",
- "smartContractAddress": "0x3C69ea105Fc716C1Dcb41859281Aa817D0A0B279",
- "accountPrivateKey": "",
- "authorityAccountPrivateKey": ""
- },
- "storage": {
- "type": "STORJ",
- "bucket": "",
- "writeAccessToken": "",
- "readAccessToken": ""
- },
- "workflow": {
- "resultEncryption": {
- "algo": "ECIES",
- "key": "",
- "encoding": "base64"
- }
- }
-}
-```
+ 3. Generate a private key for order result encryption using the [workflows generate-key](/cli/commands/workflows/generate-key) command. Set it in `"key"` (`workflow.resultEncryption.key`) in `config.json`.
+
+
-Do not change the preconfigured parameters and fill in the following ones:
+## Configure SPCTL for providers
-|**Parameter**|**Description**|
-|:-|:-|
-|accountPrivateKey| Private Key of your provider's Action Account|
-|authorityAccountPrivateKey| Private Key of your provider's Authority Account|
-|key| Private key for order result encryption. Use the key from your User Account or generate a new one with the [workflows generate-key](/cli/commands/workflows/generate-key) command|
-|bucket| Name of your Storj bucket (optional)|
-|writeAccessToken| Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket (optional)|
-|readAccessToken| Storj access grant with **Read** permission for this bucket (optional)|
+This section is for offer providers only. Skip it if you are a regular user.
-You can find the section with your Authority and Action Accounts Private Keys in `provider-tools-config.json` in the Provider Tools directory. Example:
+Providers need another copy of SPCTL configured for their accounts to manage offers.
-```json title="provider-tools-config.json"
- "account": {
- "authority": "0x50612a8bf52cb263825e58c72361ea58c04efa7af7e5b549ea9c2ed02059c668d",
- "action": "0x0512ad96fzc01900d3ecf0987m81c7bc1fd2daf455ebb49kjce5b410c7dc6f05",
- "tokenReceiver": "0x167d93786ghbf00d19b7d58065a5a59276e55ca1e621e47330f2b64d9fcb6a38"
- },
-```
+
+
+ If you registered a provider using Provider Tools, you should have a configuration file created automatically in the Provider Tools directory. Its name looks similar to the following:
+
+ ```spctl-config-0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAb.json```
+
+ Where `0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAb` is your Authority Account wallet address.
+
+ Use the `--config` option with [SPCTL commands](/cli/commands) to manage your provider and orders. For example:
+
+ ```
+ ./spctl orders list --my-account --type tee --config spctl-config-0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAa.json
+ ```
+
+ Alternatively, rename this file to `config.json` so SPCTL can recognize it as its configuration file. Copy or download the SPCTL binary to the Provider Tools directory.
+
+
+ As with your User Account's configuration file, you can manually create the provider's SPCTL configuration file.
+
+ 1. In the Provider Tools directory, create a file named `config.json`. Use the following template:
+
+ ```json title="config.json"
+ {
+ "backend": {
+ "url": "https://bff.superprotocol.com/graphql",
+ "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g"
+ },
+ "blockchain": {
+ "rpcUrl": "https://opbnb.superprotocol.com",
+ "smartContractAddress": "0x3C69ea105Fc716C1Dcb41859281Aa817D0A0B279",
+ "accountPrivateKey": "",
+ "authorityAccountPrivateKey": ""
+ },
+ "storage": {
+ "type": "STORJ",
+ "bucket": "",
+ "prefix": "",
+ "writeAccessToken": "",
+ "readAccessToken": ""
+ },
+ "workflow": {
+ "resultEncryption": {
+ "algo": "ECIES",
+ "key": "",
+ "encoding": "base64"
+ }
+ }
+ }
+ ```
+
+ 2. Do not change the preconfigured values and provide values to the following keys:
+
+ |**Key** |**Description**|
+ |:-|:-|
+ |`"accountPrivateKey"` | The provider's Action Account private key.|
+ |`"authorityAccountPrivateKey"` | The provider's Authority Account private key.|
+ |`"bucket"` | (optional) Name of a Storj bucket.|
+ |`"prefix"` | (optional) Path to a directory inside the bucket. It can be empty.|
+ |`"writeAccessToken"` | (optional) Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket.|
+ |`"readAccessToken"` | (optional) Storj access grant with **Read** permission for this bucket.|
+
+ You can find the section with your Authority and Action Accounts private keys in `provider-tools-config.json` in the Provider Tools directory. For example:
+
+ ```json title="provider-tools-config.json"
+ "account": {
+ "authority": "0x50612a8bf52cb263825e58c72361ea58c04efa7af7e5b549ea9c2ed02059c668d",
+ "action": "0x0512ad96fzc01900d3ecf0987m81c7bc1fd2daf455ebb49kjce5b410c7dc6f05",
+ "tokenReceiver": "0x167d93786ghbf00d19b7d58065a5a59276e55ca1e621e47330f2b64d9fcb6a38"
+ },
+ ```
+
+ 3. Generate a private key for order result encryption using the [workflows generate-key](/cli/commands/workflows/generate-key) command. Set it in `"key"` (`workflow.resultEncryption.key`) in `config.json`.
+
+
-## Set up Storj access
+## Set up Storj access (optional)
-This step is optional. You can add a Marketplace storage offer to the [`files upload`](/cli/commands/files/upload) command instead of configuring Storj. However, for additional control, you can set up and use your storage.
+You can use a Marketplace storage offer in the `files upload` command instead of configuring Storj. However, for additional control, set up and use your storage.
-Register a [Storj](https://www.storj.io/) account if you do not have one yet.
+1. Register a [Storj](https://www.storj.io/) account if you do not have one yet.
:::note
@@ -186,17 +198,17 @@ If you use a free Storj account, your files will become unavailable after the en
:::
-Create a bucket for your encrypted solutions and data. Refer to the [Storj documentation](https://docs.storj.io/dcs/getting-started/quickstart-objectbrowser/) for guidance.
+2. Create a bucket for your encrypted solutions and data. Refer to the [Storj documentation](https://docs.storj.io/dcs/getting-started/quickstart-objectbrowser/) for guidance.
-Create two access grants for this bucket. One should provide **Full** permission (**Read**, **List**, **Write**, **Delete**), and the other one **Read** permission. Refer to the [Storj guide](https://docs.storj.io/dcs/getting-started/quickstart-uplink-cli/uploading-your-first-object/create-first-access-grant/) to generate access grants.
+3. Create two access grants for this bucket. One should provide **Full** permission (**Read**, **List**, **Write**, **Delete**), and the other one **Read** permission. Refer to the [Storj guide](https://docs.storj.io/dcs/getting-started/quickstart-uplink-cli/uploading-your-first-object/create-first-access-grant/) to generate access grants.
-Open SPCTL's `config.json` in a text editor and fill in the following parameters:
+4. Open SPCTL's `config.json` in a text editor and provide values to the following key:
-|**Parameter**|**Description**|
+|**Key** |**Description**|
|:-|:-|
-|bucket| Name of a Storj bucket|
-|writeAccessToken| Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket|
-|readAccessToken| Storj access grant with **Read** permission for this bucket|
+|`"bucket"` | Name of a Storj bucket.|
+|`"writeAccessToken"` | Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket.|
+|`"readAccessToken"` | Storj access grant with **Read** permission for this bucket.|
## Support
diff --git a/docs/developers/deployment_guides/python/solution.md b/docs/developers/deployment_guides/python/solution.md
index f7ab266e..c585bee0 100644
--- a/docs/developers/deployment_guides/python/solution.md
+++ b/docs/developers/deployment_guides/python/solution.md
@@ -138,7 +138,7 @@ After running the command, `solution.tar.gz` and `metadata.json` files are gener
## Upload the solution
-Solution needs to be uploaded to decentralized storage before it may be executed in TEE. The storage credentials have been configured during the [SPCTL setup](/cli#set-up-storj-access).
+Solution needs to be uploaded to decentralized storage before it may be executed in TEE. The storage credentials have been configured during the [SPCTL setup](/cli/#set-up-storj-access-optional).
Run the following command:
diff --git a/docs/developers/deployment_guides/tunnels/prepare.md b/docs/developers/deployment_guides/tunnels/prepare.md
index 804c8241..abd20024 100644
--- a/docs/developers/deployment_guides/tunnels/prepare.md
+++ b/docs/developers/deployment_guides/tunnels/prepare.md
@@ -42,7 +42,7 @@ To generate a certificate without registration we recommend using [Certbot](http
Make sure that after you generate the certificate you download the file with the private key (e.g. `private.key`) and the certificate itself (e.g. `certificate.crt`). There may also be another file with the root and intermediary certificates (e.g. `ca_bundle.crt`). Copy the contents of that file into your certificate file.
:::note
-A self-generated and self-signed certificate will not work in Super Protocol. You need a certificate provided by the Certificate Authority.
+A self-generated and self-signed certificate will not work in Super Protocol. You need a certificate provided by a Certificate Authority.
:::
:::note
diff --git a/docs/developers/deployment_guides/tunnels/static_content.md b/docs/developers/deployment_guides/tunnels/static_content.md
index 7fcde5f7..0a0e9b6c 100644
--- a/docs/developers/deployment_guides/tunnels/static_content.md
+++ b/docs/developers/deployment_guides/tunnels/static_content.md
@@ -34,7 +34,7 @@ This will result in `tunnel-server-data.tar.gz`.
### Upload archive
-Solution needs to be encrypted and uploaded to decentralized storage before it may be executed in Super Protocol. The storage credentials will need to have been configured during the [SPCTL setup](/cli#set-up-storj-access):
+Solution needs to be encrypted and uploaded to decentralized storage before it may be executed in Super Protocol. The storage credentials will need to have been configured during the [SPCTL setup](/cli/#set-up-storj-access-optional):
```
./spctl files upload tunnel-server-data.tar.gz --output tunnel-server-data.json --filename tunnel-server-data.tar.gz
diff --git a/docs/developers/index.md b/docs/developers/index.md
index 05b7f53b..6d7e4f1b 100644
--- a/docs/developers/index.md
+++ b/docs/developers/index.md
@@ -30,7 +30,7 @@ When you know the basics, try SPCTL—the Super Protocol CLI tool:
## Create your provider and offers with CLI
1. Follow the [Providers and Offers](/developers/cli_guides/providers_offers) guide to create your provider and a first offer.
2. Follow the [Moderation Guidelines](/developers/marketplace/moderation/) to approve your offer for Marketplace GUI.
-3. [Update SPCTL configuration](/cli#for-offer-providers) as a provider to enable management of your provider and offers.
+3. [Update SPCTL configuration](/cli/#configure-spctl-for-providers) as a provider to enable management of your provider and offers.
4. Use [SPCTL commands](/developers/cli_guides/providers_offers#faq) to manage your provider and offers.
Join us on [Discord](https://discord.gg/superprotocol). The Super Protocol team welcomes any feedback and questions!
\ No newline at end of file
diff --git a/docs/fundamentals/certification.md b/docs/fundamentals/certification.md
index 7181b7c0..e98d0b74 100644
--- a/docs/fundamentals/certification.md
+++ b/docs/fundamentals/certification.md
@@ -21,7 +21,7 @@ The Root Certification Authority (*Root CA*) is located at the highest hierarchi
SubRoot Certification Authorities (*SubRoot CAs*) are located at the next hierarchical level. These submit their quotes and public keys to the Root CA and request certificates. The Root CA verifies these incoming requests and then issues and signs certificates for the SubRoot CAs.
-The SubRoot CAs, in turn, issue and sign certificates for [orders](/fundamentals/orders) by request.
+The SubRoot CAs, in turn, issue and sign certificates for orders by request.
## Order certificates
diff --git a/docs/fundamentals/images/fundamentals_orders_1.png b/docs/fundamentals/images/fundamentals_orders_1.png
deleted file mode 100644
index e55e6f02..00000000
Binary files a/docs/fundamentals/images/fundamentals_orders_1.png and /dev/null differ
diff --git a/docs/fundamentals/images/fundamentals_orders_2.png b/docs/fundamentals/images/fundamentals_orders_2.png
deleted file mode 100644
index a5fee9fc..00000000
Binary files a/docs/fundamentals/images/fundamentals_orders_2.png and /dev/null differ
diff --git a/docs/fundamentals/index.md b/docs/fundamentals/index.md
index b5c0f8bf..a958c35e 100644
--- a/docs/fundamentals/index.md
+++ b/docs/fundamentals/index.md
@@ -5,20 +5,18 @@ slug: "/"
sidebar_position: 1
---
-import { Tooltip } from 'react-tooltip';
-
This section describes the most essential concepts of Super Protocol.
## Marketplace
Super Protocol Marketplace is a distributed blockchain-based ecosystem governed by smart contracts. It connects the sellers and buyers of digital products and services:
-- Providers who offer solutions, data, and compute resources.
+- Providers who offer solutions, data, and compute resources.
- Customers who lease the offers and pay for the usage.
Providers create offers to share and monetize their compute resources as well as solutions, scripts, datasets, AI models, libraries, frameworks, etc. Read more about [offers and providers](/fundamentals/offers).
-Customers place orders by adding offers and paying for them according to the prices set by the providers of these offers. To learn more about orders, order statuses, pricing, and possible usage scenarios, refer to the [documentation](/fundamentals/orders).
+Customers place orders by adding offers and paying for them according to the prices set by the providers of these offers. To learn more about orders, order statuses, pricing, and possible usage scenarios, refer to the [documentation](/fundamentals/orders).
The Super Protocol Marketplace is accessible via one of the following:
diff --git a/docs/fundamentals/offers.md b/docs/fundamentals/offers.md
index 05cef142..ca6b9e83 100644
--- a/docs/fundamentals/offers.md
+++ b/docs/fundamentals/offers.md
@@ -5,7 +5,7 @@ slug: "/offers"
sidebar_position: 2
---
-_Offer_ is an open listing for a resource available on the Marketplace. To add an offer to an [order](/fundamentals/orders), users must pay the price in SPPI tokens set by the offer provider.
+_Offer_ is an open listing for a resource available on the Marketplace. To add an offer to an order, users must pay the price in SPPI tokens set by the offer provider.
_Offer providers_ share and monetize their applications and datasets by creating and maintaining _community offers_ on the Super Protocol Marketplace.
@@ -13,7 +13,7 @@ _Offer providers_ share and monetize their applications and datasets by creating
Offers are the basic building blocks of the Marketplace. Four types of offers exist in Super Protocol:
-- _Compute offers_: confidential computing resources to execute solutions and data inside a Trusted Execution Environment.
+- _Compute offers_: confidential computing resources to execute solutions and data inside a Trusted Execution Environment.
- _Solution offers_: applications such as AI frameworks, base images, tunnels, oracles, etc.
- _Data offers_: AI models, webpages, configs, datasets, databases, etc.
- _Storage offers_: decentralized storage, such as Storj, to keep the offer content, order results, and service files.
diff --git a/docs/fundamentals/orders.md b/docs/fundamentals/orders.md
index 50989ceb..92992a14 100644
--- a/docs/fundamentals/orders.md
+++ b/docs/fundamentals/orders.md
@@ -5,109 +5,115 @@ slug: "/orders"
sidebar_position: 3
---
-_Orders_ and _suborders_ on Super Protocol are digital contracts between a customer and [offer](/fundamentals/offers) providers. The term _order_ always implies the usage of a [compute offer](/fundamentals/offers#compute). Every other offer added to the order creates a separate suborder related to the main order. Solutions and data uploaded by the customer create no suborders.
+_Orders_ and _suborders_ on Super Protocol are digital contracts between customers and providers for leasing computing services, software products, and data—collectively referred to as offers.
-
+The term _order_ always implies the usage of a compute offer. Every additional offer added to the order creates a separate _suborder_ with the respective provider. If you add your uploaded solutions and data, they create no suborders.
-## Create orders
+Every order and suborder has a unique identification number—_order ID_. It is incremental and continuous for both orders and suborders.
-There are two ways to create orders:
+
+
-- The [Marketplace GUI](/marketplace) provides a more user-friendly experience, but you will be limited to the data and solution offers available on the Marketplace.
-- CLI offers additional functionality (has not yet been fully implemented).
+## Order composition
-Orders are accessible on the blockchain just like everything else. So, while the content inside a Trusted Execution Environment is confidential, and the order results are encrypted, the general information about any order is available to anyone.
+Most orders consist of four building blocks:
-The content of the order, including the order result, is encrypted. Only the customer knows the private key necessary to decrypt it. The order result is kept by the storage suborder for as long as the customer keeps paying for it.
+- **Solution**: Applications, engines, scripts, base images, and other programs.
+- **Data**: Any data required by solutions. AI models fall into this category.
+- **Compute**: Confidential computing resources required to execute solutions.
+- **Storage**: Decentralized storage used to keep order results after execution.
-Every order and suborder has a unique identification number—_order ID_. It is incremental and continuous for both orders and suborders.
+Solutions and data may be either leased from the Marketplace or uploaded by users.
-## Combinations
+Compute and storage can currently only be provided by Super Protocol.
-Most orders consist of four building blocks:
+## Order creation
-- **Solutions**: applications and base images
-- **Data**: data required by solutions
-- **Storage**: remote storage to keep solutions and data before the execution inside a Trusted Execution Environment as well as order results
-- **Compute**: compute resources and a Trusted Execution Environment to execute together solutions and data.
+There are two ways to place an order:
-Solutions and data may be either provided by offers or deployed by users. Offers are available for monetization on the Marketplace. But users can also upload solutions and data they have locally and add them to orders instead of using offers.
+- The [Marketplace web app](https://marketplace.superprotocol.com/) is user-friendly, but limited to deploying AI models using the engines available on the Marketplace.
+- The [command-line interface (CLI)](/cli) allows the launch of any applications and provides additional functionality.
-Storage and compute can only be provided by offers. Currently, only Super Protocol provides storage and compute resources.
+Orders exist on the blockchain and are visible to anyone. So, while the solutions and data inside a Trusted Execution Environment (TEE) remain confidential, the general information about any order is available using the CLI.
+
+The order result is kept by the storage suborder for as long as the customer keeps paying for it. Only the customer who placed the order knows the private key necessary to decrypt the result.
## Usage scenarios
Depending on the solution, there are two typical usage scenarios:
-- One-off order performs a specific computation and produce a result. For example, using an AI model to run an inference on a batch of data or fine-tuning an AI model.
-- Long-term order runs an app, such as an LLM with a web-interface deployed using [confidential tunnels](/fundamentals/tunnels). It keeps running as long as the order has money on the balance.
-
-## Lease, deposit, and balance
+- One-off orders perform a specific computation and produce a result, such as an order to fine-tune an AI model.
+- Long-term orders keep running as long as the order has money in the balance. For example, an order to deploy an AI model using an engine with a web interface accessible through a confidential tunnel.
-_Lease time_ is the duration for which a customer rents the services of an offer. Solution and data are suborders, so their lease time is tied to the compute lease time.
+_Lease time_ is the duration for which a customer rents the services of an offer. Solutions, data, and storage are suborders, so their lease time is tied to the compute lease time.
-_Deposit_ is the initial payment for the order. Lease time is necessary to calculate the deposit during the order creation.
+_Deposit_ is the initial payment for the order. It is calculated during the order creation depending on the selected offers and the desired lease time.
Order _balance_ is a dedicated amount of funds to pay the providers. The deposit determines the initial balance.
Long-term orders keep working as long as there is money on the balance to pay the provider. If the customer wants to extend the lease time, they can _replenish the balance_—add more funds. The customer gets all unspent tokens back automatically when the order is completed or canceled.
-When the balance is close to zero, the order gets the "awaiting payment" flag. It warns the customer that the lease time will end soon. Marketplace GUI highlights such orders with a bright orange color.
+When the balance is close to zero, the order gets the "awaiting payment" flag. It warns the customer that the lease time will end soon. The Marketplace web app highlights such orders with a bright orange color.
## Cost and pricing
-Super Protocol uses a _Pay-As-You-Go_ model. Customers pay for services as they use them, rather than paying for a set period upfront.
+Super Protocol uses a _Pay-as-you-go_ model. Customers pay for services as they use them, rather than paying for a set period upfront.
Every offer has a cost set by its provider. The price can be either fixed or per hour depending on the offer.
-| **Offer Type** | **Pricing Conditions** |**Description** |
+| **Offer Type** | **Pricing** | **Description** |
|:-|:-|:-|
-| Solution | Fixed or per hour | Solution may require one-time payment or every hour of usage. |
-| Data | Fixed or per hour | Data may require one-time payment or every hour of usage. |
-| Compute | Per hour | The main order works until it is completed or the balance runs out. |
-| Storage | Per hour | The storage suborder launches when the main order is completed to keep the order result until the balance runs out. |
+| Solution | Fixed or per hour | Solution may require one-time payment or an hourly payment. |
+| Data | Fixed or per hour | Data may require one-time payment or an hourly payment. |
+| Compute | Per hour | The main order works until it is completed or the balance runs out. |
+| Storage | Per hour | The storage suborder launches when the main order is completed to keep the order result until the balance runs out. |
## Order status
-You can check the status of any order in the Marketplace GUI on the **All Orders** page. In the Marketplace CLI, use the `orders get` command.
-
-### Compute order statuses
-
-A compute order—the main order—begins as **Suspended**. This status means that the order waits for the creation of solution and data suborders.
+You can check the status of your order in the Marketplace web app on the **All Orders** screen. In the CLI, use the [`orders get`](/cli/commands/orders/get) command.
-When the suborders are created, the compute order gets the **Blocked** status. At this stage, the solution and data providers generate keys and authorize the compute provider to access the content.
+### Compute order
-Once this is done, the compute order gets the **New** status and waits in the queue for the compute offer to become available.
+Statuses:
-When the machine is available, the compute order gets the status **Processing**, which is the main status for execution inside a Trusted Execution Environment. When the order is completed, it receives the **Done** status.
+- **Suspended**: The order is waiting for the creation of the solution and data suborders.
+- **Blocked**: The order is waiting for the authorization from the solution and data providers to access the content.
+- **New**: The order is waiting for the response from the compute provider.
+- **In Queue**: The order is waiting in the queue for the compute to become available. This status appears only if the compute is overloaded with orders.
+- **Processing**: The compute is executing the order inside a TEE.
+- **Done**: The order is completed.
-Note that the **Processing** and **Done** statuses may have different meanings depending on the usage scenario. For one-time orders such as Python models, **Processing** means that the machine is working with the solution and data. When this processing is over, the main order becomes **Done**.
+Note that the **Processing** and **Done** statuses may have different meanings depending on the usage scenario. For one-time orders, such as executing a Python script, **Processing** means that the machine is working with the solution and data. When this is over, the main order becomes **Done**.
-For long-term orders such as tunnel and storage orders, **Processing** means that the order is up and running normally, accessible to users, providing services, etc. And when the order is **Done**, the order has ended and is no longer working.
+For long-term orders, such as AI model deployment orders, **Processing** means that the order is up and running normally, and its service is accessible to users. When the order is **Done**, the order ends, and the service is no longer available.
-### Solution and data
+### Solution and data suborders
-A solution or data suborder starts as **New**. It means that the suborder was created on the blockchain.
+Statuses:
-The next status is **Processing**. At this stage, the solution and data providers generate keys and authorize the compute provider to access the content. The suborder becomes **Done**, and the providers withdraw their earnings from the order. Typically, all these steps take less than a minute.
+- **New**: The suborder was created on the blockchain.
+- **Processing**: The offer provider authorizes the compute to access the offer content—the solution or data.
+- **Done**: The content is available to the compute, and the offer provider withdraws their earnings from the order.
-The above applies to the Marketplace offers that have providers. If you deploy your solution or data, they are downloaded into the Trusted Execution Environment before the order starts.
+Typically, these steps take less than a minute.
-### Storage
+If you launch your solution or data, they create no suborders. The compute downloads your solution and data into the TEE before processing the order.
-Storage suborder keeps the order result after the main order is completed. The Trusted Execution Environment does not store anything and is destroyed after the order ends.
+### Storage suborder
-A storage suborder also starts as **New**. When the order result is ready, the storage suborder receives the status **Processing**. It means, the suborder has the order result, and the customer can download it.
+Storage keeps the encrypted order result after the order is completed. The TEE does not store anything and is destroyed after the main order is done. Typically the storage suborder is created when the main order is almost completed.
-When the lease expires the suborder becomes **Done**. It means the order result is no longer available.
+Statuses:
-Typically the storage suborder is created when the main order is almost completed to keep the result available for the customer. However, sometimes there is no order result to store. In this case, the storage suborder is not created.
+- **New**: The suborder was created, but the order result is not ready yet.
+- **Processing**: The storage now has the order result, and the customer can download it.
+- **Done**: The lease expired, and the order result is no longer available.
-Users can create independent storage orders to keep files, for example, for [community offers](/fundamentals/offers#community-offers). This functionality is only available in CLI using the `files upload` command. Note that such orders do not appear in **All orders** in the Marketplace GUI.
+Users can create independent storage orders to keep files. This functionality is only available via the CLI using the [`files upload`](/cli/commands/files/upload) command. Note that such orders do not appear in the Marketplace web app.
-### Cancelations
+### Order cancelation
-Any order or suborder may be canceled. If the customer cancels the main order, all its suborders are canceled as well. Similarly, if the customer cancels a solution or data suborder, the main orders and all its suborders are canceled too. Storage suborders may be canceled without affecting the main order because they start when the main order is **Done**.
+Any order or suborder may be canceled. If the customer cancels the main order, all its suborders are canceled as well. Similarly, if the customer cancels a solution or data suborder, the main orders and all its suborders are canceled too. Storage suborders may be canceled without affecting the main order because they start when the main order is already done.
In any case, all tokens left of the balance are returned to the customer.
@@ -116,26 +122,26 @@ Statuses:
- **Canceling**: The order is being canceled.
- **Canceled**: The order is canceled.
-### Stuck orders
-
-If you are using a community offer in your order and the offer fails to respond, your order will not proceed. When you see your order stuck with the **New** status for more than 15 minutes, check the community offer you used. If it is in the **Inactive** category, this offer is nonfunctional. Cancel your order to return the deposit.
-
## Events
-
+To check the information on what is happening with the order, check the [**Events** tab](/marketplace/all-orders/order#events-tab) on the **Order** screen in the Marketplace web app.
+
+
+
+
+The tab shows, among other things:
-Check the **Events** tab on the order page in the Marketplace GUI to get more information on what is happening with the order. The tab shows, among other things:
-- List of the main blockchain events
-- Correlation between the events and the order and suborder statuses
-- Absolute transaction values
-- Links to the transaction details on a block explorer
+- The list of the main blockchain events.
+- Correlation between the events and the order and suborder statuses.
+- Absolute transaction values.
+- Links to the transaction details on a block explorer.
-The main blockchain events are:
+The main blockchain events:
-- **OrderCreated**: the order or sub-order is created on the blockchain.
-- **OrderStarted**: the compute order has started.
-- **OrderStatusUpdated**: the order or sub-order status has changed without any new events.
-- **OrderEncryptedResultUpdated**: the resource path to the order result was written to the blockchain.
-- **OrderChangeWithdrawn**: the remaining token balance was returned to the customer.
-- **OrderProfitWithdrawn**: the provider withdrew the offer payment from the order balance.
+- **OrderCreated**: The order or suborder is created on the blockchain.
+- **OrderStarted**: The compute order has started.
+- **OrderStatusUpdated**: The order or suborder status has changed without any new events.
+- **OrderEncryptedResultUpdated**: The resource path to the order result was written to the blockchain.
+- **OrderChangeWithdrawn**: The remaining token balance was returned to the customer.
+- **OrderProfitWithdrawn**: The provider withdrew the offer payment from the order balance.
diff --git a/docs/fundamentals/slots.md b/docs/fundamentals/slots.md
index 61bdaf7f..d97fc1b4 100644
--- a/docs/fundamentals/slots.md
+++ b/docs/fundamentals/slots.md
@@ -5,11 +5,13 @@ slug: "/slots"
sidebar_position: 4
---
-_Requirements_ describe the parameters that a solution, data, or storage offer needs to run. _Configurations_ provide flexibility in selecting computing resources and internet access for offer deployment. The compute offer configuration added to an order must meet all the value offer requirements in this order.
+_Requirements_ describe the parameters that a solution, data, or storage offer needs to run.
+
+_Configurations_ provide flexibility in selecting computing resources and internet access for offer deployment. The compute offer configuration added to an order must meet all the value offer requirements in this order.
## Requirements
-Requirements specify how much computing resources a [value offer](/fundamentals/offers#types-of-offers) needs to run. A _requirement slot_ is a specific set of requirements that may include the following:
+Requirements specify how much computing resources a value offer needs to run. A _requirement slot_ is a specific set of requirements that may include the following:
- Number of CPU cores
- RAM
diff --git a/docs/fundamentals/tunnels.md b/docs/fundamentals/tunnels.md
index ea5dd504..253dc16a 100644
--- a/docs/fundamentals/tunnels.md
+++ b/docs/fundamentals/tunnels.md
@@ -7,7 +7,7 @@ sidebar_position: 5
_Tunneling_ is a communication method that wraps data within a different data format to transmit securely and efficiently across a network. This creates a virtual communication channel—a _tunnel_—within the network. Data passes through securely and appears to be traveling over a direct connection.
-Super Protocol has implemented tunnels to provide decentralized confidential computing as a web service. In Super Protocol, a tunnel consists of the Tunnel Server and Tunnel Client solutions with a confidential connection between them. Tunnel servers have an external public IP. They are accessible from the internet via HTTPS through a browser or another service through API. Tunnel clients run web servers and hide behind tunnel servers from malicious attacks. Both tunnel server and client run inside a Trusted Execution Environment on their respective machines. This ensures the confidentiality of the content and execution.
+Super Protocol has implemented tunnels to provide decentralized confidential computing as a web service. In Super Protocol, a tunnel consists of the Tunnel Server and Tunnel Client solutions with a confidential connection between them. Tunnel servers have an external public IP. They are accessible from the internet via HTTPS through a browser or another service through API. Tunnel clients run web servers and hide behind tunnel servers from malicious attacks. Both tunnel server and client run inside a Trusted Execution Environment on their respective machines. This ensures the confidentiality of the content and execution.
Super Protocol supports the deployment of multiple instances of clients and servers. Distributing tunnels over different cloud service providers increases decentralization and fault tolerance.
diff --git a/docs/marketplace/account/index.md b/docs/marketplace/account/index.md
index 1256d063..f0b90d1e 100644
--- a/docs/marketplace/account/index.md
+++ b/docs/marketplace/account/index.md
@@ -19,7 +19,7 @@ _Web3 User account_ is the recommended account type in Super Protocol. It provid
- Full decentralization and sole control of user's funds, models, and datasets.
- Ability to upload models and datasets to the Super Protocol cloud or a personal Storj account.
-- Placement of orders with Marketplace offers or the user's own uploaded content.
+- Placement of orders using Marketplace offers or the user's own uploaded content.
- Registration of individual providers and full control of earned funds and rewards.
- Creation and monetization of model and dataset offers on the Marketplace.
- Ability to request additional SPPI tokens.
diff --git a/docs/marketplace/account/web3.md b/docs/marketplace/account/web3.md
index 536a0131..58b70e65 100644
--- a/docs/marketplace/account/web3.md
+++ b/docs/marketplace/account/web3.md
@@ -15,7 +15,7 @@ This window allows you to manage your [Web3 User account](/marketplace/account#w
**Login**: the Web3 login method and the EVM wallet address you are using. Currently, Super Protocol only supports MetaMask as a Web3 login method.
-**Get SPPI** and **Get BNB** buttons allow you to get tokens necessary to place orders:
+**Get SPPI** and **Get BNB** buttons allow you to get tokens necessary to place orders:
- SPPI tokens are required to pay and receive payments in Super Protocol.
- BNB tokens are required to pay for opBNB blockchain transactions.
diff --git a/docs/marketplace/all-orders/index.md b/docs/marketplace/all-orders/index.md
index 6fe38225..753c406f 100644
--- a/docs/marketplace/all-orders/index.md
+++ b/docs/marketplace/all-orders/index.md
@@ -5,7 +5,7 @@ slug: "/all-orders"
sidebar_position: 6
---
-This screens displays the full list of the orders you placed on Super Protocol.
+This screens displays the full list of the orders you placed on Super Protocol.
diff --git a/docs/marketplace/all-orders/order.md b/docs/marketplace/all-orders/order.md
index b88de02f..2bc346ea 100644
--- a/docs/marketplace/all-orders/order.md
+++ b/docs/marketplace/all-orders/order.md
@@ -5,7 +5,7 @@ slug: "/all-orders/order"
sidebar_position: 1
---
-This screen provides detailed information about a particular order. Read about [Orders](/fundamentals/orders).
+This screen provides detailed information about a particular order. Read about [Orders](/fundamentals/orders).
@@ -20,7 +20,7 @@ The contents of an order are encrypted and accessible only to the user who place
- **Suspended**. The order is awaiting the creation of suborders.
- **Blocked**. A suborder temporarily blocks the order to generate access keys and authorize the confidential computing device to access the suborder's content.
- **In Queue**. The order is awaiting in the queue for the computing device to become available.
-- **Processing**. The machine is executing the order inside a Trusted Execution Environment.
+- **Processing**. The machine is executing the order inside a Trusted Execution Environment.
Statuses specific for Deploy orders:
@@ -35,7 +35,7 @@ Additional possible statuses:
Read about [statuses](/fundamentals/orders#order-status).
-**Lease Remaining** indicates the remaining time until the order is completed and gets the Done status. It is calculated by dividing the remaining order balance by the total cost of all the offers priced per hour. For Deploy orders with the Deployed status, it is the duration the model will remain operational.
+**Lease Remaining** indicates the remaining time until the order is completed and gets the Done status. It is calculated by dividing the remaining order balance by the total cost of all the offers priced per hour. For Deploy orders with the Deployed status, it is the duration the model will remain operational.
## Financials
@@ -134,19 +134,19 @@ The **Events** tab contains information on what is happening with the order.
-- **Date**: the date and time of the event.
-- **Order ID**: the identification number of the order or suborder to which the event is related.
+- **Date**: The date and time of the event.
+- **Order ID**: The identification number of the order or suborder to which the event is related.
- **Order Type**: either **Order** or **Suborder**.
- **Type**: **Compute** for the main order; **Solution**, **Data**, or **Storage** for suborders.
-- **Provider**: the name of the provider.
-- **Name**: the name of the offer.
-- **Status**: status of the order or suborder when the event occurred.
-- **Event**: code of what happened. The full list of the events:
- + **OrderCreated**: the order or suborder is created on the blockchain.
- + **OrderStarted**: the compute order has started.
- + **OrderStatusUpdated**: the order or suborder status has changed without any new events.
- + **OrderEncryptedResultUpdated**: the resource path to the order result was written to the blockchain.
- + **OrderChangeWithdrawn**: the remaining token balance was returned to the customer.
- + **OrderProfitWithdrawn**: the provider withdrew the offer payment from the order balance.
-- **Value**: transaction value in SPPI tokens, if applicable.
-- **Txn Hash**: transaction hash. Clicking it opens the transaction in the [OKLink block explorer](https://www.oklink.com/).
\ No newline at end of file
+- **Provider**: The name of the provider.
+- **Name**: The name of the offer.
+- **Status**: The status of the order or suborder when the event occurred.
+- **Event**: The code of what happened. The main blockchain events:
+ + **OrderCreated**: The order or suborder is created on the blockchain.
+ + **OrderStarted**: The compute order has started.
+ + **OrderStatusUpdated**: The order or suborder status has changed without any new events.
+ + **OrderEncryptedResultUpdated**: The resource path to the order result was written to the blockchain.
+ + **OrderChangeWithdrawn**: The remaining token balance was returned to the customer.
+ + **OrderProfitWithdrawn**: The provider withdrew the offer payment from the order balance.
+- **Value**: The transaction value in SPPI tokens, if applicable.
+- **Txn Hash**: The transaction hash. Clicking it opens the transaction in the [OKLink block explorer](https://www.oklink.com/).
\ No newline at end of file
diff --git a/docs/marketplace/confidentiality.md b/docs/marketplace/confidentiality.md
index 6d218c6f..75b7036e 100644
--- a/docs/marketplace/confidentiality.md
+++ b/docs/marketplace/confidentiality.md
@@ -5,19 +5,19 @@ slug: "/confidentiality"
sidebar_position: 21
---
-*Check Confidentiality* is a service that verifies the authenticity of a domain deployed on Super Protocol and ensures its content is running in a valid Trusted Execution Environment (TEE).
+*Check Confidentiality* is a service that verifies the authenticity of a domain deployed on Super Protocol and ensures its content is running in a valid Trusted Execution Environment (TEE).
-Super Protocol uses *SSL/TLS certificates* to encrypt the data exchange between the user's browser and the web server inside the Tunnel Client deployment. Besides, Super Protocol Certification Authorities issue certificates for every order—[*order certificates*](/fundamentals/certification).
+Super Protocol uses *SSL/TLS certificates* to encrypt the data exchange between the user's browser and the web server inside the Tunnel Client deployment. Besides, Super Protocol Certification Authorities issue certificates for every order—[*order certificates*](/fundamentals/certification).
The Check Confidentiality service performs the following:
- Validates the order certificate chain to ensure the order is being processed in a correct TEE.
- Validates the integrity of the [Tunnel Client](/fundamentals/tunnels) deployment.
-- Checks if the solution is a Marketplace offer (for instance, a specific [engine](/marketplace/order-builder#engine)). Otherwise, you will see a warning "Deployed solution is not an offer" meaning the solution cannot be verified.
+- Checks if the solution is a Marketplace offer (for instance, a specific [engine](/marketplace/order-builder#engine)). Otherwise, you will see a warning "Deployed solution is not an offer" meaning the solution cannot be verified.
diff --git a/docs/marketplace/guides/deploy-model.md b/docs/marketplace/guides/deploy-model.md
index deba5c9e..0ab8bdc5 100644
--- a/docs/marketplace/guides/deploy-model.md
+++ b/docs/marketplace/guides/deploy-model.md
@@ -5,23 +5,23 @@ slug: "/guides/deploy-model"
sidebar_position: 4
---
-This guide provides step-by-step instructions on how to upload and deploy an AI model.
+This guide provides step-by-step instructions for uploading and deploying an AI model.
:::note
-Uploading models is currently available to Web2 users only.
+Uploading models and creating offers are currently available to Web2 users only.
:::
-## 1. Create an offer
+## 1. Upload
1.1. In the **My Offers** screen, click the **New Offer** button.
-
+
-1.2. Complete all the fields in the appearing window.
+1.2. Complete all fields in the appearing window.
@@ -40,33 +40,29 @@ Due to [Testnet limitations](/marketplace/limitations), the total size of model
:::
-1.3. Click the **Create Offer** button. Do not close the window until the upload is complete.
+1.3. Click the **Create Offer** button. Do not close the window until the upload is complete. This may take a few minutes.
-## 2. Open the Offer Builder
+1.4. When the upload is complete, close the New Offer window or click **Go to Offer** to open the offer in the [Offer Builder](/marketplace/my-offers/offer-builder).
-The created offer is unpublished. You need to configure it in the Offer Builder before publishing to the Marketplace.
+
+
-To open the offer in the Offer Builder, click **Go to Offer** in the **New Offer** window.
+## 2. Deploy
-
-
-
+2.1. Click the **Deploy** button next to your offer in the My Offers screen or the bottom-right corner of the Offer Builder. You will be redirected to the [Order Builder](/marketplace/order-builder) with a preconfigured order for a quick deployment.
-Or click the **Edit** button next to your offer in the **My Offers** screen.
+2.2. In the Order Builder, review and modify the order if necessary. Click **Pay Now** to place the order.
-
+
+
-## 3. Check the model files
-
-In the **Files** tab, ensure the model format is recognized correctly.
+2.3. When the order is created, you will be redirected to the [Order](/marketplace/all-orders/order) screen. Wait until the deployment is ready. It may take 15-45 minutes, depending on the model size and other factors.
-
+
-If you need to upload more files related to this model, click the **Add Files** button.
-
-## 4. Deploy the model
+2.4. When your order is ready, you will see the Deployed status and an Access Link to your model's interface.
-Click the **Deploy** button in the bottom-right corner of the screen. This will build an order with your model for a quick deployment.
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/marketplace/guides/log-in.md b/docs/marketplace/guides/log-in.md
index f61f8cd0..1cf6e00f 100644
--- a/docs/marketplace/guides/log-in.md
+++ b/docs/marketplace/guides/log-in.md
@@ -109,7 +109,7 @@ Super Protocol users need two types of tokens:
- SPPI tokens to pay and receive payments in Super Protocol.
- BNB tokens to pay for opBNB blockchain transactions.
-Both types are necessary to place orders. During the testnet, you can request free tokens in the **Account** setting.
+Both types are necessary to place orders. During the testnet, you can request free tokens in the **Account** setting.
diff --git a/docs/marketplace/guides/publish-offer.md b/docs/marketplace/guides/publish-offer.md
index c3728142..686494ec 100644
--- a/docs/marketplace/guides/publish-offer.md
+++ b/docs/marketplace/guides/publish-offer.md
@@ -12,7 +12,7 @@ This guide provides step-by-step instructions on how to register a provider and
:::note
-Creating offers is currently available to Web2 users only.
+Uploading models and creating offers are currently available to Web2 users only.
:::
@@ -20,20 +20,20 @@ Creating offers is currently available to Web2 users only.
1.1. In the [Marketplace web app](https://marketplace.superprotocol.com/), open your account settings.
-
+
1.2. Scroll down, type in the desired **Provider Name**, and click **Create Provider**.
-
+
## 2. Create an offer
2.1. In the **My Offers** screen, click the **New Offer** button.
-
+
@@ -56,7 +56,7 @@ Due to [Testnet limitations](/marketplace/limitations), the total size of the mo
:::
-2.3. Click the **Create Offer** button. Do not close the window until the upload is complete.
+1.3. Click the **Create Offer** button. Do not close the window until the upload is complete. This may take a few minutes.
## 3. Open the Offer Builder
@@ -64,7 +64,7 @@ The created offer is unpublished. You need to configure it in the Offer Builder
To open the offer in the Offer Builder, click **Go to Offer** in the **New Offer** window.
-
+
@@ -77,7 +77,7 @@ Alternatively, click the **Edit** button next to the offer in the **My Offers**
In the **Files** tab, ensure the model formats are recognized correctly.
-
+
@@ -120,7 +120,7 @@ If the offer supports both GPU-only and CPU-only engines, create at least one sl
Complete the following fieds:
- **Price**: Set the price in SPPI tokens for leasing the model and select the pricing type:
- + **Fixed**: A one-time payment for each order, regardless of the lease duration.
+ + **Fixed**: A one-time payment for each order, regardless of the lease duration.
+ **Per Hour**: Payment is based on the number of hours the offer is leased.
- **Disk**: Set the required disk space in gigabytes (GB). It should not be less than the sum of all model files.
- **GPU RAM**: Set the required video RAM in gigabytes (GB).
diff --git a/docs/marketplace/guides/troubleshooting.md b/docs/marketplace/guides/troubleshooting.md
index a3dff77c..fb64b20d 100644
--- a/docs/marketplace/guides/troubleshooting.md
+++ b/docs/marketplace/guides/troubleshooting.md
@@ -25,7 +25,7 @@ Possible solutions:
## Order status: Error
-Issue: the order processing stops due to the **Error** status.
+Issue: the order processing stops due to the **Error** status.
diff --git a/docs/marketplace/images/publish-offer-create-provider.png b/docs/marketplace/images/account-create-provider.png
similarity index 100%
rename from docs/marketplace/images/publish-offer-create-provider.png
rename to docs/marketplace/images/account-create-provider.png
diff --git a/docs/marketplace/images/deploy-models.png b/docs/marketplace/images/deploy-models.png
deleted file mode 100644
index 70113ed5..00000000
Binary files a/docs/marketplace/images/deploy-models.png and /dev/null differ
diff --git a/docs/marketplace/images/deploy-my-content.png b/docs/marketplace/images/deploy-my-content.png
deleted file mode 100644
index 20e0cd0b..00000000
Binary files a/docs/marketplace/images/deploy-my-content.png and /dev/null differ
diff --git a/docs/marketplace/images/publish-offer-account.png b/docs/marketplace/images/my-offers-account.png
similarity index 100%
rename from docs/marketplace/images/publish-offer-account.png
rename to docs/marketplace/images/my-offers-account.png
diff --git a/docs/marketplace/images/publish-offer-new-offer.png b/docs/marketplace/images/my-offers-new-offer.png
similarity index 100%
rename from docs/marketplace/images/publish-offer-new-offer.png
rename to docs/marketplace/images/my-offers-new-offer.png
diff --git a/docs/marketplace/images/publish-offer-new-offer-go-to-offer.png b/docs/marketplace/images/new-offer-go-to-offer.png
similarity index 100%
rename from docs/marketplace/images/publish-offer-new-offer-go-to-offer.png
rename to docs/marketplace/images/new-offer-go-to-offer.png
diff --git a/docs/marketplace/images/publish-offer-files.png b/docs/marketplace/images/offer-builder-format.png
similarity index 100%
rename from docs/marketplace/images/publish-offer-files.png
rename to docs/marketplace/images/offer-builder-format.png
diff --git a/docs/marketplace/images/order-builder-pay-now.png b/docs/marketplace/images/order-builder-pay-now.png
new file mode 100644
index 00000000..4e9d39f7
Binary files /dev/null and b/docs/marketplace/images/order-builder-pay-now.png differ
diff --git a/docs/marketplace/images/order-deployed-online.png b/docs/marketplace/images/order-deployed-online.png
new file mode 100644
index 00000000..095ae5af
Binary files /dev/null and b/docs/marketplace/images/order-deployed-online.png differ
diff --git a/docs/marketplace/images/order-processing.png b/docs/marketplace/images/order-processing.png
new file mode 100644
index 00000000..eb591876
Binary files /dev/null and b/docs/marketplace/images/order-processing.png differ
diff --git a/docs/marketplace/index.md b/docs/marketplace/index.md
index 792c6067..7be956f5 100644
--- a/docs/marketplace/index.md
+++ b/docs/marketplace/index.md
@@ -19,7 +19,7 @@ Super Protocol launched the first public release of Marketplace 2.0 on November
Upcoming features in the future development phases:
-- Publishing offers in the Marketplace from uploaded files. Currently, publishing is limited to selected researchers, testers, and developers.
+- Publishing offers in the Marketplace from uploaded files. Currently, publishing is limited to selected researchers, testers, and developers.
- Fine-tuning models by creating new layers for base models.
- Support for datasets.
- Expanded model availability in the Marketplace.
diff --git a/docs/marketplace/limitations.md b/docs/marketplace/limitations.md
index be4470af..abc02763 100644
--- a/docs/marketplace/limitations.md
+++ b/docs/marketplace/limitations.md
@@ -13,7 +13,7 @@ During the testnet, you can deploy models using either Intel TDX CPUs or NVIDIA
Super Protocol supports two types of machines:
-- **TDX+H100 (CPU and GPU)** can run orders on GPU or CPU, depending on the selected engine type.
+- **TDX+H100 (CPU and GPU)** can run orders on GPU or CPU, depending on the selected engine type.
- **TDX (CPU only)** can only run orders on CPU. Note that CPUs are much slower.
Super Protocol constantly adds more TDX+H100 machines and will soon begin onboarding machines from third-party providers.
diff --git a/docs/marketplace/models/index.md b/docs/marketplace/models/index.md
index cfbf8a04..b5d662ed 100644
--- a/docs/marketplace/models/index.md
+++ b/docs/marketplace/models/index.md
@@ -5,11 +5,11 @@ slug: "/models"
sidebar_position: 4
---
-This screen lists models or datasets offered on the Marketplace. You can lease the content listed here by adding it to your orders.
+This screen lists AI models that users offer on the Marketplace. You can lease the content listed here by adding it to your orders.
:::note
-Datasets are not yet available in the current version of the Marketplace.
+Datasets will be available in future versions of the Marketplace.
:::
diff --git a/docs/marketplace/models/offer.md b/docs/marketplace/models/offer.md
index 9f2eb342..2dd06268 100644
--- a/docs/marketplace/models/offer.md
+++ b/docs/marketplace/models/offer.md
@@ -12,7 +12,7 @@ This window provides information about a model available for lease on the Market
## Metadata
-On the right-hand side of the window, you can find metadata about the offer:
+On the right-hand side of the window, you can find metadata about the offer:
- **Offer ID**: A unique identifier; it is incremental and continuous across all offers.
- **Offer Type**: The type of the offer:
@@ -50,7 +50,7 @@ Slots may be divided into two categories:
Super Protocol supports two pricing types:
-- **Fixed**: a one-time payment for each order, regardless of the lease duration.
+- **Fixed**: a one-time payment for each order, regardless of the lease duration.
- **Per Hour**: payment is based on the number of hours the offer is leased.
Each slot includes the following requirements:
diff --git a/docs/marketplace/my-offers/index.md b/docs/marketplace/my-offers/index.md
index eb18b79c..031ef4fc 100644
--- a/docs/marketplace/my-offers/index.md
+++ b/docs/marketplace/my-offers/index.md
@@ -5,7 +5,7 @@ slug: "/my-offers"
sidebar_position: 5
---
-This screen allows you to browse your offers and deploy uploaded models.
+This screen allows you to browse your offers and deploy uploaded models.
@@ -17,4 +17,4 @@ The table in the center of the screen lists all your offers—both published and
The **Edit** button opens the [Offer Builder](/marketplace/my-offers/offer-builder), where you can configure and publish the offer.
-The **Deploy** button adds the offer to an order and opens the [Order Builder](/marketplace/order-builder) for quick deployment.
\ No newline at end of file
+The **Deploy** button adds the offer to an order and opens the [Order Builder](/marketplace/order-builder) for quick deployment.
\ No newline at end of file
diff --git a/docs/marketplace/my-offers/new-offer.md b/docs/marketplace/my-offers/new-offer.md
index c834d011..0912b525 100644
--- a/docs/marketplace/my-offers/new-offer.md
+++ b/docs/marketplace/my-offers/new-offer.md
@@ -5,7 +5,7 @@ slug: "/my-offers/new-offer"
sidebar_position: 1
---
-This window allows you to upload a model and create an offer. After uploading, you can deploy the model. Additionally, you can configure and publish the offer on the Marketplace to lease the uploaded model to other users.
+This window allows you to upload a model and create an offer. After uploading, you can deploy the model. Additionally, you can configure and publish the offer on the Marketplace to lease the uploaded model to other users.
diff --git a/docs/marketplace/my-offers/offer-builder.md b/docs/marketplace/my-offers/offer-builder.md
index f79e4264..0b6cb11c 100644
--- a/docs/marketplace/my-offers/offer-builder.md
+++ b/docs/marketplace/my-offers/offer-builder.md
@@ -5,7 +5,7 @@ slug: "/my-offers/offer-builder"
sidebar_position: 2
---
-_Offer Builder_ is a tool for uploading models and creating, editing, and publishing offers.
+_Offer Builder_ is a tool for uploading models and creating, editing, and publishing offers.
To deploy your AI model, you must upload it and create an offer. Newly created offers are unpublished, meaning only you can view them and add them to orders for deployment.
@@ -71,7 +71,7 @@ To support both CPU-only and GPU-only engines, create separate requirement slots
The **Add Slot** button opens an editable template for a slot that allows you to set the offer requirements:
- **Price**: The price in SPPI tokens for leasing the model and the pricing type:
- + **Fixed**: A one-time payment for each order, regardless of the lease duration.
+ + **Fixed**: A one-time payment for each order, regardless of the lease duration.
+ **Per Hour**: Payment is based on the number of hours the offer is leased.
- **CPU vCores**: Number of virtual CPU cores; can be fractional. Set to `0` to create a slot for GPU-only engines.
- **CPU RAM**: RAM in gigabytes (GB). Set to `0` to create a slot for GPU-only engines.
diff --git a/docs/marketplace/order-builder/checkout.md b/docs/marketplace/order-builder/checkout.md
index d20f4c31..5dc80db4 100644
--- a/docs/marketplace/order-builder/checkout.md
+++ b/docs/marketplace/order-builder/checkout.md
@@ -5,7 +5,7 @@ slug: "/order-builder/checkout"
sidebar_position: 2
---
-This window informs you about the creation of transactions on the blockchain, which is the final step in placing an order.
+This window informs you about the creation of transactions on the blockchain, which is the final step in placing an order.
diff --git a/docs/marketplace/order-builder/compatibiity.md b/docs/marketplace/order-builder/compatibiity.md
index 7017c404..963a360a 100644
--- a/docs/marketplace/order-builder/compatibiity.md
+++ b/docs/marketplace/order-builder/compatibiity.md
@@ -5,7 +5,7 @@ slug: "/order-builder/compatibility"
sidebar_position: 1
---
-This window informs you about issues with your order. You must fix them before you will be able to check out.
+This window informs you about issues with your order. You must fix them before you will be able to check out.
## Not compatible with the model
@@ -16,7 +16,7 @@ This message appears when the selected model and a dataset do not belong to the
## Not compatible with the engine
-This message appears when the selected model or dataset belongs to a category that the engine does not support. An example of such a message:
+This message appears when the selected engine does not support the model or dataset. An example of such a message:
@@ -39,7 +39,7 @@ This message appears if the lease time entered before checkout is either too sho
-Providers can define minimum and maximum lease time limits for their offers. To check these limits, go to the [**Pricing** tab](/marketplace/models/offer#pricing-tab) in the **Offer** window. If the order lease time is outside these limits, the order cannot proceed.
+Providers can define minimum and maximum lease time limits for their offers. To check these limits, go to the [**Pricing** tab](/marketplace/models/offer#pricing-tab) in the **Offer** window. If the order lease time is outside these limits, the order cannot proceed.
For example, you add offers with the following lease time limitations:
diff --git a/docs/marketplace/order-builder/index.md b/docs/marketplace/order-builder/index.md
index 2a07fef9..0998edff 100644
--- a/docs/marketplace/order-builder/index.md
+++ b/docs/marketplace/order-builder/index.md
@@ -5,7 +5,7 @@ slug: "/order-builder"
sidebar_position: 7
---
-_Order Builder_ is a tool to configure deployment orders for AI models. Deployment orders consist of three main components:
+_Order Builder_ is a tool to configure orders to deploy AI models. Deployment orders consist of three main components:
- **Model**
- **Engine**
@@ -16,7 +16,7 @@ _Order Builder_ is a tool to configure deployment orders for AI models. Deployme
## Model
-If no model is currently added to the Order Builder, go to the **Marketplace** or **My Content** using the links and click the **Deploy** button next to the desired model. This will add the model to the order along with automatically selected engine and compute offers.
+If no model is currently added to the Order Builder, go to the **Marketplace** or **My Content** using the links and click the **Deploy** button next to the desired model. This will add the model to the order along with automatically selected engine and compute offers.
If the model offer has multiple [requirement slots](/fundamentals/slots), the **Deploy** button adds the first slot configured for GPU deployment. To deploy the model on CPU, click the model's name to open its [**Offer**](/marketplace/models/offer) window, go to the **Pricing** tab, and click the blue **[+]** button next to the desired slot.
diff --git a/src/theme/Layout/index.js b/src/theme/Layout/index.js
index 8b578f61..b7488128 100644
--- a/src/theme/Layout/index.js
+++ b/src/theme/Layout/index.js
@@ -14,6 +14,24 @@ export default function Layout(props) {
Certification Authority (CA) is an entity that signs and issues
digital certificates.
+
+
+ Offers are computing services, software products, and data available on the Marketplace for lease and use in orders. They fall into four categories:
+ ᐧ Solution offers: Applications, engines, scripts, base images, and other programs.
+ ᐧ Data offers: Any data required by solutions. AI models fall into this category.
+ ᐧ Compute offers: Confidential computing resources required to execute solutions.
+ ᐧ Storage offers: Decentralized storage used to keep order results after execution.
+
+
+
+ Order is a digital contract between a customer and a provider to lease an offer.
+ The term main order—or simply order—implies leasing a compute offer.
+ The term suborder implies leasing a model, engine, or storage offer.
+
+
+
+ Value offer is a collective term for solution, data, and storage offers.
+
>
);
}
\ No newline at end of file