# Move Module Publish

MSafe has provided an application in the app store to support developer publishing move packages with multi-sig protection.

You can follow the step-by-step tutorial to publish your move module:

#### Step 1

Connect to your MSafe wallet and open the App Store menu.

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

#### Step 2

Open the **MSafe Move Module Publisher** app.

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

#### Step 3

You will see the application is opened and click the **Connect** button, it should connect to your current MSafe wallet.

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

Once you are connected to your MSafe wallet, you can find your wallet information and some instructions on the page and you can follow the instructions to publish your move module.

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

#### Step 4

Click the above address **copy** button to copy your current MSafe wallet address and replace your address in the **Move.toml** address section as below image:

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

Run command:

```
aptos move compile --save-metadata
```

to compile your module with MSafe address and you should get a similar result as below:

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

#### Step 5

Click the **Select & Deploy** button and select your build output folder, normally named as **/build**.

Once you select the build folder, you will see the transaction payload and simulation result.

<figure><img src="/files/3KXA6C2Qe0WBmvukeC3s" alt=""><figcaption></figcaption></figure>

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

#### Step 6

After confirming the details of the move package you are about to publish, click the **Propose** button to propose the transaction for move publish.

You will see the confirm dialog depending on your single sig wallet connected, click **Confirm** to approve the transaction.

You can see the pending transaction on the **Transactions** page now.&#x20;

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

#### Step 7

Now the multi-sig transaction is created, you need to sign this transaction with the other owner's wallet.&#x20;

You will need to wait for other manager to approve this transaction according to your MSafe wallet threshold.

#### Step 8

When you collect enough approvals, you can click the <mark style="color:green;">**Execute Approval**</mark> button to execute this transaction.

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

#### Step 9

After you execute this transaction, you can see the result at the **History** page.

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

And you can also check the deployed module on Aptos Explorer.

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

We can see the move module is published into the MSafe multi-sig address.


---

# 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://doc.m-safe.io/aptos/developers/move-module-publish.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.
