Open Source ยท v0.2.0

Build edge dApps once.
Run them everywhere.

The unified SDK for deploying confidential applications across decentralised compute networks. One interface, any provider.

Quick start View on GitHub
$ npm install -g @phonix/cli

One SDK, three networks

Deploy the same code to any supported DePIN provider without rewriting your application logic.

Acurast
Supported
237,000+ smartphone nodes running inside hardware Trusted Execution Environments. Your code and data are private โ€” even from device owners.
๐Ÿ“ฑ TEE-based ๐Ÿ”‘ P256 auth โšก nodejs / wasm
Fluence
Supported
Decentralised serverless cloud built on libp2p. Deploy spells to a permissionless peer-to-peer network of compute providers.
๐ŸŒ P2P relay ๐Ÿ”‘ Ed25519 โšก nodejs
Koii
Supported
Community-owned compute network with Solana-compatible task nodes. Ideal for recurring data tasks, oracles, and agent workloads.
๐Ÿ”— Task nodes ๐Ÿ”‘ Solana keypair โšก nodejs

From zero to deployed in minutes

One CLI, one config file, one client API โ€” regardless of which network you deploy to.

1

Initialise your project

Choose a provider and template. Phonix generates your config and entry point.

2

Configure credentials

The phonix auth wizard generates and stores all required keys. Your .env is locked to owner-only permissions and never committed.

3

Test locally

Run phonix run-local to simulate the full provider runtime on your machine โ€” no network required.

4

Deploy and call

One command bundles, uploads to IPFS, and registers on-chain. Then call from any JavaScript environment with @phonix/sdk.

your-app/index.ts
// Deploy once โ€” run on edge nodes
import { PhonixClient } from '@phonix/sdk';

const client = new PhonixClient({
  provider: 'acurast',
  secretKey: process.env.PHONIX_SECRET_KEY,
});

await client.connect();

// Listen for results from the TEE
client.onMessage((msg) => {
  const { result } = msg.payload as { result: string };
  console.log('Result:', result);
});

// Send a prompt to a processor node
await client.send('0xproc1...', {
  requestId: 'req-001',
  prompt: 'Summarize: The quick brown fox...',
});

client.disconnect();
terminal
# Initialise project
phonix init

# Set up credentials interactively
phonix auth

# Test without deploying
phonix run-local

# Deploy to the network
phonix deploy

# โœ” Deployment live!
# Processors: 3 matched
#   โ€ข 0xproc1...

Built for production

Security and reliability are not afterthoughts โ€” they are built into every layer of the SDK.

๐Ÿ”’

Confidential by default

Your code runs inside hardware TEEs. Prompts, responses, and logic are private โ€” even from device owners and network operators.

๐Ÿ›ก๏ธ

SSRF & DNS rebinding protection

All HTTP calls validate URLs and resolve hostnames to IPs before opening connections, blocking requests to internal infrastructure.

๐Ÿ”‘

Safe credential management

The auth wizard generates keys locally, writes them with chmod 600, and enforces .gitignore โ€” secrets never leave your machine accidentally.

๐Ÿ“ฆ

Single-file bundles

esbuild compiles your TypeScript to a single optimised IIFE with env vars injected at build time. No runtime dependencies on the edge node.

๐Ÿงช

Local testing runtime

The mock runtime simulates the full provider API locally โ€” WebSocket messages, HTTP callbacks, fulfill โ€” so you iterate without touching the network.

๐ŸŒ

Provider-agnostic API

Switch from Acurast to Fluence to Koii by changing one config field. Your application code stays identical across all providers.

Everything from the terminal

The full deployment lifecycle in a single tool.

phonix init
Interactive setup โ€” generates phonix.json, .env, and template files
phonix auth
Credential wizard โ€” generates and stores keys for your provider
phonix deploy
Bundle, upload to IPFS, and register deployment on-chain
phonix run-local
Run your script locally with a full mock provider runtime
phonix status
List deployments, processor IDs, and live status
phonix send <id> <msg>
Send a test message directly to a processor node

Start building today

Open source, MIT licensed, and ready for your first deployment.