PayLinkr - sBTC Payment Solution

Inspiration

Bitcoin is one of the most trusted stores of value in the world, yet it's notoriously hard to use for everyday transactions. As DeFi grows on Bitcoin through sBTC and the Stacks ecosystem, we saw an opportunity to make Bitcoin-native payments as easy as sending a link or QR code.

We were inspired by:

  • The simplicity of platforms like PayPal and Paystack
  • The power of sBTC to bring programmability to Bitcoin
  • The friction users face in sharing wallet addresses and verifying payments manually

What We Built

PayLinkr is a smart contract-based payment link system that enables both individuals and merchants to generate, share, and track Bitcoin payment requests via sBTC.

There are two user flows:

  1. Peer-to-peer: A user creates a payment link for a specific amount. The recipient clicks the link and pays with sBTC.
  2. Merchant flow: A business generates a payment link (or embeddable widget) that customers can use to pay in sBTC, tracked in real time.

Each payment request is stored on-chain, making it verifiable and secure, and can optionally expire or be customized.

What We Learned

  • How sBTC brings true programmability to Bitcoin via Stacks
  • Writing smart contracts in Clarity with strict post-condition validation
  • Building a React + Node.js frontend/backend that interacts with smart contracts securely
  • Handling payment link encoding, metadata, and routing logic
  • The importance of good UX when abstracting crypto from non-technical users

How We Built It

  • Frontend: React + TailwindCSS (Vite-powered), WalletKit for Stacks wallet connection
  • Backend: Node.js (Express) to manage shortlinks, generate off-chain metadata, and log analytics (optional for hackathon scope)
  • Smart Contract: Clarity contract deployed on the Stacks testnet to store and validate payment requests
  • sBTC Integration: Using Stacks mainnet/testnet wallets and sBTC asset to transfer value

🧗 Challenges We Faced

  • Designing a secure and minimal smart contract that’s upgrade-safe
  • Abstracting blockchain complexity for users unfamiliar with DeFi
  • Ensuring payment links are unique, unforgeable, and correctly resolved
  • Working within the limited hackathon time frame while balancing core features vs. polish
  • Testing sBTC payments due to network syncing and faucet constraints

We're proud of what we’ve built and see this as a first step toward making Bitcoin payments more accessible, programmable, and useful in the real world.

Share this project:

Updates