Heirloom runs on Stacks testnet. You will need testnet STX and testnet sBTC to complete this guide. No real funds are at risk.
Prerequisites
Node.js v18+
Required if you plan to run the app locally. Download the LTS release.
Stacks wallet
Leather or Xverse. Install one before continuing — instructions are in step 1 below.
Create your vault
Install a Stacks wallet
Heirloom supports two Stacks wallets. Install one as a browser extension.After installation, create a new wallet and save your seed phrase in a secure location before continuing.
Leather
The original Hiro wallet, now Leather. Available for Chrome and Firefox.
Xverse
Mobile-first wallet with a full browser extension. Available for Chrome.
Get testnet STX from the faucet
You need testnet STX to pay transaction fees on Stacks.
- Open the Hiro testnet faucet.
- Connect your wallet when prompted.
- Click Request STX. You will receive 500 testnet STX within a few seconds.
The faucet enforces a cooldown period between requests. One request is enough to cover all the transactions in this guide.
Get testnet sBTC
sBTC is the Bitcoin-backed SIP-010 token you will deposit into your vault.
- Open the Hiro testnet explorer.
- Search for the sBTC faucet or use the Sandbox to interact with the sBTC token contract at:
- Call the faucet function from your wallet address to receive testnet sBTC.
Open the Heirloom app
The Heirloom frontend runs on Stacks testnet. To start it locally:Then open http://localhost:5173 in your browser.
Connect your wallet
- Click Connect Wallet in the top-right corner of the app.
- Select Leather or Xverse — whichever you installed.
- Approve the connection request in the wallet extension.
Create your vault
Click Create Vault and fill in the vault parameters:
Click Create Vault and confirm the transaction in your wallet. The vault is created by calling Wait for the transaction to confirm on Stacks (roughly 10–15 seconds on testnet).
| Field | Description | Example |
|---|---|---|
| Heartbeat interval | How often you must check in (1–365 days) | 30 days |
| Grace period | How long heirs wait after a missed heartbeat (1–90 days) | 30 days |
| Heir addresses | Up to 10 Stacks addresses | Your test address |
| Percentage splits | Allocations that must total 100% | 100% for one heir |
Splits are stored as basis points internally (100% = 10000 bps). The app handles this conversion for you — enter plain percentages.
create-vault on:Deposit sBTC or USDCx
Once your vault is confirmed, open the Deposit panel from your vault dashboard.
- To deposit sBTC, enter an amount and click Deposit sBTC. This calls
deposit-sbtcon the contract. - To deposit USDCx, enter an amount and click Deposit USDCx. This calls
deposit-usdcxon the contract.
Send your first heartbeat
After depositing, your vault countdown begins. Reset it immediately by sending your first heartbeat.
- From your vault dashboard, click Send Heartbeat.
- Confirm the transaction in your wallet.
heartbeat() on the contract and resets the last-heartbeat timestamp. Your vault is now active.Share your vault with your heirs
Your heirs do not need to do anything now, but they should know:
- Your Stacks address — heirs look up vault status by the owner’s address.
- How to access the app — point them to the Heirloom app URL.
- When to act — after the grace period passes, they navigate to Claim Inheritance, enter your address, and call
claimfor their share.
Each heir claims independently. One heir claiming does not block others. Each claim distributes only that heir’s percentage of the vault balance.
What’s next
Heartbeat mechanism
Understand how the liveness check works and what triggers vault expiry.
Vault lifecycle
Learn the five vault states: active, grace, claimable, distributed, and cancelled.
Heirs and splits
Configure up to 10 beneficiaries with basis-point percentage splits.
Emergency withdrawal
Recover all vault assets to your wallet at any time before distribution.
