Developer Documentation

Technical guides, API references, and development resources for building with Status protocol.

1. Installation

npm install @status-protocol/client-sdk
                            

The Status SDK integrates directly with the Ethereum blockchain. Make sure you have an Ethereum node running or use the Status node API for quick development.

2. Quick Start

Initialize the SDK

// JavaScript
import { StatusClient } from '@status-protocol/client-sdk'

const client = new StatusClient({
  network: 'mainnet',  // or 'testnet'
  mnemonic: 'your-12-word-phrase',
  storage: 'ipfs'     // or 'local' for development
})
                            

Sending a Message

await client.messaging.send({
  recipient: '0x1234567890123456789012345678901234567890',
  // Ethereum address
  content: 'Hello from Status network!',
  expiry: 24 * 60 * 60  // Message self-destruct after 24h
})
                            

3. Web3 Integration

DApp Communication

Status supports direct Ethereum contract interactions. Contracts are automatically verified using EIP-712 signing.

// DApp connection example
const dappSession = await client.dapp.connect('my-decentralized-app')
const approvedPermissions = await dappSession.requestPermissions(['wallet_signTransaction', 'messaging_send'])
                            

4. DApp SDK

Create a Custom DApp

import DAppFramework from '@status-protocol/dapp-framework'

const dapp = new DAppFramework({
  name: 'My Decentralized App',
  icon: 'crypto-coin-icon.svg',
  permissions: ['identity_sign', 'transactions_send']
})

// Handle message events
dapp.on('message', (payload) => {
  // Process incoming peer-to-peer messages
})

// Send data back to Status
dapp.sendResponse({ status: 'success', data: ... })
                            

5. Security Best Practices

Key Management

  • Use HD wallet derivation (BIP39/BIP44) for mnemonics
  • Store private keys securely using WebCrypto API
  • Implement multi-factor authentication for enterprise use

Data Protection

  • Always use E2E encryption for sensitive data
  • Store metadata decentralized with IPFS
  • Use SGX enclaves for secure computations

6. FAQ

Use our DApp SDK to interact with Ethereum contracts through EIP-1193 and EIP-747 standards. You can sign transactions directly from user's Ethereum wallet without requiring private key exposure.

We provide official SDKs for JavaScript/TypeScript, with Solidity bindings. Community-maintained wrappers also exist for Python, Go, and Rust.

Need More Help?

Find official documentation, community resources, and enterprise support

Official Docs

Complete technical reference for our APIs, SDKs, and development tools

View All Docs

GitHub Repository

Explore open-source code and contribute to the Status ecosystem

View on GitHub

Enterprise Support

Get specialized technical support and implementation assistance for enterprise solutions

Contact Support