Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# AGENTS.md

## Cursor Cloud specific instructions

### Project overview

AXIE-SCRIPT is a collection of 5 independent Python CLI tools for Axie Infinity (Ronin blockchain) automation. Each subdirectory is a standalone module — see the root `README.md` for the full list. There are no local services, databases, or build steps; all scripts interact with external APIs (Ronin RPC, Axie GraphQL, Sky Mavis).

### Dependencies

- Python 3 + pip
- `requests` and `web3` (v6.x — **not** v7.x; the codebase uses `encode_structured_data` from `eth_account.messages`, which was renamed in v7)
- `python3-dev` is required as a system package for building the `lru-dict` C extension used by web3 v6

Install: `pip install requests 'web3>=6.0,<7.0'`

### Running scripts

Each module has its own `README.md` with usage instructions. All scripts require a config file with Ronin private keys (see `*_env.example` files). Scripts are run directly: `python3 <module>/<script>.py`

### Important caveats

- **No automated tests** exist in this repository. There is no test suite, linter config, or build system.
- **No local services** to start — everything talks to external Ronin/Axie APIs.
- The Axie GraphQL API (`graphql-gateway.axieinfinity.com`) may return HTTP 403 from cloud/datacenter IPs. This does not affect Ronin RPC calls or local development validation.
- `buy_axie.py` and `batch_offer.py` use `input()` for interactive confirmation before executing transactions. These scripts cannot be run non-interactively without modification.
- `axp_ascend/batch_ascend.py` and `user_snapshot/user_snapshot.py` use relative file paths (e.g., `open('get_brief_list.graphql')`) so they **must** be run from their own directory (`cd axp_ascend && python3 batch_ascend.py`).
- The `blessing/` and `buy_axie/` modules use `os.path.dirname(os.path.abspath(__file__))` for file resolution, so they can be run from any directory.