Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f15d4e5
cli: add confidential fine-tune guide, hide collab guide
k3dz0r Nov 13, 2025
7a8c439
cli: add confidential fine-tune guide, hide collab guide
k3dz0r Nov 13, 2025
4a74b13
cli: add provider-tools guide
k3dz0r Nov 14, 2025
19cb631
cli: add provider-tools guide
k3dz0r Nov 14, 2025
66e6960
Minor changes
k3dz0r Nov 24, 2025
8c8f617
cli: corrections to fine-tune and collaboration (Vlad's)
k3dz0r Dec 4, 2025
6d682e2
Merge pull request #404 from Super-Protocol/2025-12-04
k3dz0r Dec 4, 2025
8a30a92
cli: add solutions guides
k3dz0r Dec 11, 2025
04f4c55
Merge pull request #405 from Super-Protocol/2025-12-24
k3dz0r Dec 24, 2025
a44a400
cli: add solutions guides
k3dz0r Dec 11, 2025
a5020f5
whitepaper and cli-tgwui guide hidden
k3dz0r Jan 5, 2026
35eff32
Merge pull request #406 from Super-Protocol/2026-01-05
k3dz0r Jan 5, 2026
1307bee
Update cli guides structure
k3dz0r Jan 13, 2026
b192380
Merge pull request #408 from Super-Protocol/2026-01-15
k3dz0r Jan 15, 2026
f21b46e
Update fundamentals/certification-system
k3dz0r Jan 20, 2026
4bc93e4
Update fundamentals/certification-system
k3dz0r Jan 28, 2026
dfc58bd
Rename cli/quick-guide to deploy-app. Add Python example
k3dz0r Jan 30, 2026
ea0801b
Minor fixes
k3dz0r Feb 5, 2026
86e9396
Merge pull request #411 from Super-Protocol/2026-02-05
k3dz0r Feb 5, 2026
82e91c4
Update marketplace/account
k3dz0r Feb 11, 2026
8426768
Add the vllm guide for swarm
k3dz0r Apr 2, 2026
bed80dc
Merge pull request #414 from Super-Protocol/feature/vllm-on-swarm
k3dz0r Apr 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 48 additions & 39 deletions docs/cli/Guides/collaboration.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
---
id: "collaboration"
title: "Confidential Collaboration"
title: "Two-party Collaboration"
slug: "/guides/collaboration"
sidebar_position: 2
displayed_sidebar: null
unlisted: true
---

Super Protocol enables independent parties to jointly compute over their private inputs without revealing those inputs to one other.
Super Protocol enables independent parties to jointly compute over their private inputs without revealing those inputs to one another.

This guide describes a simple example of confidential collaboration between two parties, **Alice** and **Bob**. Alice owns a script she wants to use to process Bob's dataset. However, the dataset contains sensitive information and cannot be shared.
This guide describes an example of confidential collaboration between two parties, **Alice** and **Bob**. Alice owns a script she wants to use to process Bob's dataset.

The computation runs on Super Protocol within a <a id="tee"><span className="dashed-underline">Trusted Execution Environment</span></a> that is is isolated from all external access, including by Alice, Bob, the hardware owner, and the Super Protocol team. Additionally, Super Protocol's Certification System ensures verifiability, eliminating the need for trust.
The dataset contains sensitive information and cannot be shared. At the same time, Bob must review the script to ensure it is safe to run on his data. If Alice's script is proprietary and she cannot share it with Bob, a possible alternative is to involve independent security experts who can audit the script without exposing it publicly.

Note that this is just one example; Super Protocol's architecture enables a range of more complex multiparty scenarios.
The computation runs on Super Protocol within a <a id="tee"><span className="dashed-underline">Trusted Execution Environment</span></a> that is isolated from all external access, including that of Alice, Bob, the hardware owner, and the Super Protocol team. Additionally, Super Protocol's Certification System ensures verifiability, eliminating the need for trust.

The following is just one relatively simple example of confidential collaboration. Super Protocol's architecture enables a range of more complex scenarios involving multiple parties and assets.

## General workflow

Expand Down Expand Up @@ -39,62 +42,62 @@ sequenceDiagram
note over Alice,Blockchain: Execution

Alice ->>+ Super Protocol / TEE: 8. Place an order
Super Protocol / TEE ->> Storage: Download the solution
Bob ->> Super Protocol / TEE: 9. Complete the data suborder
Super Protocol / TEE ->> Storage: Download the dataset
Bob ->> Super Protocol / TEE: 9. Approve the usage of the dataset
Super Protocol / TEE ->> Storage: Download the solution and dataset
Super Protocol / TEE ->> Blockchain: Publish the order report
Super Protocol / TEE ->> Super Protocol / TEE: Execute the order
Super Protocol / TEE ->> Super Protocol / TEE: Process the order
Super Protocol / TEE ->>- Storage: Upload the order results
Alice ->> Storage: 10. Download the order results
end

Alice ->> Blockchain: 11. Get the order report
Bob ->> Blockchain: 11. Get the order report
end
```
<br/>

**Preparation**:
**Preparation**

Alice builds a <a id="solution"><span className="dashed-underline">solution</span></a>—a Docker image containing her script (1). She uploads the solution using SPCTL (2) and grants Bob access for verification (3).
Alice builds a <a id="solution"><span className="dashed-underline">solution</span></a>—a Docker image containing her script ([1](/cli/guides/collaboration#alice-1-build-a-solution)). She uploads the solution using SPCTL ([2](/cli/guides/collaboration#alice-2-upload-the-solution)) and grants Bob access for verification ([3](/cli/guides/collaboration#alice-3-send-the-solution-to-bob)).

Bob downloads the solution (4) and verifies it is safe to process his data (5).
Bob (or an independent auditor) downloads the solution ([4](/cli/guides/collaboration#bob-4-download-the-solution)) and verifies that it is safe to process his data ([5](/cli/guides/collaboration#bob-5-verify-the-solution)).

Bob uploads his dataset to remote storage using SPCTL (6). The dataset is automatically encrypted during upload, and only Bob holds the key.
Bob uploads his dataset to remote storage using SPCTL ([6](/cli/guides/collaboration#bob-6-upload-the-dataset)). The dataset is automatically encrypted during upload, and only Bob holds the key.

Bob creates an <a id="offer"><span className="dashed-underline">offer</span></a> on the Marketplace (7). The offer require Bob's manual approval for use. He shares the offer's IDs with Alice.
Bob creates an <a id="offer"><span className="dashed-underline">offer</span></a> on the Marketplace ([7](/cli/guides/collaboration#bob-7-create-an-offer)). The offer requires Bob's manual approval for use. He shares the offer's IDs with Alice.

**Execution**:
**Execution**

Alice places an <a id="order"><span className="dashed-underline">order</span></a> on Super Protocol using her solution and Bob's offer ID (8). The order remains **Blocked** by the data suborder.
Alice places an <a id="order"><span className="dashed-underline">order</span></a> on Super Protocol using her solution and Bob's offer ID ([8](/cli/guides/collaboration#alice-8-place-an-order)). The order remains **Blocked** by the data suborder.

Bob manually completes the data suborder (9). The command includes the verified solution hash. Completion succeeds only if this hash matches the actual solution hash, meaning the solution was not altered.
Bob manually approves the usage of his dataset for the image with a specific hash ([9](/cli/guides/collaboration#bob-9-complete-the-data-suborder)). If this hash matches the actual solution hash, the <a id="cvm"><span className="dashed-underline">CVM</span></a> begins to process the order. If the hashes do not match, the order will be terminated with an error.

Once the computation finishes, Alice can download the result (10).
Once the computation finishes, Alice can download the result ([10](/cli/guides/collaboration#alice-10-download-the-order-results)). All the data within the TEE (solution, dataset, order results, etc.) is automatically deleted.

Both Alice and Bob can retrieve the order report (11) that confirms the authenticity of the entire process.
Both Alice and Bob can retrieve the order report ([11](/cli/guides/collaboration#alice-and-bob-11-get-the-order-report)) that confirms the authenticity of the entire trusted setup.

## Prerequisites

### Alice
**Alice**:

- [SPCTL](/cli)
- Docker

### Bob
**Bob**:

- [SPCTL](/cli)
- Provider Tools
- [Provider Tools](/cli/guides/provider-tools)

## Preparation

### Alice: 1. Build the solution
### Alice: 1. Build a solution

1.1. Prepare the solution: write a Dockerfile that creates an image with your software. Keep in mind the special file structure inside the <a id="tee"><span className="dashed-underline">TEE</span></a>:
1.1. Write a Dockerfile that creates an image with your code. Keep in mind the special file structure inside the <a id="tee"><span className="dashed-underline">TEE</span></a>:

| **Location** | **Purpose** | **Access** |
| :- | :- | :- |
| `/sp/inputs/input-0001/`<br/>`/sp/inputs/input-0002/`<br/>etc. | Possible data locations | Read-only |
| `/sp/output/` | Output directory for results | Write; read own files |
| `/sp/certs/` | Contains the order certificate | Read-only |
| **Location** | **Purpose** | **Access** |
| :- | :- | :- |
| `/sp/inputs/input-0001/`<br/>`/sp/inputs/input-0002/`<br/>etc. | Possible data locations | Read-only |
| `/sp/output/` | Output directory for results | Write; read own files |
| `/sp/certs/` | Contains the order certificate, private key, and workloadInfo | Read-only |

Your scripts must find the data in `/sp/inputs/` and write the results to `/sp/output/`.

Expand All @@ -109,7 +112,7 @@ You can find several Dockerfile examples in the [Super-Protocol/solutions](https
1.2. Build an image:

```shell
docker build -t <SOLUTION> .
docker build --platform linux/amd64 -t <SOLUTION> .
```

Replace `<SOLUTION>` with the name of your solution.
Expand All @@ -131,7 +134,7 @@ docker save <SOLUTION>:latest | gzip > <SOLUTION>.tar.gz

### Alice: 3. Send the solution to Bob

Send Bob the output `solution.resource.json` file from the previous step.
Send the output `solution.resource.json` file from the previous step to Bob.

### Bob: 4. Download the solution

Expand Down Expand Up @@ -232,16 +235,16 @@ If you are registering an offer for the first time, you will be prompted to comp

Follow the dialog:

Q: `Have you already created a DATA offer?`
Q: `Have you already created a DATA offer?`<br/>
A: `n` (No)

Q: `Please specify a path to the offer info json file`
Q: `Please specify a path to the offer info json file`<br/>
A: `./offer-info.json`

Q: `Please specify a path to the slot info json file`
Q: `Please specify a path to the slot info json file`<br/>
A: `./slot-info.json`

Q: `Do you want to add another slot?`
Q: `Do you want to add another slot?`<br/>
A: `n` (No)

Wait for the offer to be created and find a line in the output with the IDs of the offer and slot, for example:
Expand All @@ -250,7 +253,7 @@ Wait for the offer to be created and find a line in the output with the IDs of t
Slot 119654 for offer 18291 has been created successfully
```

Provide Bob with these IDs. Ignore other instructions you see in the output.
Provide Alice with these IDs. Ignore other instructions you see in the output.

## Execution

Expand Down Expand Up @@ -323,6 +326,8 @@ If the order ended up with an error, the results will contain execution logs tha

### Alice and Bob: 11. Get the order report

You can get the order report as soon as the CVM downloads the order components and starts the execution, without waiting for the order to complete:

```shell
./spctl orders get-report <ORDER_ID> --save-to report.json
```
Expand All @@ -345,4 +350,8 @@ Additionally, find entries in the `runtimeInfo` array that start with `"type": "
},
```

These are hashes of the actual solution and data that were executed within a TEE. Compare them with the solution and dataset hashes from the respective resource files.
These hashes are of the actual solution and data that were executed within a TEE. Compare them with the solution and dataset hashes from the respective resource files.

## Support

If you have any issues or questions, contact Super Protocol on [Discord](https://discord.gg/superprotocol) or via the [contact form](https://superprotocol.zendesk.com/hc/en-us/requests/new).
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
id: "prepare-comfyui"
title: "Prepare a ComfyUI Workflow"
slug: "/guides/prepare-comfyui"
sidebar_position: 5
id: "comfyui"
title: "Custom ComfyUI Workflow"
slug: "/guides/solutions/comfyui"
sidebar_position: 4
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

This guide provides step-by-step instructions for preparing a **ComfyUI** workflow with custom nodes before uploading it. For security reasons, you cannot upload custom nodes directly to a deployed ComfyUI.
This guide provides step-by-step instructions for preparing a **ComfyUI** workflow with custom nodes to run on Super Protocol. For security reasons, you cannot upload custom nodes directly to a deployed ComfyUI.

:::note

Expand All @@ -28,7 +28,7 @@ You can prepare your model, workflow, and custom node files manually or using Do

1. Clone the [Super-Protocol/solutions](https://github.com/Super-Protocol/solutions/) GitHub repository to the location of your choosing:

```
```shell
git clone https://github.com/Super-Protocol/solutions.git --depth 1
```

Expand All @@ -54,21 +54,21 @@ You can prepare your model, workflow, and custom node files manually or using Do

Access the running container with the following command:

```
```shell
docker exec -it comfyui bash
```

Go to the `models` directory inside the container and download the model files to the corresponding subdirectories using the `wget` command. For example:

```
```shell
wget https://huggingface.co/prompthero/openjourney/resolve/main/mdjrny-v4.safetensors
```

**Copy from your computer**

If you have the model on your computer, copy its files to the container using the following command:

```
```shell
docker cp <LOCAL_FILE> comfyui:<CONTAINER_FILE>
```

Expand All @@ -77,7 +77,7 @@ You can prepare your model, workflow, and custom node files manually or using Do

For example:

```
```shell
docker cp ~/Downloads/openjourney/mdjrny-v4.safetensors comfyui:/opt/ComfyUI/models/checkpoints/mdjrny-v4.safetensors
```

Expand All @@ -87,7 +87,7 @@ You can prepare your model, workflow, and custom node files manually or using Do

8. Unpack the archive using the following command:

```
```shell
tar -xvzf snapshot.tar.gz -C <MODEL_DIRECTORY>
```

Expand Down Expand Up @@ -159,6 +159,6 @@ You can prepare your model, workflow, and custom node files manually or using Do
</TabItem>
</Tabs>

## Contact Super Protocol
## Support

If you face any issues, contact Super Protocol on [Discord](https://discord.gg/superprotocol) or via the [contact form](https://superprotocol.zendesk.com/hc/en-us/requests/new).
If you have any issues or questions, contact Super Protocol on [Discord](https://discord.gg/superprotocol) or via the [contact form](https://superprotocol.zendesk.com/hc/en-us/requests/new).
Loading
Loading