API Reference

Complete documentation for TypeScript SDK, REST API, GraphQL API, and Smart Contract interfaces across 8+ blockchains.

TypeScript SDK

Installation

npm install @vault-protocol/sdk

Initialization

import { VaultProtocol } from '@vault-protocol/sdk';

const sdk = new VaultProtocol({
  chain: 'bsc', // or 'ethereum', 'polygon', etc.
  mode: 'mainnet', // or 'testnet'
  apiKey: 'your_api_key_here', // optional
  rpcUrl: 'https://bsc-dataseed1.binance.org' // optional
});

VaultManager

create(config)

Create a new vault

const vault = await sdk.vaults.create({
  beneficiaries: ['0xAlice', '0xBob'],
  shares: [70, 30],
  checkInIntervalDays: 90,
  gracePeriodDays: 30
});

get(vaultId)

Retrieve vault details

const vault = await sdk.vaults.get(vaultId);
console.log(vault.status); // 'active'

checkIn(vaultId)

Perform owner check-in

await sdk.vaults.checkIn(vaultId);

updateBeneficiaries(vaultId, beneficiaries, shares)

Update beneficiary configuration

release(vaultId)

Release vault assets to beneficiaries

AttestationClient

submit(vaultId, source, proofHash)

Submit death attestation

const attestation = await sdk.attestation.submit(
  vaultId,
  'government_record',
  '0xproof...'
);

getStatus(vaultId)

Check attestation consensus status

const status = await sdk.attestation.getStatus(vaultId);
// { pending: 5, verified: 8, consensusReached: true }

getNodeCount()

Get total attestation node count

CrossChainCoordinator

deployToChain(vaultId, chainId)

Deploy vault to another chain

await sdk.crossChain.deployToChain(vaultId, 137); // Polygon

sync(vaultId)

Synchronize vault state across chains

await sdk.crossChain.sync(vaultId);

getCrossChainVaults(vaultId)

Get vault deployments across chains

getSupportedChains()

List all supported chain IDs

EventMonitor

onVaultCreated(callback)

Listen for vault creation events

sdk.events.onVaultCreated((vault) => {
  console.log('New vault:', vault.id);
});

onAttestation(vaultId, callback)

Listen for attestation events

sdk.events.onAttestation(vaultId, (att) => {
  console.log('Attestation:', att);
});

onConsensusReached(vaultId, callback)

Listen for consensus events

onVaultReleased(vaultId, callback)

Listen for asset release events

REST API

Base URL

https://api.vaultprotocol.ai/v1

Endpoints

POST/vaults
Create a new vault
GET/vaults/:id
Get vault details
GET/vaults
List all vaults (paginated)
POST/vaults/:id/checkin
Perform check-in
PUT/vaults/:id/beneficiaries
Update beneficiaries
POST/vaults/:id/release
Release vault assets
POST/attestations
Submit attestation
GET/attestations/:vaultId
Get attestation status
GET/stats
Get protocol statistics

GraphQL API

Endpoint

https://api.vaultprotocol.ai/graphql

Example Query

query GetVault($id: ID!) {
  vault(id: $id) {
    id
    owner
    status
    beneficiaries {
      address
      share
    }
    assets {
      token
      amount
    }
    attestations {
      source
      timestamp
      verified
    }
  }
}

Example Subscription

subscription OnAttestation($vaultId: ID!) {
  attestationSubmitted(vaultId: $vaultId) {
    source
    timestamp
    verified
  }
}

Smart Contracts

Contract Addresses

BNB Chain (Chain ID: 56)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Ethereum (Chain ID: 1)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Polygon (Chain ID: 137)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Arbitrum (Chain ID: 42161)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Optimism (Chain ID: 10)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Base (Chain ID: 8453)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Avalanche (Chain ID: 43114)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

opBNB (Chain ID: 204)

VaultFactory:0x...
VaultRegistry:0x...
AttestationRouter:0x...

Note: Contract addresses will be updated after mainnet deployment. Currently showing placeholder addresses.

Start Building

Integrate Vault Protocol into your application today across 8+ blockchains.

View Quick Start Guide