Bazaar :: Transactions

Overview

When you buy something on a Bazaar storefront, two things happen in sequence: checkout (you pay, bazaar issues a receipt) and delivery (you authenticate, bazaar verifies your receipt and gives you the file). Both steps are designed so that your proof of purchase lives with you — not on a bazaar server.

Checkout

Step 1 — You initiate checkout

You select an item and click purchase. At this point, no payment has been taken. The storefront opens a Stripe payment form for you to enter your card details. Your payment information goes directly to Stripe — the storefront never sees your card number.

You will be asked for your ATProto handle (e.g. @you.bsky.social) if you are not already logged in. This is how your receipt gets sent to the right place.

Step 2 — Payment is confirmed

Once Stripe confirms your payment, the storefront is notified automatically. At this point:

A purchase receipt is written to your ATProto account (your PDS)

For commercial or sync licenses, a consent record is also written, confirming which license terms you agreed to

Your receipt is cryptographically signed by the storefront — it cannot be faked or tampered with. It lives on your ATProto account permanently, not on the storefront's servers. Even if the storefront goes offline, your receipt remains on your account and continues to be verifiable.

Step 3 — You receive a download link

After payment is confirmed, you are returned to the storefront with a download link. The link is valid for 15 minutes. If it expires before you download, you can generate a new one by logging in and visiting your library.

Downloading your purchase

Download links are not permanent URLs. Each time you want to download, the storefront verifies your receipt in real time and issues a fresh link. This verification is fast — typically under a second.

What verification checks

When you request a download, the storefront:

You must be logged in with the same ATProto account you used at checkout. The storefront confirms your account matches the receipt before issuing a link. This is a security measure — it prevents someone else's receipt from being used to access your files, and vice versa.

Your receipt is yours

Your purchase.receipt record is stored on your own ATProto PDS — the same place your ATProto profile and posts live. The storefront wrote it there at checkout and cannot edit or delete it.

This means:

Your purchase history is portable. If you move your ATProto account to a different PDS provider, your receipts move with it.

Your access does not depend on the storefront staying online. As long as your receipt is on your account and the storefront's signing key is published (which it always is), verification works.

You can share proof of purchase with anyone. Your receipt is publicly readable on your ATProto account. Any third party can verify it is genuine without contacting the storefront.