All skills

Guide for writing TypeScript code with AlgoKit Utils (`@algorandfoundation/algokit-utils`). Use this skill whenever the user is building on Algorand with TypeScript — client setup, account management, payments, asset operations, atomic transaction groups, smart contract deployment and interaction (AppFactory, AppClient, ARC-56/ARC-32 specs), raw app calls, key registration, network management, testing with algorandFixture, error handling, and the low-level crypto primitives under `@algorandfoundation/algokit-utils/crypto` (Ed25519 keygen/signing/verification, SHA-512/256 `hash`, Peikert xHD BIP44 wallets, wrapped-secret patterns). Trigger on imports from `@algorandfoundation/algokit-utils` (incl. `/crypto`, `/testing`, `/transact` subpaths), references to `AlgorandClient`, `AppFactory`, `AppClient`, `AlgoAmount`, `algorandFixture`, `ed25519Generator`, `peikertXHdWalletGenerator`, `hash`, `WrappedEd25519Seed`, or `RawEd25519Signer`. Also on any TypeScript or JavaScript code that builds on Algorand.

Use this Skill: https://skilld.dev/gh/algorand-devrel/algorand-agent-skills/algokit-utils-ts

This session only. Nothing lands on disk.

referenceskey-registration.md

≈473 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Key registration

All snippets in this section assume an AlgorandClient named algorand — see Client initialization for setup.

Register online with participation keys

Submit a key-registration transaction that marks an account as online for consensus participation.

const result = await algorand.send.onlineKeyRegistration({
  sender: "SENDERADDRESS",
  voteKey: Uint8Array.from(Buffer.from("vote-key-base64", "base64")),
  selectionKey: Uint8Array.from(Buffer.from("selection-key-base64", "base64")),
  stateProofKey: Uint8Array.from(
    Buffer.from("state-proof-key-base64", "base64"),
  ),
  voteFirst: 1n,
  voteLast: 3_000_000n,
  voteKeyDilution: 1732n,
});

What just happened: You sent an online key-registration transaction via algorand.send.onlineKeyRegistration(). The six participation-key fields (voteKey, selectionKey, stateProofKey, voteFirst, voteLast, voteKeyDilution) come from running goal account addpartkey (or the equivalent REST endpoint) on a participation node. Once confirmed, the network treats the sender account as online and eligible to propose and vote on blocks.

Register offline (go offline)

Take an account offline so it no longer participates in consensus.

const result = await algorand.send.offlineKeyRegistration({
  sender: "SENDERADDRESS",
});

What just happened: You sent an offline key-registration transaction via algorand.send.offlineKeyRegistration(). Because no participation keys are provided, the network clears the account's registered keys and marks it as offline. The account stops proposing and voting on blocks but continues to hold its balance normally. To permanently prevent the account from ever going back online, pass preventAccountFromEverParticipatingAgain: true — use this with caution as it is irreversible.

Source: SKILL.md on GitHub

1 alert1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    The skill provides a comprehensive guide for using the AlgoKit Utils TypeScript library. It follows security best practices, such as recommending environment variables for secrets, and uses standard testing mnemonics and placeholder domains in its code examples. No malicious patterns or security risks were detected.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: HIGH · 2 issues

Signed by skilld at 4235fb8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 weeks ago.

Activeupdated 6 months ago

README badge

README badge for algorand-devrel/algorand-agent-skills/algokit-utils-ts