Practical overview
When it fits
Use Starknet.py when a Python application needs a library-level connection to Starknet for reads, transaction submission, or account and contract operations.
Who it is for
- Python developers building applications that communicate with Starknet.
- Developers who need to query Starknet state or submit transactions from Python.
- Teams working with Starknet accounts and contracts through a full-node client.
Documented uses
- Request blockchain data such as a block from a Starknet full node.
- Add transactions to Starknet through the client and account interfaces.
- Create account objects using an address and a key pair or signer.
- Declare and deploy contracts, invoke contract functions, and retrieve contract data.
Requirements & limits
The project is a public GitHub repository identified as MIT-licensed. Installation instructions vary by operating system.
- The SDK is written in Python and connects to a full node; it is not itself node infrastructure.
- The README documents both asynchronous and synchronous client usage, with asynchronous use recommended.
- Account operations require account-specific inputs such as an address and a key pair or signer.
- Contract declaration and deployment examples require compiled contract material, a class hash and resource bounds.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Declare and deploy a contract with an account
Follow the README example for declaring and deploying a contract through Starknet.py.
Before you start
- A FullNodeClient connected to a Starknet full node.
- An Account configured with an address and either a key pair or signer.
- Compiled contract material and its class hash.
- Resource bounds for the declaration and deployment calls.
Steps
Create the account using the documented Account constructor or deployment method.
Call Contract.declare_v3 with the account, compiled contract, class hash and resource bounds.
Wait for declaration acceptance, then deploy with deploy_v3 and wait for acceptance.
Expected outcome
The example obtains a deployed contract object after the deployment transaction is accepted.
Guide limitations
- The example requires valid account credentials, compiled contract inputs, resource bounds and a suitable node endpoint.
- The source documents the workflow but does not establish a live deployment result.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 9 October 2026
- Original website title
- software-mansion/starknet.py · Official homepage title · retained in its source language

