Getting started

Run Santa on NEAR Testnet.

Network

SettingValue
NetworkNEAR Testnet
RPChttps://rpc.testnet.near.org
ExplorerNEARBlocks Testnet

Santa requires a NEAR Testnet contract account, a separately funded relayer account, and at least one testnet NEP-141 token contract. Only tokens in the Santa contract allowlist can be gifted.

Install and configure

npm ci --ignore-scripts
cp .env.example .env

Set NEAR_CONTRACT_ACCOUNT, NEAR_OWNER_ACCOUNT, NEAR_RELAYER_ACCOUNT, NEAR_ALLOWLISTED_TOKEN_IDS, NEAR_RELAYER_SECRET_KEY, and SANTA_PUBLIC_ORIGIN in the root .env. For the browser, set the matching NEXT_PUBLIC_NEAR_CONTRACT_ACCOUNT and NEXT_PUBLIC_NEAR_TOKEN_ACCOUNT_IDS. The relayer key is server-only and must belong to NEAR_RELAYER_ACCOUNT.

Deploy a fresh contract account

Install Rust, the wasm32-unknown-unknown target, and near-cli-rs. Create the contract account on Testnet and configure its deployment access key in the local NEAR CLI keychain. Then run:

npm run near:contract:test
npm run near:contract:deploy:testnet

The script compiles, deploys, initializes, and reads the new contract. It is for a fresh account only; it does not upgrade an initialized contract. Deployment is never automatic.

Run the app

npm run dev --workspace=@santa/web

Open /send, connect a NEAR Testnet wallet, select a configured allowlisted token, and create a gift. The sender needs token balance, FT storage registration where required, and enough testnet NEAR to pay for ft_transfer_call. The claim relayer separately needs testnet NEAR.