> For the complete documentation index, see [llms.txt](https://docs.autonomi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autonomi.com/developers/core-concepts/overview.md).

# Overview

This page introduces the concepts that matter most when you build on Autonomi.

## Storage model

When you upload a file, self-encryption splits it into chunks and encrypts them before they are stored on the Autonomi Network. Each chunk has an address derived from its contents and cannot be changed in place.

Self-encryption also creates a **DataMap**: the information needed to find the chunks, decrypt them, and reassemble the original file. Public and private files use this same storage model. The difference is how the DataMap is handled:

* **Public uploads** publish the DataMap and return an address. Share that address so others can retrieve the file.
* **Private uploads** return the DataMap to you instead of publishing it. Keep it private and backed up; you need it to retrieve the file.

Raw chunk operations let you store bytes directly when your application needs control over its own storage format. They do not apply self-encryption or create a DataMap for you.

Read more in [Data Types](/developers/core-concepts/data-types.md).

## Keys, addresses, and DataMaps

Wallet keys pay for writes, public addresses retrieve public data, and a `DataMap` provides the critical retrieval material for private data.

Read more in [Keys, Addresses, and DataMaps](/developers/core-concepts/keys-addresses-and-datamaps.md).

## Self-encryption

Data and file uploads use self-encryption to encrypt content, split it into chunks, and produce the `DataMap` used later for retrieval. Raw chunk operations are the exception: they store the bytes you supply and do not apply self-encryption for you.

Read more in [Self-encryption](/developers/core-concepts/self-encryption.md).

## Post-quantum cryptography

The cryptography stack uses ML-DSA-65 for signatures and ML-KEM-768 for key encapsulation. Those algorithms matter most when you are reasoning about network identity, transport security, or the broader security model.

Read more in [Post-Quantum Cryptography](/developers/core-concepts/post-quantum-cryptography.md).

## Payment model

Autonomi is designed around pay-once, immutable storage. Uploads are wallet-backed writes: you pay when you store data, then retrieve it later without recurring storage fees or retrieval payments.

Read more in [Payment Model](/developers/core-concepts/payment-model.md).

## Reading guide

Start here depending on what you need next:

* If you are building an application: [Data Types](/developers/core-concepts/data-types.md), then [Store and Retrieve Data with the SDKs](/developers/sdk/how-to-guides/store-and-retrieve-data.md)
* If you need to understand wallets, public addresses, and private retrieval material: [Keys, Addresses, and DataMaps](/developers/core-concepts/keys-addresses-and-datamaps.md)
* If you need to understand the encryption path: [Self-encryption](/developers/core-concepts/self-encryption.md)
* If you need to understand upload costs and wallets: [Payment Model](/developers/core-concepts/payment-model.md), then [Estimate Costs and Handle Upload Payments](/developers/how-to-guides/estimate-costs-and-handle-upload-payments.md)
* If you need the security context: [Post-Quantum Cryptography](/developers/core-concepts/post-quantum-cryptography.md)
