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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "use-algokit-utils" with this command: npx skills add algorand-devrel/algorand-agent-skills/algorand-devrel-algorand-agent-skills-use-algokit-utils

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:

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

    TypeScript:

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

    Python:

    account = algorand.account.from_environment("DEPLOYER")
    
  3. 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.account to get accounts; signers are auto-registered
  • Use algo() helper — For TypeScript, use algo(1) instead of raw microAlgos

Common Variations / Edge Cases

ScenarioApproach
LocalNet developmentAlgorandClient.defaultLocalNet()
TestNet/MainNetAlgorandClient.testNet() or .mainNet()
Custom nodeAlgorandClient.fromConfig({ algodConfig: {...} })
Deploy contractUse typed app client factory (see app-client docs)
Transaction groupsalgorand.newGroup().addPayment(...).addAssetOptIn(...).send()

References / Further Reading

Language-specific references are organized in subfolders:

External documentation:

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

troubleshoot-errors

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

implement-arc-standards

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

test-smart-contracts

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

search-algorand-examples

No summary provided by upstream source.

Repository SourceNeeds Review