Getting started
Run Santa on NEAR Testnet.
Network
| Setting | Value |
|---|---|
| Network | NEAR Testnet |
| RPC | https://rpc.testnet.near.org |
| Explorer | NEARBlocks 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 .envSet 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:testnetThe 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/webOpen /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.