> 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/index.md).

# What is Autonomi?

Autonomi is a decentralized peer-to-peer network for permanent, immutable data storage. Data is encrypted before upload, stored using content addressing, and paid for once when you write it to the network.

## What makes Autonomi different

At a high level, Autonomi gives you:

* immutable storage, where changing the content produces a new address instead of mutating the old one
* client-side encryption through self-encryption before chunks are stored on the network
* public and private retrieval through addresses and DataMaps
* pay-once storage, where you pay in Autonomi Network Token (ANT) when you upload and downloads are free
* post-quantum cryptography in the transport and security model

## How you can build on Autonomi

You can work with Autonomi in four main ways.

### SDK

Use the SDK when you want to build an application in Python, Node.js / TypeScript, Go, Rust, Java, C#, Kotlin, Swift, Ruby, PHP, Dart, Zig, or another supported language.

The SDK uses a local daemon called `antd`, which exposes REST and gRPC and keeps the network-facing work out of your application.

Start with [Build with the SDKs](/developers/sdk/install.md).

### MCP

Use the MCP server when you want an AI tool such as Claude Desktop, Claude Code, or another MCP-compatible client to interact with Autonomi through structured tools.

The MCP server also talks to `antd`, but it presents Autonomi through an AI-tool interface rather than through language bindings.

Start with [Use MCP with AI Tools](/developers/mcp/use-mcp-with-ai-tools.md).

### CLI

Use the CLI when you want direct shell access for uploads, downloads, wallet checks, chunk operations, or node-management workflows.

Start with [Use the CLI](/developers/cli/use-the-cli.md).

### Developing in Rust

Build directly in Rust when you want in-process control over networking, uploads, and downloads without using `antd`.

Start with [Developing in Rust](/developers/developing-in-rust/rust.md).

## Build with an AI coding tool

If you are working in Claude Code or another AI coding tool, install the [Autonomi Developer Skill](/developers/developer-skill.md). It gives your tool a verified, focused guide to building on Autonomi, so it picks the right path, uses real APIs, and avoids common mistakes.

## Core concepts

* [Data Types](/developers/core-concepts/data-types.md)
* [Keys, Addresses, and DataMaps](/developers/core-concepts/keys-addresses-and-datamaps.md)
* [Self-Encryption](/developers/core-concepts/self-encryption.md)
* [Payment Model](/developers/core-concepts/payment-model.md)
* [Post-Quantum Cryptography](/developers/core-concepts/post-quantum-cryptography.md)

## Go deeper

* [System Overview](/developers/architecture/system-overview.md)
* [Source Repositories](/developers/reference-extras/source-repositories.md)
