name: use-algokit-utils description: AlgoKit Utils library for interacting with the Algorand blockchain from TypeScript or Python applications. Use when connecting to Algorand networks (LocalNet, TestNet, MainNet), sending payments or transferring assets, creating and managing accounts, deploying or interacting with smart contracts from client code, or composing transaction groups. NOT for writing smart contract code (use build-smart-contracts skill). Strong triggers include "How do I connect to Algorand?", "send a payment transaction", "create an account", "deploy my contract", "get an AlgorandClient", "AlgorandClient.fromEnvironment".
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:
import { AlgorandClient } from '@algorandfoundation/algokit-utils' const algorand = AlgorandClient.fromEnvironment() // Or: AlgorandClient.defaultLocalNet() // Or: AlgorandClient.testNet() // Or: AlgorandClient.mainNet()Python:
from algokit_utils import AlgorandClient algorand = AlgorandClient.from_environment() # Or: AlgorandClient.default_localnet() # Or: AlgorandClient.testnet() # Or: AlgorandClient.mainnet() -
Get accounts:
TypeScript:
const account = await algorand.account.fromEnvironment('DEPLOYER')Python:
account = algorand.account.from_environment("DEPLOYER") -
Send transactions:
TypeScript:
await algorand.send.payment({ sender: account.addr, receiver: 'RECEIVERADDRESS', amount: algo(1), })Python:
algorand.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: