How It Works

Built On The Oldest Rule: Who You Know

Your town already trusts who's good. PriceFair makes it formal, and rewards everyone who plays.

1

One Spot Per Trade

One plumber. One electrician. One roofer. Per town. Your slot is yours alone. No bidding wars, no race to the bottom.

2

Members Refer Members

When your Circle sees a job post anywhere (neighborhood groups, inbound calls, job sites) they send it to you. You do the same for them.

3

You Own The Customer

Every job stays direct. You quote, you bill, you keep the relationship. PriceFair never touches the transaction or takes a per-lead cut.

Built By Service Business Owners

Made For Service Business Owners

PriceFair was built by a working service business owner who got tired of watching $40 to $60 disappear every time a lead form got filled out, half of which never picked up the phone. The math stopped working. So this is the math that does. Twenty dollars a month. One trade per town. No bidding wars, no race to the bottom, no lead fees that quietly eat your margin. Just a private network of trusted local providers who refer each other the way the best ones already do, off-platform, by name.

Common Questions

The Five Things Worth Knowing First

What's the advantage of joining now versus later?

Three things compound in your favor every month you're a member:

(1) Founding rate lock — $0/month forever, available only until your trade is taken in your town.

(2) Rating accumulation — every Boost Request you fulfill, every cross-referral your Circle confirms, builds your public PriceFair rating. Members joining six months later have to catch up.

(3) Network density — as more members join your Circle, every member's slot becomes more valuable.

Wait six months. Your town fills up. Founding rates gone in your trade. Other providers have rating mass while you don't. Same $20/month, smaller compounding effect.

Joining now is free. Joining later costs you the gap.

How does Founding Member status work?

Founding Members lock the launch rate permanently — $0/month, forever, as long as they remain an active member of their category.

This isn't a discount. It's a permanent rate lock available only while your town's category slot is empty. Once another provider in your trade signs up first and locks your category, the founding rate is gone in your town. Forever.

The free Founding Member rate applies to ONE category in ONE town. Each additional category or town is $20/month.

Why $20/month and not pay-per-lead?

Pay-per-lead platforms charge $40-60 per qualified lead. One bad week costs you $200-400. They profit when you struggle to convert.

PriceFair charges $20/month, period. Whether your Circle sends you 1 customer or 30, you pay $20. You keep 100% of every customer relationship. No bidding wars, no commissions, no surprise charges.

Lead-gen platforms profit from your friction. PriceFair profits from your network growing. Different incentive, different outcome.

How do members refer each other?

When a Manalapan resident posts on Facebook "Anyone know a good plumber?" — every PriceFair member in that town sees it. The plumber gets the referral within minutes. Same for HVAC, electrical, locksmith, every trade.

Members refer each other on Facebook neighborhood groups, Nextdoor, in-person — because referring you brings them their own customers next time. The math compounds: the more members in your Circle, the more eyes spotting opportunities for everyone.

Every conversation about a service in your town that you're not part of is value flowing past you. Every Circle member is a salesperson for every other member.

How do member ratings work?

Every Boost Request you fulfill, every customer attribution your Circle confirms — builds your PriceFair rating. Star average. TrustScore. Public on your profile.

Members joining now accumulate rating mass through every referral. When PriceFair adds the consumer-facing marketplace, you launch with established credibility — every later provider starts from zero.

Your reputation isn't trapped in our database. It's yours. Visible to anyone who looks you up. Portable to wherever you do business.

Ready To Lock Your Slot?

Type your town. Pick your trade. Be the first one in.

Founding Member Spots Open Now

Be First In Your Town

Pick your town. Lock your category. Founding spots are first-come, permanent.

Don't See Your Town?

Start your town's Circle free. The first founders lock in their category permanently. Open for any town in the US.

Start My Circle Free →
(function(){ var ctaEl = document.getElementById('town-cta'); var loadingEl = document.getElementById('town-cta-loading'); var errorEl = document.getElementById('town-cta-error'); var btnEl = document.getElementById('town-cta-btn'); var heroEl = document.querySelector('.search-hero'); var currentReqId = 0; function setLoading(){ ctaEl.classList.add('active'); loadingEl.style.display = 'block'; errorEl.style.display = 'none'; btnEl.style.display = 'none'; } function setButton(label, href){ ctaEl.classList.add('active'); loadingEl.style.display = 'none'; errorEl.style.display = 'none'; btnEl.textContent = label; btnEl.href = href; btnEl.style.display = 'block'; } function setError(msg){ ctaEl.classList.add('active'); loadingEl.style.display = 'none'; errorEl.textContent = msg; errorEl.style.display = 'block'; btnEl.style.display = 'none'; } function hideCta(){ ctaEl.classList.remove('active'); loadingEl.style.display = 'none'; errorEl.style.display = 'none'; btnEl.style.display = 'none'; } document.addEventListener('townSelected', function(e){ var t = e.detail; if(!t || !t.placeId) return; if(heroEl) heroEl.classList.add('has-selection'); var myReqId = ++currentReqId; setLoading(); fetch('/api/towns/resolve', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ placeId: t.placeId }) }) .then(function(r){ return r.json(); }) .then(function(data){ if(myReqId !== currentReqId) return; if(!data || !data.town || !data.town.slug){ setError('Could not resolve that town. Try another search.'); return; } var slug = data.town.slug; var label = data.isNew ? 'Start The ' + data.town.name + ' Circle Free →' : 'Join The ' + data.town.name + ' Circle →'; setButton(label, '/join/' + slug); }) .catch(function(){ if(myReqId !== currentReqId) return; setError('Something went wrong. Please try again.'); }); }); document.addEventListener('townCleared', function(){ hideCta(); if(heroEl) heroEl.classList.remove('has-selection'); currentReqId++; }); })();