Draft: Wallet Recognition Standard for Taproot Token (TSB-P)
This pull request introduces a new Bitcoin Improvement Proposal (BIP):
Programmable Bitcoin Token Standard (PBTS)
PBTS provides a Layer 1 token standard leveraging Bitcoin Script and Taproot to enable the creation, transfer, and verification of native programmable tokens directly on Bitcoin. It introduces structured programmability without requiring changes to Bitcoin’s consensus rules.
Key Highlights:
- Layer 1 Implementation: Tokens are fully validated and transferred on Bitcoin's base layer without external dependencies.
- Taproot Optimized: Minimal impact on scalability, with optimized transaction size and fees.
- Structured Programmability: Enables predefined execution paths, such as vesting contracts, milestone-based escrows, and oracle integration.
Full details are available in the proposed BIP markdown file:
- bip-pbts.md
Feedback, suggestions, and discussion are welcome.
As I read it, this proposal is either a client-side validation scheme or requires a consensus change (or both), while claiming to be neither. The latter contradiction makes the comparison with existing schemes seem skewed. Especially, it is not at all obvious why this n-th standard for tokens is supposed to obsolete all others.
This proposal should be improved to clarify what it is trying to achieve and how it is achieving that. There seems to be an underlying misunderstanding either about how consensus works or what mechanisms are necessary to achieve enforcement and validation as described in this document.
I would appreciate it if future responses to questions were more to the point. The prior responses mostly repeat claims from the proposal, but barely address the main gist of my questions. Just because other networks have allowed themselves to be fully cannibalized by tokenization and the ensuing speculation and gambling, it is by no means obvious to me how tokens improve Bitcoin.
Thank you for your thoughtful feedback. I appreciate your concerns and will address them directly:
Regarding enforcement without consensus changes: TBS uses standard Bitcoin Script to enforce token rules. Token supply is maintained through transaction structure - when tokens are transferred, the transaction must spend existing token UTXOs and create outputs with identical token commitments where input and output amounts match exactly. This conservation is enforced through Bitcoin's existing UTXO model and script validation.
On the apparent contradiction: You're right that TBS requires compatible wallet software to create valid token transactions (similar to multisig). However, unlike pure client-side validation, the token rules are enforced directly through Bitcoin's consensus mechanisms when validating scripts - any node can verify token transactions without external systems. On comparison with other standards:
I don't claim TBS would necessarily obsolete all others - different approaches have different tradeoffs. The goal is to offer a standard that minimizes blockchain bloat and aligns with Bitcoin's security model. On improving Bitcoin:
I understand your concern about tokenization's effects on other networks. My observation is simply that token activity is already happening on Bitcoin, and a well-designed standard might help reduce negative externalities like excessive data storage. I've edited my previous replies to be more direct and on-point. I apologize for my lengthy earlier responses. I'm fairly new to this process and would genuinely appreciate your guidance on how to improve this proposal.
If you have any further questions, I would be happy to answer them.
Tend to suggest this PR be closed per discussions above (e.g. among others in https://github.com/bitcoin/bips/pull/1787#pullrequestreview-2692740268 and https://github.com/bitcoin/bips/pull/1787#discussion_r1991802274) as out-of-scope, perhaps technically unsound, and not proposed beforehand on the bitcoin-dev mailing list.
Given that the Specification does not appear to achieve what the proposal’s Abstract promises and there has been no response to the substantial review in over four weeks, I am going to close this PR. Please let us know if you are still working on this so we can reopen it, or open another PR after a new version of your idea has been presented to the mailing list.
I’m currently working on revisions and expect to have them ready soon. I’ll post an updated version that addresses the feedback once it’s finalized. Appreciate your patience, and I’ll follow up shortly.
On Mon, Apr 14, 2025 at 5:34 PM murchandamus @.***> wrote:
Given that the Specification does not appear to achieve what the proposal’s Abstract promises and there has been no response to the substantial review in over four weeks, I am going to close this PR. Please let us know if you are still working on this so we can reopen it, or open another PR after a new version of your idea has been presented to the mailing list.
— Reply to this email directly, view it on GitHub https://github.com/bitcoin/bips/pull/1787#issuecomment-2803078199, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQZWIU3I2XQYVA6SHE5MX32ZQSVZAVCNFSM6AAAAABYTQILQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBTGA3TQMJZHE . You are receiving this because you authored the thread.Message ID: @.***> murchandamus left a comment (bitcoin/bips#1787) https://github.com/bitcoin/bips/pull/1787#issuecomment-2803078199
Given that the Specification does not appear to achieve what the proposal’s Abstract promises and there has been no response to the substantial review in over four weeks, I am going to close this PR. Please let us know if you are still working on this so we can reopen it, or open another PR after a new version of your idea has been presented to the mailing list.
— Reply to this email directly, view it on GitHub https://github.com/bitcoin/bips/pull/1787#issuecomment-2803078199, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQZWIU3I2XQYVA6SHE5MX32ZQSVZAVCNFSM6AAAAABYTQILQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBTGA3TQMJZHE . You are receiving this because you authored the thread.Message ID: @.***>
Okay, I reopened this pull request
Thank you
On Tue, Apr 15, 2025 at 1:54 PM murchandamus @.***> wrote:
Okay, I reopened this pull request
— Reply to this email directly, view it on GitHub https://github.com/bitcoin/bips/pull/1787#issuecomment-2807030705, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQZWISQ4TYFU7DN3G4ZJU32ZVBVXAVCNFSM6AAAAABYTQILQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBXGAZTANZQGU . You are receiving this because you authored the thread.Message ID: @.***> murchandamus left a comment (bitcoin/bips#1787) https://github.com/bitcoin/bips/pull/1787#issuecomment-2807030705
Okay, I reopened this pull request
— Reply to this email directly, view it on GitHub https://github.com/bitcoin/bips/pull/1787#issuecomment-2807030705, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQZWISQ4TYFU7DN3G4ZJU32ZVBVXAVCNFSM6AAAAABYTQILQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBXGAZTANZQGU . You are receiving this because you authored the thread.Message ID: @.***>
Hi everyone,
First, I just want to say thank you very much to everyone who took the time to review, ask questions, and challenge the original version of my proposal. I truly appreciate all the advice and critical feedback. It helped me realize many important points I had overlooked, and it gave me the opportunity to dive deeper, refine my thinking, and improve both the technical design and my understanding of Bitcoin’s principles.
I’m sincerely grateful for the patience, the detailed technical explanations, and for pushing me to think more clearly.
I would especially like to thank @murchandamus — your detailed feedback, questions, and explanations helped me significantly improve the proposal. I truly appreciate the time and effort you put into providing such thorough and technical feedback.
I’d like to respond point-by-point to the key concerns raised previously:
-
Enforcement vs Client-side Validation: I now fully recognize that my earlier PBTS (now renamed TSB-P) proposal incorrectly implied that token conservation could be enforced on-chain without consensus changes. That was a misunderstanding on my part. The updated TSB-P is explicitly a wallet recognition standard only — similar to BIP39 (seed phrases) or BIP21 (payment URIs). No claims are made about token enforcement by Bitcoin nodes; it is purely a voluntary pattern recognized at the wallet level.
-
Use of OP_CAT and Transaction Introspection: I now understand that OP_CAT is not available in Bitcoin Script today, and that transaction introspection is not possible without a consensus change like covenants. The updated TSB-P proposal completely avoids OP_CAT, introspection, or any claims of enforcing token conservation. It simply standardizes a Taproot leaf script format for wallet display purposes.
-
Mailing List Submission: I realize now that I should have posted the early draft to the bitcoin-dev mailing list first. I would like to kindly ask: 👉 Would it be appropriate for me to now post the updated TSB-P draft there for community feedback before submitting an updated PR here? If yes, I would be very happy to do so and follow any recommended guidelines or suggestions you have.
-
Scope Clarification: Based on your feedback, I’ve made sure that the new TSB-P proposal does not claim to "improve Bitcoin" at the protocol level. It aims to improve wallet interoperability only — no consensus changes, no protocol modifications, no on-chain token rules — simply a way for wallets to recognize token-like scripts if they choose to.
Additional Notes:
I have already updated the PR branch with the new TSB-P version based on the feedback.
I am still actively working on refinements and would love to continue improving it with more input.
I truly welcome any further comments, critiques, or suggestions to help make this proposal stronger and more aligned with Bitcoin’s philosophy.
Once again, I am very thankful for the opportunity to learn from this process, and I deeply appreciate the time and energy the reviewers have invested.
I look forward to continuing to improve based on your guidance and hope to eventually contribute something valuable back to the Bitcoin ecosystem.
Please let me know how you'd prefer me to proceed — I’m ready to post to the mailing list if that would be helpful.
Thank you again! 🙏
— Gobi Shanthan
Thanks again for all the feedback, @murchandamus — I'm working on a cleanup of the BIP and will be pushing an updated version soon. I'm implementing the changes you suggested, along with a few small adjustments of my own.
Hi @GobiShanthan, are you still working on this? If not, feel free to close it.
Hi, yes — I'm still actively working on it and preparing some demos. I’ll share an update with you soon. Thanks for checking in!
I’m closing this for now, as this document currently does not meet our baseline expectations regarding technical soundness, clarity, and completeness. I appreciate the effort invested and encourage you to review the guidelines for BIP Authors (BIP 2, BIP 3), other BIPs proposing features of similar magnitude, and the mentioned competing standards before considering a revised submission that addresses the above review feedback.
Hi, I am currently reviewing the bips as to best address the issues before I make any changes.
On Fri, Aug 1, 2025 at 7:38 PM murchandamus @.***> wrote:
murchandamus left a comment (bitcoin/bips#1787) https://github.com/bitcoin/bips/pull/1787#issuecomment-3146010887
I’m closing this for now, as this document currently does not meet our baseline expectations regarding technical soundness, clarity, and completeness. I appreciate the effort invested and encourage you to review the guidelines for BIP Authors (BIP 2, BIP 3), other BIPs proposing features of similar magnitude, and the mentioned competing standards before considering a revised submission.
— Reply to this email directly, view it on GitHub https://github.com/bitcoin/bips/pull/1787#issuecomment-3146010887, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQZWISR3ME745VVM6Q6QJT3LP253AVCNFSM6AAAAABYTQILQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCNBWGAYTAOBYG4 . You are receiving this because you were mentioned.Message ID: @.***>