Skip to content

PrivacyBackend

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / 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.

The current interface version is v2. Backends should set version: 2. v1 backends without a version field are still supported but deprecated.

  • Transaction backends (type: ‘transaction’): Implement execute() for transfers
  • Compute backends (type: ‘compute’): Implement executeComputation() for MPC/FHE
  • Hybrid backends (type: ‘both’): Implement both methods
// Transaction backend usage
const sipNative = new SIPNativeBackend()
await sipNative.execute({ chain: 'solana', sender, recipient, amount, ... })
// Compute backend usage
const arcium = new ArciumBackend()
await arcium.executeComputation({ chain: 'solana', circuitId, encryptedInputs, ... })

readonly optional version: 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.

1 (for backwards compatibility)

readonly name: string

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

Unique backend identifier


readonly type: PrivacyBackendType

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

Backend type classification


readonly chains: string[]

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

Supported blockchain networks

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).

BackendParams

Transfer or computation parameters

Promise<PrivacyAvailabilityResult>

Availability result with cost/time estimates


getCapabilities(): PrivacyBackendCapabilities

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

Get backend capabilities and trade-offs

PrivacyBackendCapabilities

Static capability description


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().

PrivacyTransferParams

Transfer parameters

Promise<PrivacyTransactionResult>

Transaction result


optional executeComputation(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.

ComputationParams

Computation parameters

Promise<ComputationResult>

Computation result with status and output


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.

BackendParams

Transfer or computation parameters

Promise<bigint>

Estimated cost in native token smallest units