Agent skill

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".

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/use-algokit-utils

SKILL.md

AlgoKit Utils

Use AlgoKit Utils to interact with the Algorand blockchain from TypeScript or Python applications.

Overview / Core Workflow

  1. Create an AlgorandClient instance
  2. Get or create accounts for signing
  3. Send transactions using algorand.send.* methods
  4. Or compose groups using algorand.newGroup()

How to proceed

  1. 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()
    
  2. Get accounts:

    TypeScript:

    typescript
    const account = await algorand.account.fromEnvironment('DEPLOYER')
    

    Python:

    python
    account = algorand.account.from_environment("DEPLOYER")
    
  3. 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.account to 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:

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results