Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add algorand-devrel/algorand-agent-skills --skill "use-algokit-utils"
Install specific skill from multi-skill repository
# 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".
# SKILL.md
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:
```typescript
import { AlgorandClient } from '@algorandfoundation/algokit-utils'
const algorand = AlgorandClient.fromEnvironment()
// Or: AlgorandClient.defaultLocalNet()
// Or: AlgorandClient.testNet()
// Or: AlgorandClient.mainNet()
```
Python:
```python
from algokit_utils import AlgorandClient
algorand = AlgorandClient.from_environment()
# Or: AlgorandClient.default_localnet()
# Or: AlgorandClient.testnet()
# Or: AlgorandClient.mainnet()
```
- Get accounts:
TypeScript:
typescript
const account = await algorand.account.fromEnvironment('DEPLOYER')
Python:
python
account = algorand.account.from_environment("DEPLOYER")
- Send transactions:
TypeScript:
typescript
await algorand.send.payment({
sender: account.addr,
receiver: 'RECEIVERADDRESS',
amount: algo(1),
})
Python:
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:
- AlgoKit Utils TS Docs
- AlgoKit Utils Python Docs
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.