SGC submission prep: a hobbyist's guide to Sportscard Guaranty.
Slabwright's guide to walking your first SGC submission through the form without missing a column, getting tripped up by the walk-through-tier declared-value rule, or losing a cross-over row to a missing cert. We cover SGC's 1–10 integer scale, the raw vs. cross-over / reholder mechanic, the walk-through-tier + $500 declared-value triggers, and the thirteen schema columns that map onto the form.
- scale: 1–10 integer (no halves, no sub-grades printed on the label)
- mechanic: raw first submissions leave cert-number blank; cross-over / reholder rows carry an 8–9 digit cert
- walk-through: declared-value required on every row
- $500 trigger: any single card above $500 requires declared-value regardless of tier
- /upload: pick the SGC pill to map your CSV onto the 13 schema columns before export
SGC grading model
SGC's 1–10 scale and the raw-vs-cross-over mechanic.
Sportscard Guaranty Corporation reports a single composite grade on a clean 1 through 10 integer scale— no halves, no sub-grades printed on the label. Hobbyists used to BGS's four-axis labels or CGC's 0.5-step numbers need to read an SGC slab as one number, with the only qualitative signals coming from the label color (the registry / gold / black variants) rather than any per-axis breakdown.
SGC also distinguishes raw first submissions from cross-over / reholderrows, and that's where the schema's cert-number column earns its place. A cross-over carries an existing SGC cert number into the new submission and lets SGC transfer the holder straight to a new case; a reholder does the same with a label swap. Both arrive at SGC pre-graded, so the row reads like a re-grade on the form:
- condition: raw (first submission)cert-number blank
- condition: cross-overcert-number required (8–9 digits)
- condition: reholdercert-number required (8–9 digits)
Acceptable SGC grades are integer values 1–10. The cert-number column carries an 8-to-9 digit regex — older SGC certs use 8, current certs use 9. Slabwright only fills the cert on cross-over / reholder rows; raw first submissions leave it blank.
The hobbyist trip-up: cross-over rows pulled from a Cardbase export often arrive without the grade tier pinned. Slabwright's error flagging panel catches a cert-number + blank grade-tier combination before you print, so an accidental raw-tier on a cross-over row is caught before the order ships.
Declared value
SGC declared-value rules: walk-through tier + the $500 single-card trigger.
SGC runs four grading tiers — walk-through, express, standard, and bulk — and the declared-value requirement is set by tier combined with per-card value. SGC requires a declared value when a row sits on the walk-through tier, and also requires it whenever a single card crosses the published dollar threshold.
Slabwright encodes that combined rule at fee_schedule.declared_value_required_above_usd: 500 — any single card whose declared value lands above $500 requires the field regardless of tier. The two triggers worth memorizing:
- tier: walk-throughdeclared-value required (every row)
- tier: expressDV optional (unless > $500)
- tier: standardDV optional (unless > $500)
- tier: bulkDV optional (unless > $500)
Currency USD. Threshold $500 per single card. The walk-through tier alone triggers the declared-value column on every row of the batch; crossing the threshold on any tier triggers it regardless of service level.
Slabwright's mapper reads the canonical declared-value column and flags every blank row that crosses the threshold — and also walks the walk-through-tier batch for blank values regardless of dollar amount. Same trigger pattern as CGC's $500 walkthrough rule, the only difference being the tier list SGC exposes.
Slabwright validates Slabwright-style SGC manifests for free — the cross-grader multi-export, saved-batch library, and signed-cert memos at /upload sit behind Pro at $19/month. The single SGC export flow covered by this guide is unaffected — the tier rules above run on every account.
Slabwright → SGC form
How Slabwright's SGC schema export columns map to SGC's submission form.
The set of columns Slabwright writes to a CSV for SGC comes straight from schemas/sgc.json, which is the same authoritative column set the schema preview tab and the upload island already consume via /api/psa-schema?grader=sgc. Pick SGC in the upload dropdown and Slabwright validates your file against those exact columns.
The walkthrough, in the order the columns land on the SGC form:
- year, brand, set-name, player-name, sport — the five required identifiers. sport is the first SGC quirk worth internalizing: a closed enum (Baseball, Basketball, Football, Hockey, Soccer, Golf, Tennis, Boxing, MMA, Wrestling, Racing, Multi-Sport, Non-Sport) and SGC rejects anything outside the list on submit. Cardbase exports sometimes write “BBall” or “NFL” — Slabwright normalizes those to the enum before writing.
- card-number → optional print-run shape: #247 or 247a. Leave blank for unnumbered cards.
- grade-tier → the second SGC quirk worth internalizing. Closed enum of walk-through, express, standard, bulk. The tier is the single column that drives every other rule: it gates min-grade (required on walk-through and express, rejected on bulk, ignored on standard), gates declared-value (see the declared-value section above), and shows up on every row of the batch.
- min-grade → the floor grade you will accept on high-tier services. Integer 1–10. Required on walk-through and express (SGC rejects cards graded below this floor); rejected on bulk (SGC refuses the column on bulk orders); ignored on standard. A blank min-gradeon walk-through or express will not pass Slabwright's pre-flight.
- declared-value — owner-declared USD value. Required on the walk-through tier or when a single card is over the $500 threshold (see the declared-value section above).
- quantity, notes, cert-number — quantity is per-row (SGC exposes quantity explicitly, where PSA bulk shipments model it via repeated rows) and defaults to 1 when blank; notes is free-text for autograph verification and special qualifiers; cert-number blanks on first submissions and follows an 8-to-9 digit regex on cross-over / reholder rows.
- ordering— auto-generated. The mapper writes the 1-based row order; never map it from your CSV header or you'll collide with the mapper-written one.
The full column set lives at the SGC mapper — pick the SGC pill on the upload page and the schema preview tab renders the same thirteen columns from schemas/sgc.json.
Ready to build your first SGC batch?
From CSV to SGC-ready manifest in under a minute.
Slabwright turns an SGC-keyed CSV into a clean, validated manifest with the grade-tier, declared-value, and cross-over rules enforced before export. Pair this guide with the SGC pre-submit checklist for a final handoff pass, or read the PSA bulk prep pillar, the BGS sub-grade pillar, and the CGC submission pillar if you split batches across graders.