Agent Skills: Aztec Accounts Skill

Manage Aztec accounts including Schnorr account creation, deployment, and recovery from credentials. Use when creating accounts, deploying wallets, or recovering existing accounts.

UncategorizedID: critesjosh/aztec-claude-plugin/aztec-accounts

Skill Files

Browse the full folder contents for aztec-accounts.

Download Skill

Loading file tree…

skills/aztec-accounts/SKILL.md

Skill Metadata

Name
aztec-accounts
Description
Manage Aztec accounts including Schnorr account creation, deployment, and recovery from credentials. Use when creating accounts, deploying wallets, or recovering existing accounts.

Aztec Accounts Skill

Create, deploy, and manage Aztec accounts with proper key management.

Subskills

Quick Start: Create and Deploy Account

import { Fr, GrumpkinScalar } from "@aztec/aztec.js/fields";
import { AztecAddress } from "@aztec/stdlib/aztec-address";
import { AccountManager } from "@aztec/aztec.js/wallet";
import { SponsoredFeePaymentMethod } from "@aztec/aztec.js/fee/testing";

// Generate new account keys
const secretKey = Fr.random();
const signingKey = GrumpkinScalar.random();
const salt = Fr.random();

// Create account manager
const account = await wallet.createSchnorrAccount(secretKey, salt, signingKey);
console.log(`Account address: ${account.address}`);

// Deploy account (required before use)
await (await account.getDeployMethod()).send({
    from: AztecAddress.ZERO,
    fee: { paymentMethod: sponsoredPaymentMethod }
}).wait({ timeout: 120000 });

Account Types

Aztec supports several account types:

| Type | Description | Use Case | |------|-------------|----------| | Schnorr | ECDSA-compatible | Most common, recommended | | ECDSA | Ethereum-style | Ethereum compatibility |

Key Components

  • Secret Key (Fr) - Private key for encryption
  • Signing Key (GrumpkinScalar) - Private key for transaction signing
  • Salt (Fr) - Randomness for address derivation
  • Address - Derived deterministically from above

Important: Save Credentials

After creating an account, always save the credentials:

console.log(`SECRET=${secretKey.toString()}`);
console.log(`SIGNING_KEY=${signingKey.toString()}`);
console.log(`SALT=${salt.toString()}`);

Store these in your .env file for later recovery.

Key Imports

// Key types
import { Fr, GrumpkinScalar } from "@aztec/aztec.js/fields";

// Account management
import { AccountManager } from "@aztec/aztec.js/wallet";
import { AztecAddress } from "@aztec/stdlib/aztec-address";

// Wallet
import { TestWallet } from "@aztec/test-wallet/server";

// Fee payment
import { SponsoredFeePaymentMethod } from "@aztec/aztec.js/fee/testing";