scienceOPNet Testnet — Not Real Bitcoin
MyTXO
menu_book

MyTXO Documentation

Technical reference for the MyTXO platform and YOUTXO Protocol.

infoPlatform Overview

MyTXO is a Bitcoin-native social platform where users create permanent digital identities inscribed as Ordinals. There was a golden age when your social identity and music discovery were inseparable. We're bringing it back — permanently, on Bitcoin.

Platform

MyTXO

Consumer-facing social platform

Protocol

YOUTXO

Your Unspent Transaction Output — open Bitcoin identity protocol

Token

$MYTXO

OP_20 governance/utility token on OP_NET (Bitcoin L1)

Domain

mytxo.space

Visit the platform

Brand Pillars

hubOP_NET Smart Contracts

MyTXO runs on OP_NET, a Bitcoin Layer 1 smart contract platform. Three core contracts power on-chain identity, social graph, and content. All contracts are deployed on OP_NET testnet.

badge

MyTXORegistry

On-chain identity

Stores username, display name, bio, avatar inscription ID, CSS customization inscription ID, playlist pointer, and Top 8 friends. The canonical source of truth for profile data.

group

MyTXOSocial

Social graph

Manages friend relationships (send, accept, deny, remove), guestbook signing, likes, and Legend Score computation. All social actions are recorded on-chain.

article

MyTXOContent

Content NFTs

Blurbs (short posts up to 280 characters) and blogs (title plus content hash reference). Content is minted as on-chain tokens. Full blog text is stored off-chain and referenced by hash.

Deployed on OP_NET testnet (Bitcoin L1). Contract calls require a connected wallet and gas costs are paid in testnet sats.

account_balance_walletWallet Integration

MyTXO uses the OP_NET WalletConnect SDK (@btc-vision/walletconnect) to connect wallets. All on-chain actions require a connected wallet.

extension

OP_WALLET Extension

Connect the OP_WALLET browser extension to sign transactions. The extension handles key management and signing for all contract interactions.

verified_user

Wallet-Required Actions

Registration, profile updates, friend requests, guestbook signing, content minting, and likes all require a connected wallet. No on-chain action proceeds without it.

payments

Gas Costs

Gas costs are paid in testnet sats. OP_NET testnet uses a Signet fork; obtain testnet sats from a faucet to interact with contracts.

personProfile System

Wallet-first registration and on-chain profile data. Profiles live at clean URLs and display data stored directly on OP_NET.

app_registration

Wallet-First Registration

New users register at /register. Connect your wallet first; the registration flow creates your on-chain identity via MyTXORegistry.

link

Clean URLs

Profiles are served at mytxo.space/{username}. Usernames are unique and stored on-chain.

storage

On-Chain Profile Data

Display name, bio, avatar inscription ID, CSS inscription ID, and playlist inscription ID are stored on-chain in MyTXORegistry. Updates require a wallet-signed transaction.

music_note

Music Player

The music player loads audio from Ordinals inscriptions. The playlist pointer in the registry points to the inscribed playlist data.

palette

CSS Customization

Profile styling is driven by inscribed CSS files. The CSS inscription ID in the registry references the stylesheet; update the inscription to change your theme.

emoji_events

Legend Score

Computed from social and registry data. Reflects friend count, guestbook activity, likes, and other on-chain engagement. Displayed on profiles.

articleContent Model

Two content types: blurbs (short) and blogs (long-form). Both are minted as on-chain tokens and can appear in the feed.

chat_bubble_outline

Blurbs

Short posts up to 280 characters. Minted as on-chain tokens via MyTXOContent. Each blurb is a distinct token on OP_NET.

menu_book

Blogs

Long-form content. Title and content hash are stored on-chain; full text lives in the database. The on-chain token references the content by hash for integrity.

rss_feed

Publish to Feed

Optional toggle when composing. When enabled, content appears in the on-chain feed and is discoverable by other users.

rss_feedOn-Chain Feed

The feed scans OP_NET blocks for contract events and surfaces activity across the platform.

hub

Event Types

The feed displays:

  • New registrations (MyTXORegistry)
  • Friend acceptances (MyTXOSocial)
  • Guestbook signs (MyTXOSocial)
  • Content mints (MyTXOContent)
schedule

Auto-Refresh

The feed auto-refreshes every 30 seconds to pull new events from OP_NET blocks.

device_hubYOUTXO Protocol v2.0

The YOUTXO Protocol separates concerns across three sat ranges on a single UTXO. Each user gets one UTXO that serves as their entire on-chain identity, from their Creator Card to every piece of content they ever publish.

0-3

Card Range

Creator Card — the user's Bitcoin business card (master assembler, identity, HTML, CSS)

4-19

Feature Range

Profile structure, widgets, feature cards — the presentation/logic layer

20+

Content Range

Raw content data (blurbs, blogs, media) — reinscribed with each new piece of content

Feature cards (sat4-19) are the presentation/logic layer — they contain display code that knows how to render content. Content sats (sat20+) are the data layer — raw JSON payloads reinscribed with each new piece of content. When a user posts a blurb, sat20 is reinscribed with the latest blurb JSON, which includes a previous pointer forming a linked list.

mapSat Allocation Map

Card Range (sat0-3) — Inscribed at account creation

SatNameContent-TypeDescription
sat0Master Assemblertext/htmlPermanent HTML loader. Fetches sat1-3 for card rendering. Never updated.
sat1Core Identityapplication/jsonUsername, displayName, pfp, bio, links, btcAddress. Shared across all features. Updatable.
sat2HTML Structuretext/htmlCanonical Creator Card v1.0 template. LOCKED — same for all cards.
sat3CSS Stylestext/cssVisual styling. Updatable. Editions: default, og-gold, custom.

Feature Range (sat4-19) — Inscribed when features activate

SatNamePhaseDescription
sat4Profile AssemblerPhase 2Full profile page HTML that orchestrates all widgets.
sat5Profile CSSPhase 2Theme/styles for the full profile.
sat6Feature RegistryPhase 2JSON manifest listing active features.
sat7Friends / Top 8MVPDisplay logic for the Top 8 friends widget.
sat8Blurbs Feature CardMVPDisplay logic for rendering blurbs. Fetches data from sat20.
sat9Blogs Feature CardMVPDisplay logic for rendering blogs. Fetches data from sat21.
sat10-19ReservedFutureMusic player, guestbook, gallery, etc.

Content Range (sat20+) — Reinscribed with each new piece of content

SatNameContent-TypeDescription
sat20Blurbs Contentapplication/jsonLatest blurb JSON. Reinscribed per blurb. Linked list via 'previous' field.
sat21Blogs Contentapplication/jsonLatest blog JSON (title + markdown). Reinscribed per blog.
sat22+ReservedFuture content types (media, audio, etc.)

Inscription Costs (Estimated)

Creator Card (sat0-3)~$2.50-5.00
CSS Update (sat3)~$0.75-1.50
Identity Update (sat1)~$0.50-1.00
Activate Blurbs (sat8 + sat20)~$1.50-3.00
Activate Blogs (sat9 + sat21)~$2.00-4.00
New Blurb (sat20 reinscribe)~$0.50-1.00
New Blog (sat21 reinscribe)~$1.00-3.00

trending_upThe Utility Ladder

Progressive value — start with a simple business card for a few dollars, grow into a full on-chain social identity over time. Each level builds on the previous.

1
Updatable Business Card~$3-5

A permanent, styleable identity card on Bitcoin. Update your look anytime.

2
Full On-Chain Profile+$10-20

Your card becomes an interactive page with widgets and customization.

3
On-Chain Widget Features+$1-3 each

Blurbs, blogs, friends, music — each a modular, activatable feature.

4
Platform InteroperabilityOpen standard

YOUTXO identity works across any platform that adopts the protocol.

5
BLiX 3D World IntegrationComing soon

Your inscribed identity enters the BLiX 3D world on Bitmap.

dnsArchitecture

Tech Stack

Next.js16.1.6
React19.2.4
Tailwind CSS4
Prisma6.19.2
Zustand5.0.11
TypeScript5.9.3
Tiptap3.20.0
Recharts3.7.0
ioredis5.9.3
Socket.io4.8.3
AuthX OAuth 2.0 + WebAuthn Passkeys
DatabasePostgreSQL 17
Cache/SessionsRedis 7
ContainersDocker Compose (4 services)
Reverse ProxyCaddy (auto-HTTPS)
Bitcoin APIsmempool.space (UTXOs, fees, broadcast)
Smart ContractsOP_NET (AssemblyScript/WASM on Bitcoin L1)

Container Layout

docker-compose.yml (simplified)
services:
  app:     # mytxo-app — Next.js production build
           # Exposed: 127.0.0.1:8086 -> :3000
  opnet:   # mytxo-opnet — OP_NET smart contract API
           # OP_NET SDK + Subfrost JSON-RPC, :4000
  db:      # mytxo-db — PostgreSQL 17 Alpine
           # Internal network only, persisted volume
  redis:   # mytxo-redis — Redis 7 Alpine
           # Internal network only, persisted volume

# Host Caddy: mytxo.space -> localhost:8086 (auto-SSL)
# mytxo-app calls mytxo-brc20 internally via http://brc20:4000

lockAuthentication

X OAuth 2.0 Flow

  1. User clicks "Sign in with X"
  2. Redirect to X OAuth consent screen (PKCE + state param)
  3. X redirects back with auth code
  4. Backend exchanges code for access + refresh tokens
  5. Fetch user profile (username, bio, avatar)
  6. Existing user: log in, set session. New user: redirect to signup wizard
  7. HTTP-only session cookie stored in Redis (7-day TTL)

Passkey Wallet Flow (PassSeeds)

The passkey wallet follows the PassSeeds approach (reference: github.com/bitbragi/passseeds). WebAuthn PRF extension is used for seed derivation, with a fallback of hashing the P-256 public key from attestation. BIP86 taproot derivation paths produce four addresses: Creator ID, Inscriptions, Payments, and Signing.

PassSeeds Flow

  1. User creates passkey — WebAuthn registration with Face ID, Touch ID, or device PIN
  2. Seed extraction — PRF extension extracts 32-byte seed, or hash of P-256 public key
  3. HD wallet derivation — BIP86 taproot paths: Creator ID, Inscriptions, Payments, Signing
  4. Client-side signing — Every inscription signed locally, keys re-derived from passkey each time

starFeatures

Powerful tools made accessible through intuitive wizards.

music_note

Affordable Audio Inscribing

Inscribe music and audio directly on Bitcoin at accessible prices. Creators permanently preserve their sound alongside their identity.

menu_book

On-Chain Guestbook

Visitors sign your guestbook via wallet connect. Cryptographic signatures verified on-chain — a permanent record of your community.

article

Rich Article Composer

Full rich-text editor for long-form content. Format beautifully, then inscribe permanently on Bitcoin with one click.

public

Cross-Platform Identity

YOUTXO Creator Cards are a plug-and-play identity standard. Any platform can adopt them as an account system.

auto_awesome

Intuitive Wizards

Every inscription flow is guided step-by-step. Zero Bitcoin knowledge required through clear, friendly wizards.

home

Personal Profile Pages

Your permanent home on Bitcoin. Showcasing your Creator Card, blurbs, blogs, Top 8 friends, and more.

starsInscription System

All signing happens in the user's wallet. The backend never holds private keys. PSBTs are constructed client-side, signed by the wallet, and broadcast via mempool.space API.

  1. User fills out form (Creator Card / Blurb / Blog)
  2. Frontend builds inscription payload (JSON, HTML, or CSS)
  3. Frontend requests fee estimation from mempool.space
  4. Frontend constructs PSBT with appropriate UTXOs
  5. PSBT sent to wallet for signing (extension or passkey re-derive)
  6. Broadcast signed tx via mempool.space API
  7. Backend records inscription in DB, feed updated

Structured Properties (tag 17)

Every inscription carries protocol metadata:

--trait "protocol" "youtxo"
--trait "component" "master|identity|card-html|card-css|feature-*|content-*"
--trait "version"  "1.0"        (identity)
--trait "locked"   "true"       (card-html)
--trait "edition"  "default"    (card-css)

codeAPI Reference

Auto-generated from the codebase. Run npm run docs:generate to refresh.

Admin Dashboard

GET/api/admin/content
GET/api/admin/inscriptions
GET/api/admin/presaleStatus breakdown
GET/api/admin/statsBuild daily signup chart data
GET/api/admin/system/healthDatabase health
GET/api/admin/users/[id]Remove sensitive tokens
GET/api/admin/users

Authentication

POST/api/auth/logout
GET/api/auth/me
POST/api/auth/wallet/register
GET/api/auth/x/callbackHelper: redirect or popup-close depending on mode
POST/api/auth/x/completeValidate username format
GET/api/auth/x/loginCheck if this is a popup auth flow

Content

GET/api/blogs/drafts
GET/api/blogsPOST /api/blogs - Create a new blog
POST/api/blogsPOST /api/blogs - Create a new blog
GET/api/blurbsPOST /api/blurbs - Create a new blurb
POST/api/blurbsPOST /api/blurbs - Create a new blurb

Social

GET/api/features
POST/api/features
GET/api/friends
PUT/api/friends

Feed

GET/api/feed
POST/api/feed

Inscriptions

POST/api/inscriptions/confirmPOST /api/inscriptions/confirm - Record completed inscription
POST/api/inscriptions/preparePOST /api/inscriptions/prepare - Prepare inscription payload

Presale

POST/api/presale/broadcastRecords a successfully broadcast presale transaction in the database.
GET/api/presale/currentPresale round data denominated in sats (on-chain authority)
POST/api/presale/purchasePresale purchase — validates cap, calls OP_NET service, creates DB record
POST/api/presale/verifyLook up the participation record

Profile

GET/api/profile/[username]

Users

GET/api/users/checkValidate format
PUT/api/users/me

Wallet

POST/api/wallet/broadcastPOST /api/wallet/broadcast - Broadcast signed transaction
GET/api/wallet/fees

OP_NET Service (Internal :4000)

GET/health
GET/balance/:address
GET/presale/state
POST/presale/construct-tx
POST/presale/broadcast

toll$MYTXO Token

Total Supply

21,000,000,000

Network

Bitcoin (BRC-20)

Platform

Subfrost

Distribution

Micro-Presales10%2.1B tokens
Dutch Auction30%6.3B tokens
Liquidity Pool30%6.3B tokens
Community15%3.15B tokens
Development10%2.1B tokens
Team5%1.05B tokens

Staking & Fee Discounts

StakedFee DiscountVoting Power
100,000 $MYTXO10% off2x
500,000 $MYTXO50% off2x
1,000,000 $MYTXO100% off (zero fees)2x

Maximum 21,000 users can achieve zero fees (1M tokens each = 21B supply).

timelineRoadmap

1A
Creator CardsWeeks 1-2

Bitcoin business cards. On-chain identity via YOUTXO Protocol.

1B
Blurbs & BlogsWeeks 2-4

Content activation. Short-form and long-form on Bitcoin.

1C
Feed + PresaleWeeks 4-6

Global feed, $MYTXO presale round 1, community growth.

2
Profiles + GuestbookMonths 2-3

Cards become profiles. Widget system + guestbooks activate.

3
Audio + SatentsMonths 3-4

Affordable audio inscribing + patent-like documents.

4
Full SocialMonth 4+

Follows, DMs, discovery, mobile apps, full $MYTXO utility.

5
BLiX 3D WorldMonth 6+

YOUTXO identities enter the BLiX 3D world on Bitmap.

paletteDesign System

"MySpace Nostalgia + Clean Modern Structure" — Bold blues, square corners, visible structure, and personality. Verdana for all text provides the authentic MySpace feel with consistent rendering across every device and platform.

Typography

Display / HeadersVerdanaFallback: Arial, sans-serif
Body TextVerdanaFallback: Arial, sans-serif

Color Palette

BG Deepest

#0A1628

Blue Darkest

#003366

Blue Dark

#004080

Blue Primary

#0066CC

Blue Light

#3399FF

Blue Lightest

#CCE5FF

BG Page

#D4D4D4

BG Card

#FFFFFF

Gold

#FFD700

Orange

#FF6600

Green

#00CC00

BTC Orange

#F7931A

Key Design Rules

  1. ZERO border radius on structural elements (cards, buttons, inputs)
  2. Visible 1-2px solid borders on cards, not box-shadows
  3. Deep blue sticky header with subtle glass effect
  4. Light grey page background (#D4D4D4)
  5. White card backgrounds with solid borders
  6. Glass effects ONLY on header, modals, tooltips, toasts
  7. Material Icons (Classic Outlined) for all icons — no emojis
  8. Square buttons with visible borders and bold text
  9. Gold accents for Bitcoin/premium elements
  10. Dense information layout, personality over empty minimalism
  11. Retro hover effects: color shifts, underlines (not subtle opacity fades)
  12. Verdana for all text (authentic MySpace font stack)