Skip to main content
The Sundial testnet is a safe environment for exploring Bitcoin-native yield without risking real funds. It issues testnet sBTC, Sundial’s synthetic BTC token on the Sundial L2, through a free faucet, and runs the full dashboard experience against Bitcoin’s testnet3 network. Nothing you do here touches real BTC, ADA, or money.
Testnet tokens have no monetary value. Do not buy, sell, or trade them as if they did. Keep all testnet wallets and seed phrases completely separate from any wallet that holds real assets. Never enter a real seed phrase into a testnet flow.

Supported wallets

You need a UTXO-compatible Cardano wallet browser extension set to the testnet network. All of the wallets below implement the CIP-30 standard that the Sundial faucet page and L2 rely on. You only need one. Install it as a browser extension, create or restore a wallet inside it, and continue below.
A separate Bitcoin wallet for the testnet dashboard is optional. You do not need one to claim faucet sBTC. Bitcoin wallet setup is covered in the Explore the Dashboard section below.

Claiming testnet sBTC from the faucet

The faucet at sundialprotocol.com/testnet/faucet distributes free testnet sBTC to any valid testnet address. No wallet connection or signature is required — you paste your address and click a button.
1

Switch your wallet to testnet

Open your wallet extension and locate the network selector — usually in Settings or displayed as a network name in the top bar. Switch from Mainnet to Testnet or Preprod. Every wallet listed above supports this, though the exact menu label varies.Once switched, open the Receive screen and copy your payment address. A testnet address always begins with addr_test1. If your address starts with addr1, your wallet is still on Mainnet — switch networks and copy a fresh address.
2

Submit your address to the faucet

  1. Go to sundialprotocol.com/testnet/faucet.
  2. Paste your addr_test1… address into the Sundial testnet address field.
  3. Click Request testnet sBTC.
On success you’ll see a confirmation with four pieces of information:
3

Confirm the balance in your wallet

Refresh your wallet extension (still on Testnet/Preprod) — the testnet sBTC grant should appear in your balance. Because this balance lives on Sundial’s L2 rather than on the Cardano settlement L1, it will not appear on standard Cardano block explorers. Your wallet extension and the faucet confirmation screen are the authoritative sources during the testnet phase.

Troubleshooting faucet errors

If your claim doesn’t succeed, the faucet page displays a specific reason. Use the table below to diagnose and fix the issue. Address-related errors — invalid format, wrong network, no payment credential, or a script address — all have the same fix: paste a normal receive address copied from a wallet that is in testnet mode, not a stake address, script address, or mainnet address.

Testnet network details

You do not need to call the node RPC directly to use the faucet. The faucet web page handles the claim submission on your behalf using a server-side credential, so claims must go through the web page rather than a direct API call.

Explore the testnet dashboard

Sundial’s dashboard gives you a preview of the full Bitcoin-yield product: connecting a wallet, depositing assets, and tracking positions. On testnet, the dashboard runs against Bitcoin’s testnet3 network using a separate Bitcoin wallet connected through the page’s Connect Wallet button.
The dashboard is a test-only preview. Transactions and balances there are simulated for demonstration purposes. Make sure any Bitcoin wallet you connect is set to testnet3, and never send real BTC to a testnet address.
This is a separate flow from claiming faucet sBTC — you can use the faucet on its own without ever connecting a Bitcoin wallet to the dashboard.

The midgard CLI tool

Sending testnet sBTC to another address requires talking to the Sundial L2 node directly. Your wallet extension’s built-in Send button only knows about the settlement L1, not the Sundial L2. The midgard command-line tool handles this for you without any programming required.

Install and build

From a checkout of the sundial-monorepo repository:
Every command below uses node dist/bin.js <command>. The same binary is installable globally as midgard via the package’s bin field. By default, commands connect to http://localhost:3000 — use --endpoint to point at the public testnet node or any other instance.

Create a wallet

This generates a fresh keypair and prints its addr_test1… address — the same format used in the browser-wallet faucet flow. The private key is stored locally in demo/midgard-manager/config/wallets/default.json, which is git-ignored. Treat this wallet as test-only; never use it for real assets.

Import an existing wallet

Use wallet import to register a keypair you already have instead of generating a new one.

List wallets

Check a balance

Before funding, the balance is genuinely zero:
After a faucet claim lands:

Send tokens

The --amount flag is in sBTC, not lovelace. Signing uses the locally stored private key — this is the raw-private-key path intended for the terminal, not the CIP-30 browser-wallet flow.
If you try to send before funding the wallet, the CLI will return a coin-selection error telling you the wallet doesn’t have enough funds. Fund the address via the faucet first, then retry.

Look up a transaction

A transaction is not immediately visible after send — the node queues it for processing, and a background worker validates and includes it shortly after. If you see “Not found” for a hash you just sent, wait a few seconds and try again.

Check node status

Run node-status first whenever send or wallet balance can’t connect. A node can be live (the process is running) but not ready (still completing startup). The status output identifies which subsystem is failing so you know whether to wait or escalate.

CLI command reference

Generates a fresh Ed25519 keypair and saves it under the given name. Prints the new addr_test1… address and private key.
Registers an existing Ed25519 private key under the given name without generating a new keypair.
Displays all saved wallets with their names and addr_test1… addresses.
Queries the node for the sBTC balance and UTxO count of the named wallet.
Signs and submits an L2 transfer using the named wallet’s stored private key. Amount is in sBTC.
Looks up a transaction by its hex hash. Returns the transaction details or a “Not found” message if it hasn’t been processed yet.
Checks whether the target node is live and ready. Reports any failing subsystems so you know whether to wait or escalate. Defaults to http://localhost:3000 if --endpoint is omitted.

Safety reminders

Keep these rules in mind throughout your testnet session:
  • Testnet sBTC and Bitcoin testnet3 coins have no monetary value. Do not buy, sell, or treat them as real assets.
  • Use a dedicated testnet wallet. Never import or use a seed phrase that controls real funds in a testnet flow.
  • The midgard CLI stores private keys in plaintext at demo/midgard-manager/config/wallets/default.json. This is fine for test-only wallets; treat it as you would any unencrypted credential file.
  • If the faucet or dashboard behaves unexpectedly, that’s valuable testnet feedback. Report it to the Sundial team rather than assuming you’ve done something wrong.