> For the complete documentation index, see [llms.txt](https://docs.talus.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.talus.network/reference/cli/walrus.md).

# nexus walrus

**Audience:** Nexus CLI users storing inputs or outputs in Walrus.

**Command:** `nexus walrus`.

**Generated from:** Nexus CLI tagged source `v2.1.1`, commit `08bfe76e726922ce512d623fbc1d2e1bd786bcd4`, `cli/src/walrus`.

Walrus uses the Nexus wallet and the network selected by its Sui RPC. The wallet needs WAL for storage and SUI for transaction gas. Install CLI 2.1.1 from the [verified GitHub release](/guides/getting-started/setup.md#verified-cli-installation-from-the-github-release) or the optional source route before using these commands.

### Commands

| Command                                                          | Behavior                                                                         |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `status`                                                         | Show the storage network, wallet address, aggregator, and defaults.              |
| `configure --epochs 5`                                           | Set the default retention period; accepted values are 1–53 epochs.               |
| `configure --aggregator URL --network testnet`                   | Select a custom reader for the named network; `mainnet` is also supported.       |
| `configure --reset-aggregator`                                   | Restore the network's default reader.                                            |
| `upload FILE --estimate`                                         | Validate JSON and display storage quotes without submitting transactions.        |
| `upload FILE --out REFERENCE`                                    | Pay for, upload, certify, and verify data, then save a reusable reference.       |
| `inspect REFERENCE`                                              | Read saved metadata and verify content and its digest; no signing key is needed. |
| `download REFERENCE --out FILE`                                  | Download and verify the data without a signing key.                              |
| `list [--include-expired]`                                       | List Blob objects owned by the wallet.                                           |
| `extend REFERENCE --epochs 2 --max-storage-cost-frost 100000000` | Extend owned storage and refresh the reference from chain.                       |
| `delete REFERENCE --yes`                                         | Delete owned, explicitly deletable storage.                                      |

`upload` treats the JSON document as one value. `--many` instead uploads each array item separately. `--epochs` overrides retention, `--deletable` permits owner deletion, and `--out` defaults to `FILE.walrus.json`. Each upload must fit the 8 MiB resolved-data budget. Permanent storage remains available until expiry; it does not mean indefinite retention.

`--max-storage-cost-frost` limits the estimated WAL storage cost per blob, not the total of a batch. The actual charge uses prices at execution and may differ. `--storage-gas-budget` limits SUI gas per storage transaction and defaults to 100,000,000 MIST. `extend` requires an explicit storage-cost ceiling.

### Upload and reuse a task input

```bash
nexus walrus status
nexus walrus upload input.json --estimate
nexus walrus upload input.json --epochs 5 --out input.walrus.json
nexus walrus inspect input.walrus.json
nexus task create --dag-id DAG_ID --prepay-amount-mist 100000000 --occurrence-budget-mist 10000000 --input-ref analyze.document=input.walrus.json
```

The final command creates funded on-chain work; replace the DAG identifier and port with the intended published DAG. A portable reference contains network, ownership, expiry, and content metadata. Only blob identifiers and SHA256 commitments enter protocol inputs. See [Task input options](/reference/cli/task.md#input-files-and-reusable-references) for `--input-file`, selected `--remote` uploads, and reference output paths.

### Interrupted uploads and expiry

Uploads save signed registrations and progress beside the reference in a `.uploads` directory. After interruption, repeat the same standalone upload command and options with `--resume`; do not use `--estimate` with `--resume`. Resume reuses the saved paid registration. If submission is uncertain, reconcile the original signed transaction instead of buying another registration.

Task uploads resume matching work when the same `--remote-receipts` directory is reused. Keep reference and recovery files even if Task submission fails: storage payment and Task submission are separate operations. Neither a local reference file nor a successful upload proves that a Task was created.

Tasks do not renew storage automatically. Choose retention that covers every occurrence and extend the owned Blob objects before expiry. Deletion can break tasks that still reference the data. Walrus data is public; it is not a secret store. Verify ownership, content, and expiry before scheduling dependent work.

The CLI does not use a publisher URL. Legacy publisher configuration is ignored and removed on the next configuration save. Default aggregators follow the Sui network; custom aggregators are explicitly network-bound.


---

# 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 following URL with the `ask` and `goal` query parameters:

```
GET https://docs.talus.network/reference/cli/walrus.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

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.
