FAQ

Questions about protected payments.

How milestone escrow works for homeowners, contractors, and the marketplaces that plug it in.

For homeowners

What is a protected (escrow) payment?

When you fund a milestone, your payment is captured and held safely by our payment processor. The contractor only gets paid once you approve that the work is done. It protects you from paying upfront for work that never happens.

When does the contractor get paid?

Only after you approve the milestone. You review the work, approve it, and the amount owed is released to the pro (minus a small, capped platform fee). Money never moves without your approval.

Can I get a refund?

Yes. While funds are held (before you approve), a milestone can be refunded to you in full. If a dispute is opened, funds stay held under a neutral hold-and-review process until it's resolved.

Do I need an account or app?

No. You pay on a secure, hosted checkout page — no account to create and no app to install. The page is branded so you can see exactly who is requesting payment.

Why does the payment page show two logos?

The page is co-branded: you'll see the ServiceEscrow logo alongside the logo of the marketplace or pro you're paying (e.g. Handyman.com). That way you know your payment is protected and who it's for.

Where do I go after I pay?

After a successful payment we show a branded confirmation, then send you straight back to where you started — usually the exact order or booking page on the site you came from.

Is there a fee for me?

The platform fee is a small percentage per milestone, capped per project, and it's shown clearly before you pay. Homeowner Plus members get a reduced rate.

For contractors

How do I get paid?

When a homeowner approves a milestone, the amount owed to you is recorded and forwarded to your payout destination. You always know what's funded, what's approved, and what's on its way.

When is my money released?

As soon as the homeowner approves the milestone. Funds for that milestone were already captured and held, so there's no waiting on the customer's bank or wondering if a check will clear.

Where does the money land — do you store my bank details?

Your payout destination is saved once as a payout profile (ACH, check, PayPal, or other) tied to you, so future milestones are paid without re-entering anything. For safety we only store a method plus a short reference (like the last 4 digits) — never full account numbers.

What fee do you take?

A small percentage per released milestone, capped per project, deducted before payout. It's the cost of guaranteed, approved-and-funded work — no chasing invoices.

What happens in a dispute?

A clear, neutral process holds the milestone while it's reviewed, then resolves it — either releasing to you or refunding the homeowner based on the outcome.

For marketplaces & developers

How do we integrate?

Request a workspace and API key, then call one endpoint to mint a branded, hosted payment link — escrow-held or simple pay-now. Redirect your customer to it. The full step-by-step guide, endpoint reference, and copy-paste curl/Node examples are in the developer docs.

What is a 'transaction' and can I manage them?

A transaction is a payment link — the object we own for both escrow and pay-now payments. The Transactions API gives you search, filtering, and safe CRUD (create, read, update metadata, void/delete unpaid). Paid transactions are kept immutable for your records. Every call is scoped to your workspace.

Can you do subscriptions / recurring billing?

Yes — for pay-now (direct) links. Add interval: "year" when you create a link and the customer subscribes on the same branded hosted page; Stripe then bills them automatically each year (great for annual maintenance plans). Each paid year is recorded as its own charge that's owed to the pro, so you forward the payout per cycle just like a one-off. You can cancel a subscription any time from the API or the workspace console. Escrow milestones stay one-time, since there's no per-cycle approval step.

Can I control branding and where the payer returns?

Yes. The hosted page is co-branded with your logo, and you pass a returnUrl (and cancelUrl) when creating a link. After payment we show a branded confirmation and send the payer back to that URL — deep-link it to the exact order so the round-trip feels seamless.

There are two parties — how do payouts work?

The payer funds; the receiver (service pro) gets paid. On approval you release the milestone, then forward the funds to the receiver. Forwarding records the payout (who + method + reference) — you pay the pro off-platform. Save a payout profile per contractor and forwards auto-resolve the destination.

Who is the source of record?

Your marketplace is. ServiceEscrow mirrors projects and milestones from your system and writes payment status back. We own only the payment state.

Do you hold our customers' money?

No. Funds are captured and held by Stripe on its licensed rails. ServiceEscrow coordinates the hold, release, and off-platform payout; it is not a bank or money transmitter.

Is it safe to go live?

Every fund-moving endpoint is gated behind a LEGAL_REVIEW switch that stays off until you've completed payment and legal review for your market. You can build and test the whole flow with a test key before a single real dollar moves.

What about webhooks and reliability?

Inbound Stripe webhooks are signature-verified and idempotent. We also send you signed outbound webhooks (HMAC-SHA256) on every milestone state change, retried with backoff, plus a full payout event log — so your system and ours never drift.

Still have a question?

Contact us