Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reference

Technical reference documentation for Voyager Verifier, including error codes, version support, file collection rules, and API endpoints.

Reference Material

Error Codes

Complete error code reference (E001-E042, E999)

Comprehensive listing of all error codes with descriptions, causes, solutions, and examples.

  • Workspace & Package Errors (E001-E003)
  • Verification API Errors (E004-E009)
  • Dependency Errors (E010-E014)
  • Contract & Target Errors (E015-E024)
  • File System Errors (E025-E029)
  • Class Hash Errors (E030-E039)
  • Config File Errors (E040-E042)
  • General Errors (E999)

Use when: You encounter an error code and need detailed information.

Supported Versions

Cairo, Scarb, and Dojo version compatibility

Version support matrix and upgrade guidance.

  • Cairo Version Support: Server-determined, up to 2.13.1 (Oct 2025)
  • Scarb Version Support: 1.x - 2.x
  • Dojo Version Support: Auto-detected from Scarb.toml, up to 1.8.0 (Oct 2025)
  • Upgrade Guidance: Step-by-step upgrade procedures

Use when: Planning upgrades or checking version compatibility.

File Collection

What files are included/excluded in verification

Detailed rules for file collection and validation.

  • Source Files: .cairo files (excluding tests by default)
  • Manifest Files: Scarb.toml, workspace manifests
  • Lock Files: Scarb.lock (optional with --lock-file)
  • Test Files: Excluded by default (--test-files to include)
  • File Types: Allowed extensions and size limits (20MB)
  • Contract Detection: How the main contract file is found

Use when: Understanding what will be submitted for verification.

API Reference

Job status endpoint and response formats

API documentation for checking verification job status.

  • Status Endpoint: Get job status by job ID
  • Response Formats: JSON schemas and examples
  • Job Status Codes: 0-5 and their meanings
  • Job Lifecycle: State transitions and typical timing
  • Network Endpoints: Mainnet, Sepolia, Dev, Custom
  • Error Handling: API error responses and recovery

Use when: Understanding job statuses and response formats.


Quick Reference Tables

Networks

NetworkBase URLUsage
Mainnethttps://api.voyager.onlineProduction contracts
Sepoliahttps://sepolia-api.voyager.onlineTestnet contracts
Devhttps://dev-api.voyager.onlineDevelopment testing
CustomUser-specifiedCustom deployments

Job Status Codes

CodeNameDescriptionTerminal
0SubmittedJob queuedNo
1CompiledCompilation successNo
2CompileFailedCompilation failedYes
3FailVerification failedYes
4SuccessVerified successfullyYes
5ProcessingBeing processedNo

File Types

TypeIncludedFlag RequiredMax Size
Cairo source (.cairo)✅ YesNone20MB
Scarb.toml✅ YesNone20MB
Scarb.lock❌ No--lock-file20MB
Test files❌ No--test-files20MB
Documentation (.md)✅ If foundNone20MB

Version Support

ComponentSupport ModelCurrent
CairoServer-determinedUp to 2.13.1 (Oct 2025)
ScarbClient + Server1.x - 2.x
DojoAuto-detectedUp to 1.8.0 (Oct 2025)
ClientSemantic Versioningv2.0.1

Error Code Quick Lookup

Most Common Errors

CodeErrorQuick Fix
E005Module not foundAdd --test-files if importing tests
E007Verification failedCheck Troubleshooting Guide
E015Invalid contract nameVerify contract name matches #[starknet::contract] mod
E030Class hash mismatchUse --lock-file for reproducibility
E999Unexpected errorCheck logs with --verbose

By Category

Workspace Issues (E001-E003):

  • Package not found
  • No packages in workspace
  • Workspace errors

API Issues (E004-E009):

  • Job submission failed
  • Job not found
  • Verification failed

Dependency Issues (E010-E014):

  • Resolution failures
  • Missing dependencies
  • Dependency conflicts

Contract Issues (E015-E024):

  • Invalid contract names
  • Target not found
  • Multiple contracts found

File Issues (E025-E029):

  • File not found
  • File read errors
  • Invalid file types

Hash Issues (E030-E039):

  • Hash mismatch
  • Parsing errors
  • Format issues

Config Issues (E040-E042):

  • Config file errors
  • Parse failures
  • Invalid settings

File Collection Rules

Always Included

✅ All .cairo files in src/ (except tests)
✅ Package Scarb.toml
✅ Workspace Scarb.toml (if workspace)
✅ Documentation files (LICENSE, README.md, etc.)

Optional (Requires Flags)

❌ Scarb.lock → Use --lock-file
❌ Test files (src/tests/) → Use --test-files

Never Included

❌ Files outside src/ (except manifests)
❌ Test directories outside src/ (tests/, test/)
❌ Build artifacts (target/)
❌ Hidden files (.git/, .env)
❌ Unsupported file types (.yaml, .png, etc.)

File Size Limits

Maximum: 20MB per file

Validation:

  • File type checking (cairo, toml, lock, md, txt, json)
  • Size checking (max 20MB)
  • Path validation

Version Compatibility

Cairo Versions

Supported: Up to 2.13.1 (as of October 2025)

Compatibility:

  • ✅ Cairo 2.13.x - Fully supported (latest)
  • ✅ Cairo 2.12.x - Fully supported
  • ✅ Cairo 2.11.x - Fully supported
  • ✅ Cairo 2.10.x - Fully supported
  • ✅ Cairo 2.9.x - Maintained
  • ✅ Cairo 2.8.x - Maintained
  • ⚠️ Cairo 1.x - Limited support
  • 🔄 Newer versions - Check API or request via GitHub/Telegram

Version Agnostic: Client doesn’t impose version restrictions; server determines support.

Scarb Versions

Recommended: 2.8.x

Compatibility:

  • ✅ Scarb 2.8.x - Fully tested
  • ✅ Scarb 2.7.x - Stable
  • ✅ Scarb 2.6.x - Supported
  • ⚠️ Scarb 1.x - Limited
  • ❌ Scarb 0.x - Not supported

Dojo Support

Detection: Automatic from Scarb.toml

Formats Supported:

# Simple string
dojo = "1.7.1"

# Git tag
dojo = { tag = "v0.7.0" }

# Version table
dojo = { version = "2.0.0" }

All Dojo versions with valid Scarb.toml format are supported.


Common Reference Scenarios

Scenario 1: Error Code Lookup

Problem: Getting error code E005

Steps:

  1. Go to Error Codes
  2. Find E005 in the list
  3. Read cause, solutions, and examples
  4. Apply suggested fix

Scenario 2: Version Check

Problem: Unsure if Cairo 2.12.0 is supported

Steps:

  1. Go to Supported Versions
  2. Check Cairo version compatibility matrix
  3. See note about server-side support
  4. Test with --dry-run on Sepolia first

Scenario 3: File Not Included

Problem: File missing from submission

Steps:

  1. Go to File Collection
  2. Check if file type is allowed
  3. Verify file location (must be in src/ or manifest)
  4. Use --dry-run to preview collection
  5. Check if flag needed (--lock-file, --test-files)

Scenario 4: Understanding Job Status

Problem: Understanding what status codes mean

Steps:

  1. Go to API Reference
  2. Review job status codes documentation
  3. Check response formats
  4. Understand state transitions
  5. Learn about typical timing

Scenario 5: Hash Mismatch

Problem: Class hash mismatch error

Steps:

  1. Check Error Codes E030
  2. Review File Collection for lock files
  3. Use --lock-file flag
  4. Check Supported Versions for compatibility
  5. Verify exact versions match deployment

Reference FAQs

Q: Where can I find error code E030?

A: See Error Codes for detailed information on class hash mismatch errors.

Q: Which files are submitted for verification?

A: See File Collection for complete rules. By default: all .cairo files in src/ (except tests) + Scarb.toml + workspace manifest (if applicable).

Q: What Cairo version should I use?

A: See Supported Versions. As of 2025, Cairo up to 2.11.4 is fully supported. Newer versions are added with a slight lag.

Q: How do I check job status?

A: Use the voyager status command. See Status Command for usage details.

Q: What does status code 2 mean?

A: See API Reference. Status 2 = CompileFailed (compilation error, terminal state).

Q: Are test files included by default?

A: No. See File Collection. Use --test-files flag to include them.

Q: How long does verification take?

A: See API Reference. Simple contracts: 5-15 seconds. Complex contracts: 15-60 seconds.

Q: Can I use a custom API endpoint?

A: Yes. See API Reference for using --network custom --endpoint <URL>.


Reference Navigation

By Topic

Errors & Troubleshooting:

Versions & Compatibility:

Files & Collection:

API & Integration:

By Task

I want to…

…understand an error codeError Codes

…check version compatibilitySupported Versions

…know what files are submittedFile Collection

…understand job status codesAPI Reference

…fix a verification failureCommon Errors

…upgrade Cairo/ScarbVersion Upgrade Guide

…debug compilation errorsDebugging


See Also

External Resources

  • Cairo Documentation: https://book.cairo-lang.org
  • Scarb Documentation: https://docs.swmansion.com/scarb
  • Dojo Documentation: https://book.dojoengine.org
  • Starknet Documentation: https://docs.starknet.io
  • Voyager Explorer: https://voyager.online

Community Support

  • Telegram: https://t.me/StarknetVoyager
  • GitHub Issues: https://github.com/NethermindEth/voyager-verifier/issues
  • GitHub Releases: https://github.com/NethermindEth/voyager-verifier/releases