Stacks
How Rising Tide Protocol runs on Stacks - Clarity contracts, Chainhooks, addresses, networks, and the wrapped Bitcoin it settles in.
Stacks is the chain Rising Tide runs on today, and currently the only one. Everything on this page is true of Stacks and is not portable: the interface pages under Concepts, SDK and API describe the protocol, and this section describes one implementation of it.
Stacks is a Bitcoin-secured layer-2 network. Smart products are deployed as Clarity contracts.
Clarity contracts
Each smart product deploys a unique Clarity contract. The contract records:
- Product metadata hash
- Instance ownership (mint/burn/transfer)
- Revenue split recipients and percentages
- Domain-specific state (e.g. bracket results for PREDICTION products)
Contracts are generated from templates and deployed through the protocol API. Creators do not write Clarity directly. See Contract Templates.
Chainhooks
The protocol uses Chainhooks - Stacks event listeners managed by the API server. When a transaction confirms on-chain (deploy, mint, burn, transfer), the corresponding Chainhook fires and syncs the state to the protocol database. Each event is idempotent: the same transaction received twice is a no-op the second time.
See Chainhooks for the event types and How State Syncs for what your app observes between broadcast and confirmation.
Addresses
A Stacks address is c32-encoded and network-prefixed - SP... on mainnet, ST... on testnet. It
is the owner of every instance and the recipient of every split. The protocol's user model keys on
it directly, which is one of the places a second chain would need an address type rather than a
string.
Networks
| Network | Status | API base URL |
|---|---|---|
| Testnet | Active | testnet-api.risingtide.app |
| Mainnet | Planned | api.risingtide.app |
All current development and testing happens on testnet. No mainnet deployments have occurred.
Authentication
Users authenticate with Stacks two ways:
- Privy - embedded wallet creation, no pre-existing wallet required
- BYOW (Bring Your Own Wallet) - connect an existing Stacks wallet
Both produce a Stacks address that owns instances and signs transactions. See User Identity.
Wrapped Bitcoin on this chain
Every chain the protocol could run on carries its own wrapped Bitcoin, and they differ in trust model, not just ticker. This matters more than it looks: the asset a user holds is the same asset by name and by denomination, and the thing standing behind it is not the same at all.
On Stacks that asset is sBTC - a decentralized peg secured by a signer set rather than a single named custodian. A holder redeems back to Bitcoin through the peg. Other chains, if the protocol ever ships on them, would carry custodied wrappers with a named counterparty and a different redemption path.
Two consequences the rest of the estate depends on:
- Consumer copy never makes a backing or custody claim. It says Bitcoin, sats, and you can move it to a wallet only you control - all of which are true of any wrapper. A one-for-one backing claim is true of this peg and not of every peg, so it does not belong in copy that has to survive a migration.
- The user does need to know which wrapper they hold, at the moment they withdraw to self-custody and nowhere else. That is a disclosure at that step in the product, not a docs page.
See Payment Currency for the settlement rules and the gas requirement.
Marketplaces
A marketplace is the chain a smart product lives on - what it has to supply, what it charges, and which facts stop being true the moment there is a second one.
Payment Currency
The currencies a payment can settle in on Stacks - sBTC for collecting, STX for creating, the CurrencyCode values and their decimals.