Across 90 days of closed single-family sales in South Charlotte, the median price a buyer actually paid inside town limits differed from the published median for that town in every case but one. In Weddington the published figure ran $241,357 high. In Wesley Chapel it ran $100,000 high. The gap exists because the number almost everyone quotes is built from mailing addresses rather than town boundaries, and in Union County those two things have drifted a long way apart.
That matters to you for a plain reason: the address on the envelope doesn’t decide the tax bill, the zoning, or which police force answers. The town line does. Below is what the numbers look like once you separate the two, which town is worst affected, and the one check worth doing before you write an offer.
11 min read | Living in South Charlotte
Free · 26-Page Insider Guide
Which South Charlotte town is right for you?
Towns compared, NC vs SC taxes and schools side by side, and the 5 mistakes out-of-state buyers make.
What This Story Covers
- The short answer on South Charlotte home prices by town
- What the Canopy MLS data actually shows
- Why is the published median different from what homes in town sold for?
- Which towns are most affected by the gap?
- Unincorporated Union County, where the extra homes come from
- What the town line does to your tax bill
- What this means if you are buying here
- Frequently asked questions
- How we calculated this
The short answer on South Charlotte home prices by town
The median price paid inside town limits isn’t the median you’ll read on a portal or in most market reports. Those are built from mailing addresses. Once you count only the homes that actually pay a given town’s taxes, six of the seven areas we measured move, and two of them move by a lot. If you’re shopping in one of those two, it changes what a fair offer looks like.
The Short Answer
Published town medians count homes by mailing address, not by town boundary. In Union County those two maps disagree badly, so the published median for a small town can be inflated by homes that are not in it. Weddington is the worst case in this window at $241,357 too high.
Key numbers, closed single-family sales, 8 June to 4 September 2026 (source: Canopy MLS):
- $241,357: how far Weddington’s published median sits above what homes inside Weddington actually sold for
- $100,000: the same gap in Wesley Chapel
- 222: homes that sold in no town at all, carrying the mailing addresses of ten different towns
- 16%: share of Wesley Chapel homes that are in the town by both definitions
- 2.4%: the gap in Indian Trail, the control case where the two maps nearly agree
- 3.5 cents per $100: Weddington’s own 2026 town tax rate, billed separately from Union County
| Area | Median inside town limits | Sales |
|---|---|---|
| Weddington | $1,435,000 | 54 |
| Marvin | $1,367,500 | 22 |
| Wesley Chapel | $785,000 | 29 |
| Waxhaw | $635,000 | 173 |
| Matthews | $540,000 | 119 |
| Indian Trail | $515,000 | 183 |
| Unincorporated Union County | $599,991 | 222 |
I pulled this because a client asked me why two houses a mile apart, both with Waxhaw addresses, had such different tax bills. The answer turned out to be that one of them isn’t in Waxhaw. Once I ran the same two searches for every town in the area, the pattern held everywhere, and it is larger than I expected in the small towns. It’s the kind of thing that never shows up in a market report, because the report is built from the same field that causes it.
Talk to a local broker
Want to know which town a specific address is actually in?
Send me the address and I will check the boundary and the tax record before you write an offer. No pressure, just answers.
Schedule a 15-Minute Introductory Call →704-774-7170 · steve@jarrellhomes.com · thelongleafgroup.com
What the Canopy MLS data actually shows
Here’s the method, and it’s simple enough that you could repeat it. Two searches per town, differing in one field. The tax cut counts homes that pay that town’s property tax, which means they’re legally inside it. The city cut counts homes carrying that town’s mailing address, which is the field almost every portal and market report uses. Run both and subtract.
| Town | Sales inside town | Median inside town | Published (mailing) median | Difference |
|---|---|---|---|---|
| Indian Trail | 183 | $515,000 | $502,394 | −$12,606 |
| Matthews | 119 | $540,000 | $568,000 | +$28,000 |
| Waxhaw | 173 | $635,000 | $710,500 | +$75,500 |
| Wesley Chapel | 29 | $785,000 | $885,000 | +$100,000 |
| Marvin | 22 | $1,367,500 | $1,316,785 | −$50,715 |
| Weddington | 54 | $1,435,000 | $1,676,357 | +$241,357 |
You’ll notice Mineral Springs is left out of the price table, and that’s on purpose. It had six in-town sales and two mailing-address sales in this window. A median built on two houses is not a median, and quoting one would be worse than quoting nothing at all.
Why is the published median different from what homes in town sold for?
Because postal geography and town boundaries were drawn at different times for different reasons, and nobody ever reconciled them. A mailing address tells you which post office serves a house. It does not tell you which town collects its taxes, sets its zoning, or sends its police.
The mismatch runs in both directions, and the direction decides what happens to the number. Homes inside a town that carry another town’s mail get left out of that town’s published median. Of the 22 homes paying Marvin taxes in this window, only five have a Marvin mailing address; seventeen say Waxhaw. Homes outside every town that carry a town’s mail get counted into that town’s published median. That second effect is the bigger one, and it is why most of the differences above are positive.

Which towns are most affected by the gap?
The pattern tracks how large and how long established the town is, so if your town is small and newly incorporated you should expect a bigger gap. We measured it as the share of homes that are in the town by both definitions, meaning they pay its taxes and carry its mail.
| Town | In town by both definitions |
|---|---|
| Indian Trail | 70% |
| Matthews | 49% |
| Weddington | 48% |
| Mineral Springs | 33% |
| Marvin | 21% |
| Wesley Chapel | 16% |
Indian Trail is the control case, and it is the reason to trust the rest of this. It is a large, long incorporated town, and there the two definitions nearly agree. Its published median is off by 2.4%, median days on market is identical at 22, and median price per square foot differs by 75 cents.
That control matters more than it might look. The obvious objection to everything above is that the method itself is creating the gap, that counting by tax record simply produces different numbers than counting by mailing city for arbitrary reasons. Indian Trail answers it. Run the same two searches on a town where the boundary and the postal map line up, and the gap all but disappears. The method is not manufacturing a difference. It is exposing one that only shows up where the two maps disagree.
Wesley Chapel is the other extreme, and it’s the one I’d treat with the most caution. Of the 29 homes paying Wesley Chapel taxes, six carry a Wesley Chapel address. The other 23 are filed under five different city names: eleven Waxhaw, five Monroe, four Matthews and three Indian Trail.
Unincorporated Union County, where the extra homes come from
In this window 222 homes sold that sit in no town at all, and they carry the mailing addresses of ten different towns. This is the pool that leaks into everyone else’s median, and it’s probably where your search results are coming from too.
| Mailing city on a home in no town | Sales |
|---|---|
| Waxhaw | 80 |
| Monroe | 74 |
| Marshville | 22 |
| Indian Trail | 16 |
| Matthews | 13 |
| Wesley Chapel | 7 |
| Wingate | 4 |
| Weddington | 4 |
| Marvin | 1 |
| Midland | 1 |
Their median was $599,991, which is higher than the in-town medians for both Indian Trail and Matthews. These are not cheap outliers dragging numbers down. They are substantial houses on larger unincorporated parcels, and sweeping them into a town’s median pulls that median up. Eighty of them say Waxhaw, which is most of why Waxhaw’s published figure runs $75,500 high.
What the town line does to your tax bill
This is the part that costs real money, and it’s the clearest reason to care which side of a boundary a house sits on. If you live inside a Union County town you’ll get two bills, not one. The Town of Weddington states it plainly on its own tax page: “Weddington residents pay both city and county property taxes. You will receive separate bills.”
Weddington’s town rate for 2026 is 3.5 cents per $100 in valuation, and the town gives the arithmetic on the same page: a $500,000 assessed value works out to $175 a year in town tax. Union County does all the assessments and bills its own rate separately. A house on the other side of the town line pays the county bill and skips the town one, so you can’t read the two as interchangeable.
So when you compare two listings that both say Waxhaw, you aren’t necessarily comparing two homes with the same annual cost. One may carry a municipal bill the other does not. The listing will not tell you. The tax record will.
The gap isn’t enormous in a single year, and it’s worth keeping in proportion. On a $500,000 assessment, Weddington’s 3.5 cents adds $175 a year, which is not what decides a purchase. What it does decide is which set of rules you live under. The town that bills you is the town that sets your zoning, reviews a future addition or accessory building, decides whether your street gets picked up, and votes on the subdivisions that get built around you. Buyers tend to discover this the first time they want to do something to the property.
That’s the part I’d weigh if you’re choosing between two otherwise similar houses on opposite sides of a line. The annual dollars are small. The control over what happens next isn’t, and it travels with the parcel rather than the address.
Here is the practical version of all this. Before you write an offer, look up the parcel on the Union County tax record and check whether a municipality is listed on it. It takes about a minute and it settles three things at once: which town actually gets your tax dollars, which town’s rules apply if you ever want to build or add on, and whether the comparable sales your offer is based on were even in the same jurisdiction. I do this on every Union County offer now, and it has changed the number more than once.
Talk to a local broker
Pricing a home where the town line is unclear?
A quick call with a broker who pulls these two cuts of the data every month and works this market every week.
Book a 15-minute call →What this means if you are buying here
Three things worth doing differently. First, treat any published town median as a rough signal rather than a benchmark. It’s a starting point, not a number to price against, especially in Marvin, Wesley Chapel and Weddington where fewer than half the homes are in the town by both definitions. If you price an offer off a number that includes 80 houses that aren’t in the town, you’re pricing off the wrong pool.
Second, check the parcel rather than the address. The mailing address is the single least reliable field for working out which jurisdiction a house belongs to, and it is the field most of the market data is built on. A Waxhaw address isn’t evidence of being in Waxhaw. In this window, 80 of the homes that sold with a Waxhaw mailing address were in no town at all.
Third, ask what the comparable sales were. If your agent hands you three comps with the same mailing city as the subject, that alone doesn’t mean they’re comparable on tax, zoning or services. It is worth one question, and the answer takes a minute to check.
There is a selling side to this too. If you own a home inside one of the smaller towns and the published median for your area is running high because it is padded with unincorporated houses, an automated valuation may set expectations you can’t meet in a negotiation. The reverse happens in Marvin and Indian Trail, where the published figure sat below the in-town median in this window, by $50,715 and $12,606. Either way the correction is the same: price against homes that share your jurisdiction, not your zip code.
None of this says the smaller towns are overpriced or underpriced. The in-town medians here are real prices that real buyers paid, and 173 sales in Waxhaw is a solid sample. What it says is narrower: the number most often quoted for those towns is measuring a different set of houses than the one you are shopping in.
If you are weighing this area against the South Carolina side, the differences in how the two states bill property tax are covered in our look at what the state line changes between Indian Trail and Indian Land, and the boundary question comes up again in what the town line actually changes between Waxhaw and Weddington. For an example of how much a jurisdiction line can decide what gets built near you, see our piece on the Indian Land building moratorium, where a county ordinance stops new subdivisions on one side of a line and not the other.
Frequently Asked Questions About South Charlotte Home Prices by Town
Is my address actually in the town it says?
Not necessarily. In this data, fewer than half the homes carrying a Marvin, Wesley Chapel or Weddington mailing address were inside those towns by tax record. The mailing address tells you which post office serves the house and nothing more. The way to settle it is to look up the parcel on the Union County tax record and see whether a municipality is listed, or to ask a broker to pull the tax record for you.
What is the median home price in Waxhaw NC?
For closed single-family sales between 8 June and 4 September 2026, the median inside Waxhaw town limits was $635,000 across 173 sales. The figure usually published for Waxhaw over the same window was $710,500, which is $75,500 higher, because it includes homes that carry a Waxhaw mailing address while sitting in unincorporated Union County.
What is the median home price in Weddington NC?
For the same window the median inside Weddington town limits was $1,435,000 across 54 sales. The published figure was $1,676,357. That is a difference of $241,357, the largest gap of any town we measured.
Why is the gap in Weddington the largest?
Two reasons working together. Weddington is a small town by sales volume, so a handful of homes moves its median a long way, and only about 48 percent of the homes carrying its mail are inside it. When a small pool gets diluted by outside homes on large unincorporated parcels, the published number moves more than it would in a town with hundreds of sales.
Do unincorporated homes pay less property tax?
They pay one bill instead of two. A home inside a Union County town receives a county bill and a separate town bill, which the Town of Weddington states directly on its tax page. A home in unincorporated Union County receives the county bill only. Weddington sets its own town rate at 3.5 cents per $100 of valuation for 2026, so a $500,000 assessment adds $175 a year on top of the county bill.
Where does this data come from?
Canopy MLS, closed single-family sales between 8 June and 4 September 2026, pulled twice per town. One search counts homes by the tax record and one by mailing city. The tax rate figures come from the Town of Weddington tax page. Figures are current as of the window stated and are not a forecast.
About the Author
Steve Jarrell is a licensed North Carolina and South Carolina broker and team lead of The Longleaf Group, a team at eXp Realty that he and his wife Amanda lead together. I work the Union County and South Charlotte market every week, and that’s where this habit of running two cuts of the same data came from. When a published town median and a tax record disagree, the tax record is the one that shows up on a client’s bill.
Before real estate, Steve joined VisualTour as President, led its rebrand to Paradym, and led the company to its acquisition by Constellation Software in 2020. The Longleaf Group is an eXp ICON Team. If you want the boundary and tax position checked on a specific address, you can reach Steve at 704-774-7170 or read more at his bio page.
How we calculated this
Every price figure comes from one dataset: Canopy MLS closed single-family sales between 8 June and 4 September 2026, pulled twice per town. The tax cut counts homes whose tax record names the municipality. The city cut counts homes whose mailing city names it. The difference between the two is what this post measures.
- Town of Weddington tax page, source for the 3.5 cents per $100 town rate for 2026, the separate-bills statement, and the worked example.
- Canopy MLS, source for every closed sale figure, median, sales count and days on market above.
Two things were deliberately left out. Mineral Springs has no price figure because it had six in-town sales and two mailing-address sales in this window, which is too thin to carry a median. And the combined town-plus-county tax rates that appeared in an earlier version of this table have been removed: the Union County and Town of Waxhaw rate pages could not be re-verified at the time of this update, and a tax figure that cannot be checked against its source does not belong on the page. Weddington’s rate is stated above because the town publishes it directly.
Last updated: September 13, 2026. This post is on a 90 day refresh cycle and will be updated when the next quarterly pull is run.