CapStacks is your personal Hat collection tracker. Here’s how everything works.
Tap the + button on the Stacks screen to Quick Add a Hat. The flow has three steps:
Take a photo or pick one from your library. You can skip this and add photos later from the Hat’s detail page.
Choose a league and team (or a lifestyle brand / Clink Room design), then pick the model style (59FIFTY, 9FIFTY, etc.).
Set the size type and your size, choose a visor curve (if applicable), choose a condition grade, and toggle any quick Flags. Tap Save — your Hat is in the collection.
From the Hat’s detail page you can fill in colors, logos, patches, features, ownership info, Tags, and notes.
Five grades, from pristine to well-loved:
Condition updates automatically as you log wears — first wear bumps Deadstock to Like New, second bumps Like New to Lightly Worn, and 10 wears updates to Worn. These happen silently.
Note: a Hat can’t be Deadstock if the size sticker/tag is off. Toggling the sticker off while a Hat is Deadstock will automatically bump it to Like New.
For Hats with a visor, Deadstock also requires the visor curve to be set to Flat — a Deadstock Hat has a flat, unbroken brim. Selecting a curved visor while a Hat is Deadstock will automatically bump it to Like New. (This rule doesn’t apply to models without a visor, like beanies.)
Flags let you mark Hats for quick filtering and to signal availability to others.
Only Favorites, Grails, For Sale, For Trade, and Wantlist counts are shown publicly. Only you see your full collection.
A Hat must have at least one photo before you can mark it For Sale or For Trade.
On any Hat you have listed for sale or trade, tap “📤 Share Listing to Instagram” from the Hat’s detail page or from the Listings edit sheet in your Marketplace tab. A share card preview appears showing your Hat photo and listing details. Tap Share to open the iOS share sheet. Your listing link is copied to your clipboard automatically — paste it into your post or story caption so buyers can tap straight through.
Listing a Hat For Sale makes it visible to buyers in Hunt results, but buyers can’t complete a purchase until you connect a Stripe account. Without it, your Hat shows as available but the checkout is locked.
Go to your Profile tab and tap “Set Up Payments →”. You’ll see a guide explaining what Stripe will ask, then you’ll be redirected to complete the Stripe onboarding form. Once done, you’ll be returned to the app automatically.
Stripe — not us — collects and stores your identity information directly. We never see or store your SSN, date of birth, or bank details. This is the same verification process used by eBay, Poshmark, Mercari, and other marketplace platforms.
Your Profile will show a “✓ Active” payments status. Buyers can now purchase your listed Hats. Tap “Manage Payments →” on your Profile any time to view your Stripe dashboard, check pending payouts, or update your banking info.
Once your Stripe account is connected, a checkmark badge appears next to your name on your public profile and on all your listings. The badge starts green and changes color as you complete transactions — Bronze (10), Silver (25), Gold (50), Platinum (100), Diamond (250).
If a listing is open to offers, buyers can send a dollar amount offer from the Hat’s detail screen. As a seller, you can accept, decline, or counter with a different amount. The back-and-forth can continue until one side accepts or opts out. Accepted offers proceed straight to Stripe checkout.
When you accept an offer, all other open negotiations for that Hat — both sale offers and trade offers — are automatically cancelled and those users are notified. No manual cleanup needed.
Sale offers expire automatically after 48 hours if no response is given. We email you when one expires, and the offer moves to Cancelled in your Offers list.
When a buyer completes checkout, every other open negotiation for that Hat closes automatically — other sale offers are declined, and any trade offers involving that Hat are cancelled. Everyone affected is notified. No manual cleanup needed.
You’ll get an order notification. Open the Marketplace tab in your Profile, go to Orders → Shipping Out, tap the order, and tap “Generate Shipping Label →” to create a prepaid USPS label. Print it, pack the Hat in a box no larger than 8” × 8” × 6”, and before you seal the box take a photo of the Hat inside — the app will prompt you. This pack photo is saved to your order, the buyer can see it, and it’s your evidence if a buyer ever reports an Issue about condition. Missed it? You can add or replace it from the order until USPS scans the package. Once sealed, attach the label and drop it off at any USPS location. CapStacks notifies the buyer once tracking shows movement.
Your payout is released when USPS scans the package into their system (the acceptance scan) — not when you generate the label. Stripe typically deposits funds to your bank account within 2–7 business days after that scan.
Need shipping supplies? Visit our Amazon list for boxes and tape. As an Amazon Associate, CapStacks earns from qualifying purchases.
At the bottom of any listing page, a “Request from Seller” button lets you ask for more information. Tapping it opens a sheet with two options:
You can request both at the same time — select Complete Details and pick photo areas, then tap Send Request. One notification goes to the seller covering both asks.
When a buyer requests photos, you’ll get a notification. Tapping it opens the photo request screen, where you’ll see which areas were requested. Tap any area to upload a photo from your camera roll or take a new one. Once you’ve added photos for all requested areas, tap Submit to send them. The buyer will be notified that your photos are ready to view.
If the request also asked you to complete your listing details, a banner at the top of the screen will link you directly to the listing’s edit form.
Hat-for-Hat — propose a trade by picking one of your For Trade Hats to offer in return. Counter back and forth until both sides agree or someone opts out. Trade offers expire after 7 days.
Multiple people can negotiate for the same Hat at the same time. When you accept a trade offer, all other open negotiations for both Hats in the trade — other trade offers and any pending sale offers — are automatically cancelled and those users are notified. That includes the Hat you offered: once it is committed to a trade, its own pending offers close too.
You can only have one active trade negotiation per Hat with any given user. If you’ve already started a trade with someone for a specific Hat, you’ll see your existing offer and won’t be able to start a duplicate until it’s resolved.
Completing a trade costs each side $13.90 — see Fees at the bottom of this section for the breakdown.
Your Profile tab has a “Marketplace →” button that opens a unified screen with three tabs: Offers (active sale and trade negotiations), Orders (Coming In and Shipping Out), and Listings (all your Hats currently for sale or trade). Tap any listing to edit its price, notes, or trade terms, or remove it from the marketplace.
If you’re away and can’t ship, turn on Vacation Mode in Profile → Account. Your Hats stay visible in Hunt, Explore, and your public profile — but the Buy Now, Make an Offer, and Trade For This Hat buttons are hidden so buyers can’t initiate orders while you’re out.
You can also schedule it in advance — tap “Schedule” to set a start and end date and Vacation Mode will turn on and off automatically. If you’re already on vacation, tap “Edit Schedule” to add an end date so it clears itself when you’re back.
Turn it off manually at any time and everything returns to normal immediately. No Listings are removed and no Offers are cancelled.
A red badge on the Profile tab icon means you have unread notifications — new offers, counters, accepted/declined responses, order updates, Issue updates, and more. Tap the Profile tab, then “Messages →” to open the full inbox.
If a Hat arrives and it isn’t as described, is damaged, is the wrong item, or the order shows delivered but nothing turned up, tap “Report an Issue” on the order in Marketplace → Orders → Coming In, or “Report an Issue →” on the Hat’s detail page once it’s in your collection. Choose a reason (Not received / Not as described / Wrong item / Damaged / Other) and add any notes that explain the problem. You have 14 days from delivery to file a report.
Trades work the same way: either trader can report an Issue on the Hat they received.
If a package never arrives at all, use “Report a Missing Package” on the same order. That button appears 7 days after the carrier accepts the package and stays available for 45 days. The wait is deliberate — most slow packages turn up in that first week, and the carrier will not open a loss investigation any sooner.
We review reports manually and make a one-time final decision: we’ll either issue you a refund or close the case in the seller’s favor. If we refund you, the money goes back to your original payment method and you keep the Hat. No return required, no back-and-forth — one decision.
One exception to the manual review, for sales: the seller has 48 hours to respond with their side. If that window passes with no response, your refund is issued automatically. Trade Issues are always reviewed by hand.
Every Issue you’ve filed or received is listed under Profile → “Issues →” (the row appears once you have one), with its status and a timeline. Tap an Issue to see the details and any response, or tap “Contact Support” to email us at disputes@capstacksapp.com with the Issue ID filled in.
If you’re not satisfied with our decision, you can contact your card issuer directly — but please try us first. We can usually resolve things faster than a bank chargeback, and it keeps things simple for everyone.
For sellers: before sealing the box, photograph the Hat inside the package. If a buyer reports a problem after delivery, that photo is your best evidence that the Hat matched your listing. The buyer (or your trade partner) can see it too. Accurate condition grades, honest photos, and complete listing details are your protection. If we side with the buyer, the payout is reversed.
Sellers also have a deadline: you get 48 hours to respond once a buyer reports an Issue. Miss that window and the refund is issued automatically — no review, and your payout is reversed. We notify you as soon as a report is filed — open the Issue and either tap “Accept Refund” or “Contest This Report” to give your side with photos. Respond even if you disagree. On a trade, the other trader can tap “Respond to This Report”; there is no automatic refund.
Each side pays a flat $13.90 — a $3.95 platform fee to coordinate the verified two-way swap, plus a $9.95 shipping label (with insurance) that CapStacks generates for each trader. Both sides are protected, and your address isn’t released to the other Collector until both have paid and connected their Stripe accounts.
CapStacks charges 9% of your listing price when a sale completes. No listing fees, no monthly charges.
Buyers pay a flat $9.95 shipping and handling fee. That covers the prepaid USPS label plus shipping insurance — it goes straight to CapStacks and doesn’t affect your payout. You receive exactly 91% of your listing price.
CapStacks tracks any Hat — not just baseball caps. Beanies, bucket hats, camp caps, and anything that doesn’t fit a standard model are all fair game.
When adding a Hat, choose the model that best matches. “Beanie” covers knit beanies and toques. “Camp” works for 5-panel and camp-style caps. If nothing fits, pick “Other” — you can still fill in all the same details.
For Beanies and Other models, the “Visor / Brim” section asks “Has a visor?” — tap Yes or No. Tap No if your Hat has no brim and visor-related fields (color, undervisor, curve) are removed from the completion score entirely. Tap Yes if your beanie has a flex visor or brim and the visor curve selector expands — CapStacks then tracks visor color, undervisor, and visor-specific features just like any other cap.
The Button field becomes Pom Pom for Beanie and Other models. Tap “None” if your Hat doesn’t have one, or type the color if it does. Either answer counts toward your completion score.
Beanies default to Unstructured crown shape — you can change it if needed. The same five condition grades apply: a Deadstock beanie is one that’s never been worn and still has its tags on. The flat visor rule for Deadstock doesn’t apply to Hats with no visor.
Beanies and other non-baseball Hats can be listed for sale or trade the same way as any other Hat. Add a photo, mark it For Sale or For Trade, and fill in the details.
Tags are freeform labels — “tropical”, “corduroy”, “game-day”, “gifted”. A Hat can have unlimited Tags, all searchable across your collection.
Color searches use families too — searching “teal” finds Hats with “Aqua” or “Classic Car Teal” in any color field.
Add Tags from the Hat’s detail page. Tags are normalized to lowercase kebab-case automatically (e.g. “Game Day” becomes “game-day”). Tap a Tag to remove it.
Tags are for cross-cutting labels. Use Stacks for primary grouping.
Tap the Sort button below the tab bar to open sort options. Tap a chip to activate — tap again to reverse direction.
When two items tie on the active sort, they’re broken alphabetically by name. Search results with no sort active default to alphabetical by team.
Tap 🔍 on the Hats screen to search your collection. Search works across team name, league, design name, all color fields, Tags, patch notes, and feature notes.
CapStacks knows color families — searching “orange” surfaces Hats with “rust”, “copper”, “burnt sienna”, or “terra cotta” in any color field. You don’t need to know the exact color name that was entered.
The same family matching applies in the Hunt tab when filtering results by keyword.
Tap the 🎲 button in the top-right of the Hats screen to pick a random Hat from your collection. The card shows wear stats and how long it’s been sitting — great for rediscovering Hats you’ve been neglecting.
You can also shake your phone to roll the dice from anywhere on the Hats, Stacks, or Locations screen. If the random Hat card is already open, shaking picks a different one.
Named groups for your Hats — conceptual (“All my Giants Hats”) or physical (“Storage Box 1”). A Hat belongs to one Stack at a time, or none.
Physical spots — “Upper right shelf”, “Closet floor bin”. A Stack can be assigned to a Location, making all its Hats effectively at that Location.
Switch between Hats, Stacks, and Locations using the tabs at the top of the Stacks screen. Tap the ⋮ button on any Stack or Location tile to edit, move, or delete it — you can also long-press the tile for the same options. The + button is context-aware — it adds a Stack or Location depending on which tab you’re on.
Deleting a Stack or Location does not delete its Hats — they’re just unassigned.
Need help organizing your collection? Visit our Amazon list for a few of our favorite things. As an Amazon Associate, CapStacks earns from qualifying purchases.
Tap the Wear tab to log a wear. Your 8 most recently viewed Hats appear in a grid for quick selection. Tap any tile to select it, or tap “Log A Wear” to search your full collection.
Fill in the date (defaults to today), an optional note, and an optional photo. Choose Public or Private — Public wears appear in the Explore feed and on your public profile.
The #FittedFriday placeholder appears on Fridays as a gentle nudge.
You can also log a wear directly from any Hat’s Wears tab — tap “+ Log a Wear” for an inline form pre-loaded with that Hat.
Your Wantlist is a list of Hats you’re looking for. Add items by tapping “+ Add to Wantlist” on any Hat in a public profile or the Explore feed.
Each wantlist item stores the key details of that Hat (team, model, colors) so it can be matched against available Hats.
The Hunt tab shows all Hats marked For Sale or For Trade by other users, sorted by how closely they match your Wantlist items. Color matching uses families — “Navy” matches “Night Shift Navy” or “Light Navy” because they’re in the same Blue family.
Tap the 🔍 filter icon to narrow results by model, teams, keyword, or fitted size (with a ±1/8 flex option). Tap “+ Refine” to further filter by crown/visor/undervisor/button color and condition. Active filters appear as chips below the header — tap any chip to clear it.
Color filters and keyword searches also use color families. Entering “Teal” in a color refine field surfaces Hats with “Aqua”, “Classic Car Teal”, or “Teal Breeze” — not just Hats that contain the word “teal”.
When you buy or trade for a Hat through CapStacks, the Hat is automatically added to your collection and your matching Wantlist item is marked complete. The 💰 badge appears automatically — no action needed from you.
Explore shows a 3-column grid of public wear photos from all users, sorted by how closely they match your Wantlist. Tap any photo to open the Hat’s full listing page — identity, size, condition, colors, features, and marketplace details.
If you see a Hat you want, tap “+ Add to Wantlist” to save it. If it’s listed, you can Buy Now, Make an Offer, or propose a Trade right from there.
Only wears marked Public with a photo attached appear here.
Other users can find your public profile at your @username. It shows your identity card, stat tiles (Hats, Favorites, Grails, For Sale, For Trade, Wantlist), a 3-column grid of all your Hats with photos, and a scrollable grid of your public wear photos.
The Hat grid is auto-sorted: Grails first, then Favorites, then all others — each group sorted by wear count. Tapping Favorites, Grails, For Sale, or For Trade on the stat tiles shows a filtered grid of those specific Hats. Tapping a Hat opens its full listing page.
Your full collection, Flags on Hats not marked For Sale/For Trade, Tags, ownership info, Stacks, and Locations are only visible to you. Only Favorites, Grails, For Sale, For Trade, and Wantlist counts are shown publicly.
A checkmark badge next to a Collector’s name means they’ve completed Stripe identity verification and can buy, sell, and trade on CapStacks. You’ll see it on their profile and on any listings they have active.
The badge color reflects their Collector tier based on completed transactions: green (verified, fewer than 10), Bronze (10+), Silver (25+), Gold (50+), Platinum (100+), Diamond (250+).
Your Profile tab lets you set defaults that pre-fill the Quick Add flow — default model, Hat size, visor curve, and whether the size sticker/tag is on by default.
Your username, Instagram handle, and location are visible on your public profile. First and last name are kept private (required later for marketplace/shipping).
Tap “Edit” in the profile header to make changes. Username availability is checked in real time. You can change your username once every 30 days — if you’ve changed it recently, the save will show the date you can change it again.
To change your email, edit the Email field and tap Save. We send a confirmation link to the new address. Until you open it, your account keeps using your current email, and a Pending row in Account shows the change is waiting — tap it to see where the link went. The link opens a page confirming the change; if it says there’s one more link to tap, open the one sent to your other address too. An address already used by another account can’t be saved.
Tap “Public Profile” in the header to preview what others see when they visit your profile.
On the sign-in screen, tap “Forgot password?”, enter your email, and tap “Send Reset Code”. If an account exists for that email, we send it a reset code. Enter the code and a new password (at least 8 characters), then tap “Update Password”. No email? Check your spam folder, or tap “Send a new code”.
Early Access
CapStacks is a marketplace built specifically for Hat Collectors — buy, sell, and trade with real buyer and seller protection. No more PayPal prayers. No more Instagram DMs and hoping for the best.
We’re inviting a small founding group of serious Collectors to test the app before public launch. If you get in, you’ll shape what gets built next.
Applications are open now. Spots are limited.