Sandbox guide — wallet by wallet

The sandbox is a throwaway copy of the SPT contracts running on Kadena mainnet. It lets you rehearse every step with your own wallet before the real sale. Same pages, same wallets, same signatures — a different contract, and worthless tokens.

Before anything else

  • Test-SPT has no value and will be abandoned. It never becomes real SPT.
  • The KDA you spend is real, but tiny. The sandbox sells test-SPT at a deliberately tiny price (shown on the page), and every transaction costs a normal network fee. What you spend goes to a throwaway account and is not refunded.
  • The copy lives on chains 0, 1 and 2. Buying happens on chain 0.
  • Every action is signed in your own wallet. These pages never hold a key.

What you need

The steps, in order

  1. Open Buy test-SPT — the sale page in sandbox mode. Step 1 shows the copy’s status, price and remaining reserve, read live from the chain.
  2. Connect a wallet (step 2) with the button for your wallet — the wallet-specific notes are below. The page then shows your account and your KDA on chain 0.
  3. Buy (step 3). The amount is pre-filled with 0.1 test-SPT; leave it, or make it smaller. Approve the transaction in your wallet. The Activity box reports “Bought 0.1 SPT for … KDA” with the transaction’s request key, usually within a minute.
  4. Open Your test-SPT and connect the same wallet. You will see your balance per chain, and can send, move, vote and claim from there.
The sandbox sale page before connecting: status open, the made-up test price, and the network line marked THROWAWAY TEST COPY The Activity box after a buy: Bought 0.1 SPT for 0.001 KDA, with the transaction request key

EckoWallet (browser extension)

  1. Install eckoWALLET in Chrome and unlock it. In its settings, make sure the selected network is mainnet01 — the page refuses to continue on any other network and tells you which one it saw.
  2. Click EckoWallet. The extension opens a connect prompt; approve it.
  3. When you buy, send, move, vote or claim, the extension opens a signing prompt that lists the capabilities you are granting (for a purchase: the KDA transfer for the exact price, and gas). Approve it. Declining shows “Signing declined in EckoWallet” on the page and nothing is sent.
  4. If you switch account or network inside the extension, the page drops the connection and asks you to reconnect — a signature for a different account is never accepted.
eckoWALLET asking to connect to smartpacts.io eckoWALLET signing prompt showing the exact transaction, its hash and your public key before you confirm

Zelcore (desktop app)

  1. Open the Zelcore desktop app on the same computer and log in, with the Kadena wallet enabled. The page talks to the app locally (on your own machine) — nothing goes through a server.
  2. Click Zelcore. The page asks the app for your k: accounts and connects the first one. “Zelcore not reachable” means the app is not open or not logged in.
  3. Each transaction opens a signing request inside the Zelcore app. Approve it there. Older Zelcore builds use Zelcore’s original signing flow: the app composes the transaction from the page’s request and returns it signed — the page then checks, field by field, that it is exactly the transaction you asked for before submitting it, and refuses anything else.
Zelcore signing request for the sandbox buy: the SPT-launch-TEST.buy call and the 0.001 KDA transfer it allows

Ledger (hardware wallet, over USB)

  1. Use Chrome, Edge or Brave — the page talks to the device through WebHID, which Firefox and Safari do not offer. Plug the Ledger in, unlock it, and open the Kadena app on it.
  2. In the Kadena app’s settings on the device, enable blind signing — the Kadena app signs the transaction’s hash, and refuses to do so while blind signing is off.
  3. Click Ledger (WebHID). The browser shows a device picker; choose your Ledger. The page reads your public key from the device and connects the k: account for it.
  4. For every transaction, look at the device — it asks you to approve the signature. The page says “Sent to your Ledger — look at the device” while it waits. If the device sleeps or you leave the Kadena app, reconnect on the page and try again.
The browser's device picker on smartpacts.io listing a paired Ledger Nano S Plus The Ledger device screen asking to accept risk and approve the signature The Kadena app's setting on the device: blind sign enabled

Linx and other mobile wallets (WalletConnect)

  1. Click Mobile wallet (WalletConnect). A QR code appears.
  2. On the phone, open Linx, use its scan function, and scan the code. Make sure the Kadena account you want is the active one in Linx. Approve the connection; the page shows your account within a few seconds.
  3. Already reading this page on the phone that holds the wallet? Use Open in your wallet under the QR code instead of scanning, or Copy link and paste it into the wallet.
  4. Each transaction appears in Linx as a signing request — approve it there. The page says “Sent to your phone — open the wallet app” while it waits, for up to three minutes. Declining shows “Signing declined on your phone”.
  5. Disconnect on the page also ends the session in the wallet. Reloading the page ends the connection too (nothing about it is kept in the browser) — just scan again.

Other wallets that support WalletConnect on Kadena are expected to work the same way, but only Linx has been tested on the sandbox.

The page's WalletConnect QR panel waiting for a mobile wallet to scan it Linx on the phone showing the pairing request: connect to Smart Pacts, with what the site can and cannot do Linx on the phone showing the transaction request for the buy: 0.001 KDA with the estimated fee

On the holder page: send, move, vote, claim

The holder page connected through Ecko: SPT and KDA balances summed across chains A paused move of 0.1 SPT from chain 0 to chain 2: the page remembers it and the resume flow is running

If something goes wrong

Every refusal is explained in the Activity box at the bottom of the page. The ones you are most likely to meet:

The page says It means
EckoWallet is on “…” — select the mainnet01 network The extension is on another network. Switch it, then reconnect.
Zelcore not reachable The Zelcore app is not open or not logged in on this computer.
This browser has no WebHID Ledger needs Chrome, Edge or Brave.
Ledger did not sign (rejected on device, or blind signing disabled) Enable blind signing in the Kadena app on the device, or approve on the device.
No wallet approved the connection within 5 minutes The QR code expired. Click the button again for a fresh one.
The wallet connected for a different network The mobile wallet’s active account is not on Kadena mainnet. Switch it and scan again.
Not enough KDA … on chain 0 Fund the connected account on chain 0 before buying.
The credit leg is paid on chain N, and this account has no KDA there Fund the destination chain before moving.
Move paused on the way to chain N — nothing is lost The debit landed; press Resume paused move once the destination is funded.

Nothing on these pages can spend from your account without a signature you approved in your wallet, and nothing is submitted unless it is exactly the transaction the page asked for.