Skip to content

SolanaNoirVerifier

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / SolanaNoirVerifier

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17418

Solana Noir Verifier

Enables verification of Noir ZK proofs on Solana blockchain.

const verifier = new SolanaNoirVerifier({
network: 'devnet',
verbose: true,
})
await verifier.initialize()
// Verify proof off-chain (no transaction)
const valid = await verifier.verifyOffChain(proof)
// Or verify on-chain (submits transaction)
const result = await verifier.verifyOnChain(proof, wallet)

new SolanaNoirVerifier(config?): SolanaNoirVerifier

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17423

SolanaNoirVerifierConfig

SolanaNoirVerifier

get isReady(): boolean

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17431

Check if verifier is initialized

boolean

getConnection(): Connection

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17427

Get the Solana connection

Connection


getConfig(): Readonly<SolanaNoirVerifierConfig>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17435

Get current configuration

Readonly<SolanaNoirVerifierConfig>


getRpcUrl(): string

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17439

Get RPC URL being used

string


initialize(): Promise<void>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17445

Initialize the verifier

Loads verification keys for all circuit types.

Promise<void>


generateVerificationKey(circuitType): Promise<SolanaVerificationKey>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17451

Generate verification key for a circuit type

Creates the cryptographic verification key needed to verify proofs.

NoirCircuitType

Promise<SolanaVerificationKey>


serializeProof(proof): SolanaSerializedProof

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17457

Serialize a proof for Solana

Converts a Noir proof into a format suitable for Solana transaction.

ZKProof

SolanaSerializedProof


verifyOffChain(proof): Promise<boolean>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17474

Verify a proof off-chain

Fast verification without submitting a transaction. Uses the local Noir backend for verification if @aztec/bb.js is available, otherwise falls back to mock verification.

ZKProof

The proof to verify

Promise<boolean>

true if valid, false otherwise

For production use, install @aztec/bb.js as a dependency:

Terminal window
npm install @aztec/bb.js

verifyOnChain(proof, wallet): Promise<SolanaVerificationResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17500

Verify a proof on-chain

Submits a transaction to Solana to verify the proof using the Sunspot verifier.

ZKProof

The proof to verify

Wallet interface with signTransaction method

{ toBase58: string; }

<T>(tx) => Promise<T>

Promise<SolanaVerificationResult>

Verification result with transaction signature


createSunspotVerifyInstruction(proof, programId): TransactionInstruction

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17511

Create a Sunspot verifier instruction

Sunspot verifiers expect instruction data in format: proof_bytes || public_witness_bytes

ZKProof

string

TransactionInstruction


serializeProofForSunspot(proof): Buffer

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17518

Serialize proof for Sunspot verifier

Sunspot expects: proof_bytes || public_witness_bytes where public_witness contains the number of public inputs followed by the values

ZKProof

Buffer


createVerifyInstruction(proof): SolanaVerifyInstruction

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17524

Create a verify instruction for Solana

Builds the instruction data and account metas needed for verification.

ZKProof

SolanaVerifyInstruction


getProofStatistics(proof): ProofStatistics

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17530

Get proof statistics

Returns size and compute unit estimates for a proof.

ZKProof

ProofStatistics


batchVerify(request): Promise<BatchVerificationResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17536

Batch verify multiple proofs

Verifies multiple proofs, optionally failing fast on first invalid.

BatchVerificationRequest

Promise<BatchVerificationResult>


getVerificationKey(circuitType): SolanaVerificationKey | undefined

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17540

Get verification key for a circuit type

NoirCircuitType

SolanaVerificationKey | undefined


destroy(): Promise<void>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:17544

Destroy the verifier and free resources

Promise<void>