Metadata-Version: 2.4
Name: algopay-sdk
Version: 0.1.0a1
Summary: AlgoPay SDK — payment infrastructure for AI agents on Algorand (x402, USDC/ASA, guards)
Project-URL: Homepage, https://github.com/Algodev-Studio/algopay-sdk
Project-URL: Documentation, https://github.com/Algodev-Studio/algopay-sdk#readme
Project-URL: Repository, https://github.com/Algodev-Studio/algopay-sdk
Project-URL: Issues, https://github.com/Algodev-Studio/algopay-sdk/issues
Author: AlgoPay contributors
License-Expression: MIT
Keywords: agent,ai,algopay,algopay-sdk,algorand,asa,payments,usdc,x402
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: cryptography>=44.0.0
Requires-Dist: httpx>=0.28.0
Requires-Dist: py-algorand-sdk>=2.6.0
Requires-Dist: pydantic>=2.12.0
Requires-Dist: python-dotenv>=1.2.0
Requires-Dist: redis>=7.1.0
Requires-Dist: x402-avm[avm]>=2.0.2
Provides-Extra: dev
Requires-Dist: mypy>=1.19.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
Requires-Dist: pytest>=9.0.0; extra == 'dev'
Requires-Dist: ruff>=0.14.0; extra == 'dev'
Description-Content-Type: text/markdown

# AlgoPay SDK

Python package (**PyPI:** `algopay-sdk`) for **AI agent payments on Algorand**: local wallets, **USDC (ASA)** transfers, **x402** HTTP 402 flows, guards, ledger, and payment intents.

> **Status: 0.1.0 alpha (`0.1.0a1` on PyPI when published)** — APIs and behavior may change. Test coverage is still expanding; see **[Testing roadmap → 1.0](docs/TESTING_ROADMAP.md)** before relying on this in production.  
> **Source:** [github.com/Algodev-Studio/algopay-sdk](https://github.com/Algodev-Studio/algopay-sdk)

## Install

**From PyPI (alpha — pin the version or use `--pre`):**

On PyPI the distribution is **`algopay-sdk`**; you still **`import algopay`** in code.

```bash
pip install "algopay-sdk==0.1.0a1"
# or: pip install --pre "algopay-sdk>=0.1.0a1,<0.2"
```

**From a clone (development):**

```bash
pip install -e ".[dev]"
```

## Requirements

- Python 3.10+

**Environment variables:** see **[docs/ENVIRONMENT.md](docs/ENVIRONMENT.md)** for a full table (`ALGOPAY_NETWORK`, Algod/Indexer URLs, USDC ASA ID, Redis, logging, and example-only vars).

Short version:

- `ALGOPAY_NETWORK` — `algorand-mainnet` or `algorand-testnet` (default: testnet)
- Optional: `ALGOD_URL` / `ALGOPAY_ALGOD_URL`, `INDEXER_URL` / `ALGOPAY_INDEXER_URL`, `ALGOPAY_USDC_ASA_ID`
- Redis: `ALGOPAY_STORAGE_BACKEND=redis`, `ALGOPAY_REDIS_URL`

## Quick start

```python
import asyncio
from algopay import AlgoPay
from algopay.core.types import Network

async def main():
    client = AlgoPay(network=Network.ALGORAND_TESTNET)
    ws = client.wallet.create_wallet_set("my-agent")
    w = client.wallet.create_wallet(ws.id)
    # Fund the address with test ALGO + opt-in to USDC, then:
    # client.wallet.opt_in_usdc(w.id)
    # ... acquire USDC ...
    await client.pay(w.id, "RECEIVER58CHARALGORANDADDRESSAAAAAAAAAAAA", "1.0")

asyncio.run(main())
```

## Documentation

- [Environment variables](docs/ENVIRONMENT.md)
- [Publishing (alpha → PyPI)](docs/PUBLISHING.md)
- [Testing roadmap & enterprise readiness](docs/TESTING_ROADMAP.md)
- [Legacy OmniAgentPay / arc-merchant reference](docs/REFERENCE_LEGACY_OMNIAGENTPAY_AND_ARC_MERCHANT.md)
- `examples/` and the [Algorand x402 scheme](https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact_algo.md)

## License

MIT
