Skip to main content
NEXUS is live on Zcash. This guide gets you from zero to a deployed contract.

Prerequisites

  • Node.js 18+ — for the TypeScript SDK
  • Rust + Cargo — for writing and building contracts
  • WASM target: rustup target add wasm32-unknown-unknown
  • A running NEXUS node (or access to a hosted endpoint)

Install the SDK

The package name is @yattacorp/nexus-sdk. It exports everything from a single entry point.

Connect to NEXUS


Deploy Your First Contract

The fastest way to get started is the nexus-contract-template — a pre-configured Cargo workspace with the SDK, build scripts, and tests included. Clone it and skip the manual setup below.

1. Write a Contract

2. Build

3. Deploy

4. Call It

stealthCallContract uses the same contract function but wraps the transaction in a stealth address, so on-chain observers cannot link the call to your wallet. See Stealth Addresses.

Deposit ZEC

To use vZEC in contracts, deposit ZEC into your vault:
Then send ZEC to that address:
zcash-cli sendtoaddress works on regtest only. On mainnet, use any Zcash-compatible wallet to send to the vault address.
Wait 10 confirmations (~12.5 minutes on mainnet). Your vZEC will appear.

Deploy a NEP-20 Token

The fastest way is to clone the nexus-contract-template which includes a production-ready NEP-20 implementation:
Then deploy the built WASM:
→ See NEP-20 Token Standard for the full interface and production source.

Next Steps

Contract Template

Clone the official template — full Cargo workspace, SDK vendor, tests, and build scripts included

NEP-20 Tokens

Full NEP-20 interface and production implementation

TypeScript SDK

Full TypeScript SDK on GitHub — wallet, vault, stealth, encryption

Vault Deposits

How to deposit ZEC and use vZEC in contracts