API Server Setup

The api-server exposes NozyWallet over HTTP for browser extensions and local dashboards.

Build and run

cd api-server
cargo build --release
cargo run
# listens on http://0.0.0.0:3000

Requires: protoc for zeaking gRPC codegen.

Use cases

Not intended as a public internet wallet API without additional auth and TLS hardening.

Quick endpoint list

MethodPathPurpose
GET/healthHealth check
GET/api/wallet/existsWallet present
POST/api/wallet/createCreate
POST/api/wallet/restoreRestore mnemonic
POST/api/wallet/unlockUnlock
POST/api/address/generateNew address
GET/api/balanceBalance
POST/api/syncScan blocks
POST/api/transaction/sendSend
GET/api/configConfig + last_scan_height
POST/api/config/zebra-urlSet node URL
GET/api/lwd/infolightwalletd info
POST/api/lwd/sync/compactCompact block sync

Full list: api-server/README.md.

Sync semantics

Default sync: incremental from last_scan_height + 1, up to 1000 blocks per call. Repeat until already_synced: true.

Rescan: pass start_height / end_height in POST body.

Shielded sends

Same Orchard path as CLI — local witness derivation. See ZEBRAD_SHIELDED_SEND_LIMIT.md.

Chapters