use-algokit-utils
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".
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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:
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!