API Reference

Complete SDK reference for Orvanta Protocol. Shielding, unshielding, and private swaps on Solana.

CLASS

OrvantaClient

The main SDK client. Connects to Solana and manages private transactions with ZK proofs.

client.tstypescript
import { OrvantaClient } from "@orvanta/sdk"

const client = new OrvantaClient()

// With custom configuration
const client = new OrvantaClient({
    network: "mainnet-beta",
    rpcUrl: "https://api.mainnet-beta.solana.com"
})

PARAMETERS

networkstring, optional
Solana network. Default: mainnet-beta
rpcUrlstring, optional
Custom RPC endpoint
INTERFACE

ShieldParams

Input parameters for shielding tokens. Creates a ZK proof and deposits into the privacy pool.

shield.tstypescript
import { ShieldParams } from "@orvanta/sdk"

const params: ShieldParams = {
    amount: 100,              // Amount to shield
    token: "SOL",             // Token mint or "SOL"
    recipient: stealthAddr,   // Stealth address
    memo: "encrypted_note",   // Optional encrypted memo
}

const result = await client.shield(params)

FIELDS

amountnumber
Amount to shield (in token units)
tokenstring
Token mint address or 'SOL'
recipientstring
Stealth address to receive shielded tokens
memostring?
Optional encrypted memo (viewable only by recipient)
relayerstring?
Optional relayer address for fee payment
INTERFACE

ShieldResult

Output from shield/unshield operations. Contains transaction details and ZK proof data.

result.tstypescript
const result = await client.shield(params)

// Shield result properties
result.txHash           // string: Transaction signature
result.proof            // string: ZK proof (hex)
result.commitment       // string: Note commitment
result.nullifier        // string: Nullifier hash
result.privacyScore     // number: 0-100
result.anonymitySet     // number: Size of anon set

// Unshield result
const unshieldResult = await client.unshield({
    amount: 50,
    proof: zkProof,
    recipient: publicWallet
})

PROPERTIES

txHashstring
Solana transaction signature
proofstring
ZK-SNARK proof (hex encoded)
commitmentstring
Note commitment hash
nullifierstring
Nullifier for double-spend prevention
privacyScorenumber
Privacy score from 0-100
anonymitySetnumber
Size of the anonymity set
METHOD

privateSwap

Execute a private swap using shielded balances. No public trace of the swap on-chain.

swap.tstypescript
// Private swap (no public trace)
const swapResult = await client.privateSwap({
    fromToken: "SOL",
    toToken: "USDC",
    amount: 10,
    slippage: 0.5,
    useJupiter: true
})

// Result includes ZK proof
console.log(swapResult.outputAmount)
console.log(swapResult.proof)

QUICK REFERENCE

Privacy Levels

standardBasic shielding
high+ Relayer support
maximum+ Delayed withdrawal

Supported Tokens

SOLLive
USDCLive
USDTLive
SPL TokensComing