SDK
Features
Installation
Quick Start
1. Initialize the SDK
2. Create a Fast Vault (Server-Assisted)
3. Derive Blockchain Addresses
4. Create a Secure Vault (Multi-Device)
5. Sign with Secure Vault
6. Import/Export Vaults
7. Create Vault from Seedphrase
8. Token Registry & Prices
9. Security Scanning
10. Fiat On-Ramp (Banxa)
11. Push Notifications
Consumer Responsibilities
Responsibility
Owner
Details
Platform Setup
Supported Blockchains
Network
Chain ID
Description
Vault Types
Feature
Fast Vault
Secure Vault
When to Use Each Type
Framework Integration Example
React Component Example
Configuration
SDK Configuration
WASM Files
API Reference
Core Methods
initialize(): Promise<void>
initialize(): Promise<void>createFastVault(options): Promise<string>
createFastVault(options): Promise<string>verifyVault(vaultId, code): Promise<FastVault>
verifyVault(vaultId, code): Promise<FastVault>createSecureVault(options): Promise<{ vault, vaultId, sessionId }>
createSecureVault(options): Promise<{ vault, vaultId, sessionId }>validateSeedphrase(mnemonic): Promise<SeedphraseValidation>
validateSeedphrase(mnemonic): Promise<SeedphraseValidation>discoverChainsFromSeedphrase(mnemonic, chains?, onProgress?): Promise<ChainDiscoveryResult[]>
discoverChainsFromSeedphrase(mnemonic, chains?, onProgress?): Promise<ChainDiscoveryResult[]>createFastVaultFromSeedphrase(options): Promise<string>
createFastVaultFromSeedphrase(options): Promise<string>createSecureVaultFromSeedphrase(options): Promise<{ vault, vaultId, sessionId }>
createSecureVaultFromSeedphrase(options): Promise<{ vault, vaultId, sessionId }>joinSecureVault(qrPayload, options): Promise<{ vault, vaultId }>
joinSecureVault(qrPayload, options): Promise<{ vault, vaultId }>vault.address(chain): Promise<string>
vault.address(chain): Promise<string>addVault(file, password?): Promise<Vault>
addVault(file, password?): Promise<Vault>vault.export(password?): Promise<Blob>
vault.export(password?): Promise<Blob>vault.exportAsBase64(password?): Promise<string>
vault.exportAsBase64(password?): Promise<string>secureVault.sign(payload, options?): Promise<SigningResult>
secureVault.sign(payload, options?): Promise<SigningResult>secureVault.signBytes(options, signingOptions?): Promise<SigningResult>
secureVault.signBytes(options, signingOptions?): Promise<SigningResult>Static Methods (No Vault Needed)
Vultisig.getKnownTokens(chain): TokenInfo[]
Vultisig.getKnownTokens(chain): TokenInfo[]Vultisig.getKnownToken(chain, contractAddress): TokenInfo | null
Vultisig.getKnownToken(chain, contractAddress): TokenInfo | nullVultisig.getFeeCoin(chain): FeeCoinInfo
Vultisig.getFeeCoin(chain): FeeCoinInfoVultisig.getCoinPrices(params): Promise<Record<string, number>>
Vultisig.getCoinPrices(params): Promise<Record<string, number>>Vultisig.getBanxaSupportedChains(): Chain[]
Vultisig.getBanxaSupportedChains(): Chain[]Vultisig.scanSite(url): Promise<SiteScanResult>
Vultisig.scanSite(url): Promise<SiteScanResult>Vault Methods (Token Discovery & Security)
vault.discoverTokens(chain): Promise<DiscoveredToken[]>
vault.discoverTokens(chain): Promise<DiscoveredToken[]>vault.resolveToken(chain, contractAddress): Promise<TokenInfo>
vault.resolveToken(chain, contractAddress): Promise<TokenInfo>vault.getBuyUrl(chain, ticker?): Promise<string | null>
vault.getBuyUrl(chain, ticker?): Promise<string | null>vault.validateTransaction(keysignPayload): Promise<TransactionValidationResult | null>
vault.validateTransaction(keysignPayload): Promise<TransactionValidationResult | null>vault.simulateTransaction(keysignPayload): Promise<TransactionSimulationResult | null>
vault.simulateTransaction(keysignPayload): Promise<TransactionSimulationResult | null>Transaction Status
vault.getTxStatus(params): Promise<TxStatusResult>
vault.getTxStatus(params): Promise<TxStatusResult>Push Notification Methods
notifications.registerDevice(options): Promise<void>
notifications.registerDevice(options): Promise<void>notifications.unregisterVault(vaultId): Promise<void>
notifications.unregisterVault(vaultId): Promise<void>notifications.notifyVaultMembers(options): Promise<void>
notifications.notifyVaultMembers(options): Promise<void>notifications.onSigningRequest(handler): () => void
notifications.onSigningRequest(handler): () => voidnotifications.handleIncomingPush(data): void
notifications.handleIncomingPush(data): voidnotifications.parseNotificationPayload(data): SigningNotification | null
notifications.parseNotificationPayload(data): SigningNotification | nullnotifications.fetchVapidPublicKey(): Promise<string>
notifications.fetchVapidPublicKey(): Promise<string>notifications.isVaultRegistered(vaultId): Promise<boolean>
notifications.isVaultRegistered(vaultId): Promise<boolean>notifications.hasRemoteRegistrations(vaultId): Promise<boolean>
notifications.hasRemoteRegistrations(vaultId): Promise<boolean>notifications.connect(options): void
notifications.connect(options): voidnotifications.disconnect(): void
notifications.disconnect(): voidnotifications.connectionState: WSConnectionState
notifications.connectionState: WSConnectionStatenotifications.onConnectionStateChange(handler): () => void
notifications.onConnectionStateChange(handler): () => voidnotifications.ping(): Promise<boolean>
notifications.ping(): Promise<boolean>Utility Methods
isVaultFileEncrypted(file): Promise<boolean>
isVaultFileEncrypted(file): Promise<boolean>validateVault(vault): VaultValidationResult
validateVault(vault): VaultValidationResultgetVaultDetails(vault): VaultDetails
getVaultDetails(vault): VaultDetailsError Handling
Examples
Requirements
Security Considerations
Development
Prerequisites
Setup
Building
Testing
Development Workflow
Project Structure
Contributing
License
Support
Last updated
Was this helpful?
