> For the complete documentation index, see [llms.txt](https://docs.catalyx.solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catalyx.solutions/catalyx-blockchain-manager/canton-network/version-1.11/validator-management/upload-dars.md).

# Upload DARs

## Overview

DAR (DAML Archive) files contain compiled DAML application packages. They must be uploaded to a participant before any DAML templates or ledger workflows from that package can be used.

DAR files are required to:

* deploy DAML applications
* enable ledger workflows
* install application templates on participants
* support CPM, billing, Tradecraft, and other Canton applications

DAR files use the `.dar` extension. Examples: `cpm-<version>.dar`, `ieu-billing-<version>.dar`, `canton-swap-<version>.dar`.

***

## Upload Flow Overview

Uploading a DAR in CatalyX is typically a two-step process:

| Step       | Description                                      |
| ---------- | ------------------------------------------------ |
| **Step 1** | Upload the DAR to Collections                    |
| **Step 2** | Deploy the DAR from Collections to a Participant |

Storing DARs in Collections first allows packages to be reused across multiple participants and environments without re-uploading the source file each time.

{% hint style="info" %}
You can also upload a DAR directly to a participant without going through Collections. See [Part 2](#part-2--upload-dar-directly-to-a-participant) below.
{% endhint %}

***

## Part 1 — Upload DAR to Collections

Collections are reusable artifact repositories inside CatalyX. They support both DAR packages and UI packages. Once uploaded, a DAR in Collections can be deployed to any participant or referenced by applications.

{% hint style="info" %}
For a full overview of Collections, see the [Collections](/catalyx-blockchain-manager/canton-network/version-1.11/network-and-node-management/collections.md) page.
{% endhint %}

{% stepper %}
{% step %}
**Navigate to Collections**

Open CatalyX Blockchain Manager and navigate to **Collections** from the left navigation menu. The page contains two sections: **DAR Collections** and **UI Collections**.
{% endstep %}

{% step %}
**Open the Upload Dialog**

In the **DAR Collections** section, click **Upload DAR File**.
{% endstep %}

{% step %}
**Select the DAR File**

Choose the `.dar` file from your local machine (e.g. `cpm-0.2.1.dar`, `ieu-billing-1.0.0.dar`).
{% endstep %}

{% step %}
**Confirm the Upload**

After upload, the DAR appears in the DAR Collections table with the following details:

* Package name
* File size
* Available actions: **Deploy**, **Download**, **Remove**

The package is now available for deployment to any participant.
{% endstep %}
{% endstepper %}

***

## Part 2 — Upload DAR to a Participant

{% stepper %}
{% step %}
**Navigate to the Participant**

Open **Participants** from the left navigation and select the target participant.
{% endstep %}

{% step %}
**Open the DARs Tab**

Inside the participant details page, open the **DARs** tab and click **Upload DAR**.
{% endstep %}

{% step %}
**Select DAR Files**

Choose one or multiple `.dar` files. Multi-file upload is supported.

After upload:

* The package appears in the participant DARs list
* The package hash becomes visible
* DAML templates from the package become available on the ledger
  {% endstep %}
  {% endstepper %}

***

## UI Package Uploads

UI packages provide frontend applications exposed through HTTPS. They are uploaded to **Collections → UI Collections** separately from DAR files.

UI packages must:

* be uploaded as `.zip` files
* contain a single root directory
* include an `index.html` at the root

{% stepper %}
{% step %}
**Navigate to UI Collections**

Go to **Collections → UI Collections**.
{% endstep %}

{% step %}
**Upload the UI File**

Click **Upload UI File** and select the `.zip` package.

After upload, the package appears in UI Collections and becomes available for deployment.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
For a full overview of UI Collections and how to deploy UI packages as applications, see the [Collections](/catalyx-blockchain-manager/canton-network/version-1.11/network-and-node-management/collections.md) page.
{% endhint %}

***

## Application-Specific DAR Deployments

### CPM

{% stepper %}
{% step %}
Download `cpm-${version}.dar`
{% endstep %}

{% step %}
Upload the DAR to the target participant
{% endstep %}

{% step %}
Verify the DAR is visible in the participant DAR list
{% endstep %}
{% endstepper %}

### Billing Subscriber

{% stepper %}
{% step %}
Download `ieu-billing-${version}.dar`
{% endstep %}

{% step %}
Upload the DAR to the target participant
{% endstep %}

{% step %}
Confirm deployment completed successfully
{% endstep %}
{% endstepper %}

### Tradecraft (CantonSwap)

{% stepper %}
{% step %}
Download `canton-swap-${version}.dar`
{% endstep %}

{% step %}
Upload the DAR to the participant
{% endstep %}

{% step %}
Verify the package is visible in the DAR list
{% endstep %}
{% endstepper %}

***

## Verification Checklist

| Validation                      | Expected Result                          |
| ------------------------------- | ---------------------------------------- |
| DAR visible in Collections      | Package appears in DAR Collections table |
| DAR uploaded to participant     | Package visible under Participant DARs   |
| Package hash generated          | Hash visible in DAR list                 |
| Application templates available | DAML workflows accessible on the ledger  |
| No upload errors                | Upload completed without errors          |

***

## Troubleshooting

| Issue                              | Cause                                                           | Resolution                                                     |
| ---------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------- |
| DAR upload fails                   | Invalid file format                                             | Verify the file uses the `.dar` extension                      |
| DAR not visible on participant     | Upload incomplete or failed                                     | Re-upload the package                                          |
| Templates unavailable after upload | Package uploaded to Collections but not deployed to participant | Upload the DAR to the participant (Part 2)                     |
| UI deployment fails                | Invalid ZIP structure                                           | Ensure the ZIP contains a single root folder with `index.html` |
| Upload button disabled             | Insufficient permissions                                        | Verify your user has the required access rights                |

***

## Best Practices

* Store reusable DARs in Collections so they can be deployed to multiple participants without re-uploading
* Use versioned naming conventions (e.g. `cpm-0.2.1.dar`) to distinguish package versions
* Keep older package versions in Collections for rollback purposes
* Verify package hashes after deployment
* Upload all required DARs before deploying dependent applications
* Keep production and development packages separate


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.catalyx.solutions/catalyx-blockchain-manager/canton-network/version-1.11/validator-management/upload-dars.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
