PrivacyBackend
SIP Protocol API Reference v0.7.4
SIP Protocol API Reference / PrivacyBackend
Interface: PrivacyBackend
Section titled “Interface: PrivacyBackend”Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19448
Core interface for all privacy backends
All privacy implementations (SIP Native, PrivacyCash, Arcium, Inco) must implement this interface for unified access.
Interface Version
Section titled “Interface Version”The current interface version is v2. Backends should set version: 2.
v1 backends without a version field are still supported but deprecated.
Backend Types
Section titled “Backend Types”- Transaction backends (type: ‘transaction’): Implement
execute()for transfers - Compute backends (type: ‘compute’): Implement
executeComputation()for MPC/FHE - Hybrid backends (type: ‘both’): Implement both methods
Example
Section titled “Example”// Transaction backend usageconst sipNative = new SIPNativeBackend()await sipNative.execute({ chain: 'solana', sender, recipient, amount, ... })
// Compute backend usageconst arcium = new ArciumBackend()await arcium.executeComputation({ chain: 'solana', circuitId, encryptedInputs, ... })Properties
Section titled “Properties”version?
Section titled “version?”
readonlyoptionalversion:PrivacyBackendVersion
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19459
Interface version implemented by this backend
- v1: Initial interface (deprecated, no version field)
- v2: Current interface with versioning support
Backends without a version field are treated as v1 with deprecation warning.
Default
Section titled “Default”1 (for backwards compatibility)
readonlyname:string
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19461
Unique backend identifier
readonlytype:PrivacyBackendType
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19463
Backend type classification
chains
Section titled “chains”
readonlychains:string[]
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19465
Supported blockchain networks
Methods
Section titled “Methods”checkAvailability()
Section titled “checkAvailability()”checkAvailability(
params):Promise<PrivacyAvailabilityResult>
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19475
Check if backend is available for given parameters
Accepts either TransferParams (for transaction backends) or ComputationParams (for compute backends).
Parameters
Section titled “Parameters”params
Section titled “params”BackendParams
Transfer or computation parameters
Returns
Section titled “Returns”Promise<PrivacyAvailabilityResult>
Availability result with cost/time estimates
getCapabilities()
Section titled “getCapabilities()”getCapabilities():
PrivacyBackendCapabilities
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19481
Get backend capabilities and trade-offs
Returns
Section titled “Returns”Static capability description
execute()
Section titled “execute()”execute(
params):Promise<PrivacyTransactionResult>
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19491
Execute a privacy-preserving transfer
Implemented by transaction backends (SIP Native, PrivacyCash). Compute backends should return an error directing users to executeComputation().
Parameters
Section titled “Parameters”params
Section titled “params”Transfer parameters
Returns
Section titled “Returns”Promise<PrivacyTransactionResult>
Transaction result
executeComputation()?
Section titled “executeComputation()?”
optionalexecuteComputation(params):Promise<ComputationResult>
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19501
Execute a privacy-preserving computation
Implemented by compute backends (Arcium, Inco). Transaction backends do not implement this method.
Parameters
Section titled “Parameters”params
Section titled “params”ComputationParams
Computation parameters
Returns
Section titled “Returns”Promise<ComputationResult>
Computation result with status and output
estimateCost()
Section titled “estimateCost()”estimateCost(
params):Promise<bigint>
Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:19510
Estimate cost for an operation (without executing)
Accepts either TransferParams or ComputationParams.
Parameters
Section titled “Parameters”params
Section titled “params”BackendParams
Transfer or computation parameters
Returns
Section titled “Returns”Promise<bigint>
Estimated cost in native token smallest units