Skip to content

Reading balances ​

Which stores let us check a gift card's balance, and how. Researched 2026-10-22 from the brands' own help pages; cells marked unverified could not be confirmed. This decides where the till can sell: a store we cannot read is a store where a buyer's "it didn't scan" cannot be checked (see the roadmap's headline problem).

Why it matters ​

After a scan, one read of the retailer's balance page says whether value left the card. A drop means the buyer scanned it and pays; no drop means they are refunded. That read is the whole defense. Readers exist for Best Buy, Nike, and Target (Target's runs inside a saved Target sign-in: pnpm spike:target-balance --guided once, then TARGET_SESSION_PATH; with no session Target stays blind).

Top brands ​

BrandPublic page, no loginAsks forBot wallPhone lineTransfer or combineIn-store scan
TargetNo: the page needs a Target sign-in (measured 2026-10-23: it redirects to login). Reader built 2026-10-23 inside a saved Target sessionnumber + access numbersign-inyesnot statedyes
WalmartYesnumber + PINyes, "hold to confirm you're human"yesnot statedphysical yes
Best BuyYes (reader built)numberunverifiedyesnoyes
Home DepotLogin requiredaccountunverifiedno balance linenot statedyes
Lowe'sYesnumber + PINunverifiedyesnoyes
StarbucksYesnumber + codeunverifiedno balance lineyes, store moves a balance to a new cardyes, app barcode
NikeYes (reader built)number + PINunverifiedno balance linenot statedyes
SephoraYesnumber + PINunverifiedyesnot statedyes
UltaYesnumber + PINunverifiedyesnophysical yes
Macy'sYesnumber + CIDcaptcha confirmed; two failures can lock 24 to 48 hcustomer carenot statedyes
Kohl'sYesnumber + PINreCAPTCHA confirmedyesnot statedyes, app wallet
TJ MaxxYesnumber + PINunverifiedunverifiednoyes
CostcoYesnumber + PINunverifiednone foundnot statedyes
CVSYesunverifiedunverifiedunverifiednot statedyes
WalgreensYesunverifiedunverifiedyesnot statedyes
ChipotleYesunverifiedunverifiedyescash back under $10yes
Amazon, Apple, Uber, DoorDash, Airbnb, Google Play, PlayStation, XboxNo: the balance lives in the account once redeemedaccountnonenono register
Visa / Mastercard prepaidIssuer-specific (Vanilla: yes)number + expiry + CVVunverifiedyescard network, not a scan

14 of the 17 in-store brands have a public page. The 8 digital brands have no page and no register: the card loads into an account, which is a different lane (a Salvo-held account holds the value and shows every transaction).

The long tail ​

A sample of 20 mid-size brands: 14 have a public page (Panera, Dunkin', AMC, REI, Bath & Body Works, Old Navy, Dick's, Olive Garden, Chili's, Southwest, Delta, Lululemon, H&M, Barnes & Noble), 1 unverified (Michaels), 5 none (Petco, Wayfair, and the account-bound Etsy, Spotify, Steam). About 70%; among stores with registers, 14 of 16.

Small merchants mostly run their gift cards on a processor, which hosts the balance page per merchant:

ProcessorPagePatternAsks forNotes
Squareper sellerseller-specific link from the dashboardnumber + PIN, or QRno single page
Toastper restaurantthe restaurant's "E-Gift Lookup" linknumberToast says there is no Toast-wide page
Givexper merchant<host>.givex.com/cws4.0/<merchant>/check-balance/number + PINno captcha seen
Paytronixper brand<brand>.paytronix.com/en-us/guest/nologin/account-balancenumber, some need PIN
Valutecper client keyvalutec.net/CardRegistration/Generic/Balance.aspx?ClientKey=...number + captchacaptcha
Factor4one portal, scope unconfirmedfactor4gift.com/getyourbalanceunverified
Heartlandlikely one siteheartlandgiftcard.comunverified
Shopifyper store, by emailed linklink or last 4largely no
Clover, Lightspeed, Fiserv SVSno consumer page foundcashier or merchant lookup only

One adapter per processor plus a merchant-to-URL directory reaches roughly 55 to 70% of small in-store merchants by count. Low confidence; nobody publishes merchant counts. The residue: Clover, Lightspeed and SVS merchants, login-only brands, phone-only stores, and the digital brands.

How the reads can be done ​

  • Our own scrapers: a headless browser behind residential proxies with a captcha service. About 1 to 4 cents a read. Breaks when a page changes. Retailers walled these pages after a 2017 botnet checked 4 million cards an hour, so a fleet looks like that attack.
  • The buyer's own phone, with a proof (zkTLS): on "it didn't scan", the phone loads the balance page itself and proves to us what it showed. No fleet, no proxies, no bot wall; the party who wants the refund does the read. Young technology; each scheme has its own trust assumptions.
  • Processor APIs: Blackhawk, InComm, Givex and Fiserv have balance inquiry for merchants and integrators with credentials, not for the public. A partner deal.

How the incumbents do it ​

Raise (GCX) must verify a balance before listing, refuses brands it cannot check, charges sellers up to $0.30 for a manual check, and holds some brands 5 to 45 days. CardCash does "a balance and fraud check" before paying and gives buyers a 45-day guarantee. Neither says how. Nobody automates it well.