# Supported File Formats - ZIP format

{% hint style="info" %}
We only accept ZIP format at this moment for all languages.
{% endhint %}

## ZIP File

When creating the zip file from the chaincode, make sure all the contents are at the root of the zip file and not inside a directory.\
\
Eg: <https://github.com/hyperledger/fabric-samples/tree/release-2.2/asset-transfer-basic/chaincode-go>&#x20;

{% hint style="info" %}
Please ZIP the files of the source code directly, NOT the folder containing the files.
{% endhint %}

When creating a ZIP file for the chaincode in Hyperledger Fabric, it is important to ensure that all the contents are placed directly at the root level of the ZIP file and not within a directory. For example, if you are zipping the asset-transfer-basic chaincode from the fabric-samples repository, the ZIP file should include the following files and folders directly inside it:

* chaincode (directory)
* assetTransfer.go (file)
* go.mod (file)
* go.sum (file)

Please refrain from including the chaincode-go directory within the ZIP file. Similarly, the META-INF folder containing the CouchDB index should also be placed directly inside the ZIP file.

This structure ensures that the chaincode can be correctly installed and deployed on the Hyperledger Fabric network.<br>

![](/files/Sptynp26NxoXntKtVQid)

It should NOT contain the chaincode-go directory inside the zip like this:

<div align="left"><figure><img src="/files/ormtAJtSIJdfWXbJwOyz" alt=""><figcaption></figcaption></figure></div>

The META-INF folder containing couchdb index can also be placed immediately inside the zip like this:

![](/files/YWgozqOYrHdS4Y4739e6)

### Binary format

If you want to upload the custom chaincode in Binary format, please refer [Building in Binary format](/how-to/private-network/custom-apps/building-in-binary-format.md)


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.spydra.app/how-to/private-network/custom-apps/supported-file-formats-zip-format.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.
