> For the complete documentation index, see [llms.txt](https://phantasma.gitbook.io/main/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://phantasma.gitbook.io/main/developers/sdks/python.md).

# Python SDK

The Python SDK is a typed Python 3.11+ package for Phantasma applications and automation. It covers JSON-RPC access, checked address and key handling, VM script building, VM script transaction signing, and Carbon wire-format transactions.

Package name:

```bash
pip install phantasma-sdk-py
```

Import namespace:

```python
import phantasma_py
```

The current package exposes Python-style dataclasses, exceptions, type hints, and module names under `phantasma_py`. Older examples that import legacy modules do not apply to this SDK.

## What It Covers

| Area               | Module                     | Use it for                                                                                                          |
| ------------------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| RPC                | `phantasma_py.rpc`         | Calling Phantasma JSON-RPC endpoints and decoding typed result dataclasses.                                         |
| Keys and addresses | `phantasma_py.crypto`      | WIF import/export, Ed25519 signatures, address parsing, hashes.                                                     |
| VM scripts         | `phantasma_py.vm`          | Building scripts for contract calls, interop calls, gas, transfers, staking, and NFT calls.                         |
| VM transactions    | `phantasma_py.transaction` | Serializing, signing, mining, and checking VM script transactions.                                                  |
| Carbon             | `phantasma_py.carbon`      | Carbon serialization, schemas, token creation payloads, series payloads, NFT mint payloads, signed Carbon messages. |

## Carbon Workflows

Use the Carbon workflow pages when creating native assets:

{% content-ref url="/pages/rNaG0ujKLvigUBVmB58e" %}
[Token Deployment](/main/developers/sdks/python/token-deployment.md)
{% endcontent-ref %}

{% content-ref url="/pages/jibPPg29G5NL2EjMH1am" %}
[NFT Minting](/main/developers/sdks/python/nft-minting.md)
{% endcontent-ref %}

{% content-ref url="/pages/vETGh2JoINkE3bjgKSbE" %}
[Schemas And Metadata](/main/developers/sdks/python/schemas-and-metadata.md)
{% endcontent-ref %}

{% content-ref url="/pages/XuYOiBzqfzrSMytlfH9x" %}
[Fees And Broadcasting](/main/developers/sdks/python/fees-and-broadcasting.md)
{% endcontent-ref %}

{% content-ref url="/pages/YZeMVWHnBY9MG4O7mfKR" %}
[Carbon Operations](/main/developers/sdks/python/carbon-operations.md)
{% endcontent-ref %}

## Basic RPC Example

```python
from phantasma_py.rpc import PhantasmaRPC

rpc = PhantasmaRPC.mainnet()
account = rpc.get_account("P...")
soul = account.get_token_balance("SOUL", decimals=8)

print(account.address)
print(soul.decimal_amount())
```

Read-only calls do not require a signing key. Broadcasting helpers require funded keys and an endpoint you explicitly intend to use.

## Guides

{% content-ref url="/pages/ZIcG4CDgoudM4BK857ti" %}
[Setup](/main/developers/sdks/python/setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/2DVU3hvO7ggTs7zktbyJ" %}
[RPC](/main/developers/sdks/python/rpc.md)
{% endcontent-ref %}

{% content-ref url="/pages/0WKPxxNRtJXAFouGxCvG" %}
[Keys And Addresses](/main/developers/sdks/python/keys-and-addresses.md)
{% endcontent-ref %}

{% content-ref url="/pages/O9oMhk4CNw21wA2VcxLY" %}
[VM and Transactions](/main/developers/sdks/python/vm-and-transactions.md)
{% endcontent-ref %}

{% content-ref url="/pages/XjgfDrc36LaJ8psq69Vi" %}
[Carbon](/main/developers/sdks/python/carbon.md)
{% endcontent-ref %}

{% content-ref url="/pages/pRlT1gSzqSr9a9pbFVzr" %}
[API Overview](/main/developers/sdks/python/api-reference.md)
{% endcontent-ref %}

{% content-ref url="/pages/Q6YBbTEuQOOJEhzaUFN8" %}
[Complete API Reference](/main/developers/sdks/python/reference.md)
{% endcontent-ref %}

{% content-ref url="/pages/aqvtVd6uAYjU0n3yUfOg" %}
[Examples](/main/developers/sdks/python/examples.md)
{% endcontent-ref %}
