# Altcha v2.0.1 - Table of Contents

> A lightweight library for creating and verifying ALTCHA challenges.

## Modules

- [Altcha](Altcha.md): Top-level Altcha module providing backward-compatible access to V1 functions.
- [Altcha.V1](Altcha.V1.md): Altcha V1 module provides functions for creating and verifying ALTCHA challenges
using the original proof-of-work algorithm (hash-based).

- [Altcha.V1.Challenge](Altcha.V1.Challenge.md): Represents a V1 challenge with its attributes.

- [Altcha.V1.ChallengeOptions](Altcha.V1.ChallengeOptions.md): Represents options for generating a V1 challenge.

- [Altcha.V1.Payload](Altcha.V1.Payload.md): Represents the payload of a V1 challenge.

- [Altcha.V1.ServerSignaturePayload](Altcha.V1.ServerSignaturePayload.md): Represents the payload for server signatures.

- [Altcha.V1.ServerSignatureVerificationData](Altcha.V1.ServerSignatureVerificationData.md): Represents data for verifying server signatures.

- [Altcha.V1.Solution](Altcha.V1.Solution.md): Represents the solution to a V1 challenge.

- [Altcha.V2](Altcha.V2.md): Altcha V2 module provides functions for creating and verifying ALTCHA v2 challenges.
- [Altcha.V2.Algorithms.PBKDF2](Altcha.V2.Algorithms.PBKDF2.md): PBKDF2 key derivation for PoW v2 challenges.
- [Altcha.V2.Algorithms.SHA](Altcha.V2.Algorithms.SHA.md): Iterative SHA key derivation for PoW v2 challenges.
- [Altcha.V2.Challenge](Altcha.V2.Challenge.md): A V2 PoW challenge containing parameters and an optional HMAC signature.

- [Altcha.V2.ChallengeParameters](Altcha.V2.ChallengeParameters.md): Parameters embedded in a V2 PoW challenge, signed with HMAC.
All fields use camelCase when serialized to JSON to match the JS reference implementation.

- [Altcha.V2.CreateChallengeOptions](Altcha.V2.CreateChallengeOptions.md): Options for `Altcha.V2.create_challenge/1`.

- [Altcha.V2.Payload](Altcha.V2.Payload.md): A client-submitted V2 payload containing the original challenge and the solution.
Typically Base64-encoded JSON sent from the browser widget.

- [Altcha.V2.ServerSignaturePayload](Altcha.V2.ServerSignaturePayload.md): A server-signed verification payload issued by the Altcha verification service.

- [Altcha.V2.Solution](Altcha.V2.Solution.md): A solution to a V2 PoW challenge.

- [Altcha.V2.SolveChallengeOptions](Altcha.V2.SolveChallengeOptions.md): Options for `Altcha.V2.solve_challenge/1`.

- [Altcha.V2.VerifySolutionOptions](Altcha.V2.VerifySolutionOptions.md): Options for `Altcha.V2.verify_solution/1`.

- [Altcha.V2.VerifySolutionResult](Altcha.V2.VerifySolutionResult.md): Result of verifying a V2 solution.

