Awesome-omni-skill aztec-accounts
Manage Aztec accounts including Schnorr account creation, deployment, and recovery from credentials. Use when creating accounts, deploying wallets, or recovering existing accounts.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/aztec-accounts" ~/.claude/skills/diegosouzapw-awesome-omni-skill-aztec-accounts && rm -rf "$T"
manifest:
skills/devops/aztec-accounts/SKILL.mdsource content
Aztec Accounts Skill
Create, deploy, and manage Aztec accounts with proper key management.
Subskills
- Schnorr Accounts - Creating and deploying Schnorr accounts
- Account Recovery - Recovering accounts from saved credentials
Quick Start: Create and Deploy Account
import { Fr } from "@aztec/aztec.js/fields"; import { GrumpkinScalar } from "@aztec/foundation/curves/grumpkin"; import { AztecAddress } from "@aztec/stdlib/aztec-address"; import { AccountManager } from "@aztec/aztec.js/wallet"; import { SponsoredFeePaymentMethod } from "@aztec/aztec.js/fee"; // 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 } from "@aztec/aztec.js/fields"; import { GrumpkinScalar } from "@aztec/foundation/curves/grumpkin"; // Account management import { AccountManager } from "@aztec/aztec.js/wallet"; import { AztecAddress } from "@aztec/stdlib/aztec-address"; // Wallet import { EmbeddedWallet } from "@aztec/wallets/embedded"; // Fee payment import { SponsoredFeePaymentMethod } from "@aztec/aztec.js/fee";