AlgoKit Utils
Use AlgoKit Utils to interact with the Algorand blockchain from TypeScript or Python applications.
Overview / Core Workflow
- •Create an
AlgorandClientinstance - •Get or create accounts for signing
- •Send transactions using
algorand.send.*methods - •Or compose groups using
algorand.newGroup()
How to proceed
- •
Initialize AlgorandClient:
TypeScript:
typescriptimport { AlgorandClient } from '@algorandfoundation/algokit-utils' const algorand = AlgorandClient.fromEnvironment() // Or: AlgorandClient.defaultLocalNet() // Or: AlgorandClient.testNet() // Or: AlgorandClient.mainNet()Python:
pythonfrom algokit_utils import AlgorandClient algorand = AlgorandClient.from_environment() # Or: AlgorandClient.default_localnet() # Or: AlgorandClient.testnet() # Or: AlgorandClient.mainnet()
- •
Get accounts:
TypeScript:
typescriptconst account = await algorand.account.fromEnvironment('DEPLOYER')Python:
pythonaccount = algorand.account.from_environment("DEPLOYER") - •
Send transactions:
TypeScript:
typescriptawait algorand.send.payment({ sender: account.addr, receiver: 'RECEIVERADDRESS', amount: algo(1), })Python:
pythonalgorand.send.payment(PaymentParams( sender=account.address, receiver="RECEIVERADDRESS", amount=AlgoAmount(algo=1), ))
Important Rules / Guidelines
- •Use AlgorandClient — It's the main entry point; avoid deprecated function-based APIs
- •Default to fromEnvironment() — Works locally and in production via env vars
- •Register signers — Use
algorand.accountto get accounts; signers are auto-registered - •Use algo() helper — For TypeScript, use
algo(1)instead of raw microAlgos
Common Variations / Edge Cases
| Scenario | Approach |
|---|---|
| LocalNet development | AlgorandClient.defaultLocalNet() |
| TestNet/MainNet | AlgorandClient.testNet() or .mainNet() |
| Custom node | AlgorandClient.fromConfig({ algodConfig: {...} }) |
| Deploy contract | Use typed app client factory (see app-client docs) |
| Transaction groups | algorand.newGroup().addPayment(...).addAssetOptIn(...).send() |
References / Further Reading
Language-specific references are organized in subfolders:
- •TypeScript (
references/typescript/): AlgorandClient - •Python (
references/python/): AlgorandClient
External documentation: