Skip to content

fix: sbtc testnet#2562

Open
nick-stacks wants to merge 1 commit intomainfrom
fix/sbtc-balance-testnet
Open

fix: sbtc testnet#2562
nick-stacks wants to merge 1 commit intomainfrom
fix/sbtc-balance-testnet

Conversation

@nick-stacks
Copy link
Copy Markdown
Contributor

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

Fixes sbtc issues on testnet
sbtc navbar link went to the mainnet sbtc page
sbtc testnet balances were 0
sbtc token page showed the token as unverified

Issue ticket number and link

Checklist:

  • I have performed a self-review of my code.
  • I have tested the change on desktop and mobile.
  • I have added thorough tests where applicable.
  • I've added analytics and error logging where applicable.

Screenshots (if appropriate):

@vercel
Copy link
Copy Markdown

vercel bot commented Oct 21, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stacks-labs-explorer Ready Ready Preview, Comment Feb 10, 2026 6:03pm

Request Review

heidar-stacks
heidar-stacks previously approved these changes Feb 9, 2026
heidar-stacks
heidar-stacks previously approved these changes Feb 9, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Feb 9, 2026

Deployment failed with the following error:

Creating the Deployment Timed Out.

export const SBTC_TOKEN_ASSET_ID_TESTNET =
'ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token::sbtc-token';

export const SBTC_DEPOSIT_CONTRACT_ID_MAINNET = 'SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this have the .sbtc-deposit modifier like SBTC_DEPOSIT_CONTRACT_ID_TESTNET below?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cylewitruk Thanks for flagging this, I pushed a fixed. Could you confirm the addresses used for sBtc here are correct?

Copy link
Copy Markdown

@matteojug-stacks matteojug-stacks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM in general -- I didn't see anything strange, but I'm not familiar with the codebase nor I'm going to nitpick.

The testnet address used is the one from Hiro's faucet, which seems the best one at the moment.

Copy link
Copy Markdown

@djordon djordon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the address listed here for testnet sBTC, ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT, is the one that Hiro deployed. This is not the same one that the sBTC team has deployed, which is from SN69P7RZRKK8ERQCCABHT2JWKB2S4DHH9H74231T. There are some notable differences between the two:

  1. At the moment, it's much easier to use the Hiro faucet for testnet sBTC because it is fast and usually works without issue. I just tried it though and I think it failed.
  2. The sBTC teams testnet sBTC is harder to obtain. At the moment, the user needs to acquire sBTC and then go over the testnet bridge. This is harder to do because getting testnet BTC is buggy (the sBTC team doesn’t maintain that, Hiro did and now Stacks Labs does), and even bridging can be challenging because of wallet bugs and an issues with testnet mempool and such. It’s a mess. However we can change this if we want.
  3. Hiro’s old deployment does not include the full suite of smart contracts. They deployed the token, registry, and deposit smart contracts, leaving out the “governance/key-rotation” and withdrawal smart contracts. That makes sense given the constraints, but it would be nice to have the withdrawal smart contract even on testnet, which was shipped in the sBTC team’s deployment. This is probably easy to can fix right now though.
  4. In the not too distant future, it would be nice to have better integration with the BTC side of things even on testnet. This is to allow testing of any functionality that people may have where there is an interaction of bitcoin, stacks, and sBTC. So slight preference on using the sBTC team’s testnet deployment. The downside to this is that we need to fix all of the issues mentioned in (2).
  5. Leather treated the sBTC team’s token as the “canonical” one. I’m not sure if that is still the case, but one looks more official than the other.

I'm not sure where this leaves us. We'll need to debate this offline.

export const SBTC_TOKEN_CONTRACT_ID_MAINNET =
'SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token';
export const SBTC_TOKEN_CONTRACT_ID_TESTNET =
'ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this one is "correct".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants