Card-backed free trials for Stripe sellers

Start every free trial with a card that works. Charge it once, just before the trial ends.

TrialValid holds the plan price on the buyer's card at sign-up, starts the trial in your Stripe account and captures the hold two hours before the trial ends.

Hold at sign-upCapture before the trial endsUp to 11 capture attempts1 to 90 trial daysCharges land in your Stripe account

A trial starts only when the card can cover the price. Every charge lands in your own Stripe account. Free trials attract sign-ups with cards that were never going to pay, so TrialValid asks Stripe to hold the plan price first.

Hold at sign-up, capture before the trial ends

trial.example.com/start
Northwind Notes Sample

Start your 14-day free trial

you@example.com
4242 4242 4242 424212 / 28123
Hold of $49.00 placed. Charged once on Oct 31.
Start free trial
Trial #1042ConvertedSample
  1. Hold placedSign-up
  2. Reminder sentTrial runs
  3. Hold capturedTwo hours before end
  4. Invoice nets to zeroTrial ends

Your account, your money

Trial pages with variants

Variant A50%

Try Northwind free for 14 days

Notes that sort themselves.

$49 a monthafter 14 days

Start free trial
Variant B50%

Your first two weeks are on us

Start writing in a minute.

$49 a monthafter 14 days

Start free trial

First-touch attribution

Signups by first touchSample
SignupSource
buyer1@example.comutm_source newsletter
buyer2@example.comreferrer blog.example.com
buyer3@example.comgclid Cj0KCQ...
buyer4@example.comfbclid IwAR2...

Alerts where you work

# trialsSample
TrialValid High-value trial startedPro plan, $299 a month, 14-day trial. Hold placed.
TrialValid Capture failed, retryingTrial #1042, attempt 3 of 11, next in 10 minutes.
TrialValid Hold lostTrial #0988. The card issuer released the hold.

A record of what the buyer was shown

Every trial keeps the amount, the dates and how to cancel, with the time and your terms version, ready if a charge is questioned.

Trial recordtrial_1042Sample
Amount
$49.00 a month
First charge
Oct 31, 2026
How to cancel
Account settings, any time before Oct 31
Shown at
Oct 17, 2026, 14:02:11 UTC
Terms version
v3

Trial abuse shows up at sign-up. So the check happens there.

See how it works

One schedule from hold to charge

2 hoursbefore the trial ends, the hold is captured
11capture attempts at most, 10 minutes apart
1 to 90trial days, set per trial page
24 hoursuntil a sign-up that never finishes is closed

One trial, three stages. The engine enforces each hand-off.

What runs at each stage

Sign-up

  • Amount, dates and cancel terms recorded
  • Stripe customer created
  • Hold placed for the plan price
  • Abandon check scheduled at 24 hours

Trial

  • Trial subscription on the same saved card
  • Reminder sent before the first charge
  • Hold renewed if the trial is long
  • Cancel at any time, hold released

Conversion

  • Capture two hours before the end
  • Up to 11 attempts, 10 minutes apart
  • Credit written so the invoice nets to zero
  • Failure policy you choose

Built for sellers who run free trials. How each kind of business uses TrialValid, from sign-up to the first charge.

Explore the product

Self-serve SaaS on a monthly plan

See trial pages
How it runs
Publish a trial page with a 14-day trial. The plan price is held on the card at sign-up and the trial starts on that same card.
What you get
Every trial that starts has a card that covered the plan price, and the first charge lands on the date the buyer was shown.
Apps with many throwaway sign-ups

How it runs. The hold runs before the trial starts, and an abandon check closes sign-ups that never finish after 24 hours.

What you get. A trial starts only when the card can cover the price, so the trial list holds buyers who can pay.

Teams testing their offer

How it runs. Two trial page variants share traffic evenly, and the first-touch source stays with each signup.

What you get. You see which page and which source brought the trials that converted.

Higher-priced plans

How it runs. Slack alerts fire for high-value trials, failed captures, lost holds and disputes, while captures retry on their own.

What you get. The team hears about a large trial or a failed capture when it happens, not at month end.

Start with the docs. Every state, job, webhook and error in the trial engine is documented here.

Read the docs

Growth and larger plans. Book onboarding, we set up your first trial page with you, then you pay.

Book a call

Every trial is one record. See where each sign-up stands.

Read the trial lifecycle

The trial page, the hold, the reminder and the capture all write to the same trial, so each sign-up sits in exactly one state from the card check to the first charge.

Hold at sign-up. The plan price is held on the card before the trial starts.

See card holds

Charge once. The hold is captured shortly before the trial ends, with up to 11 attempts.

See the lifecycle

Hear about it. Slack alerts for high-value trials, failed captures, lost holds and disputes.

See alerts

For developers. Every state is explicit. Each trial is in exactly one state, every Stripe write is idempotent and a job can run twice safely.

  1. 01Connect StripeConnect your own Stripe account. You can revoke the connection at any time.
  2. 02Publish a trial pagePick a price and a trial length from 1 to 90 days.
  3. 03Charge onceThe hold is captured shortly before the trial ends.
trial stateslifecycle
awaiting_card -> held | abandoned | canceled
held          -> converted | canceled | capture_failed | hold_lost
converted     -> refunded
eventsStripe webhooks handled
payment_intent.amount_capturable_updated  -> start the trial
payment_intent.canceled                   -> update the trial
payment_intent.succeeded                  -> record the capture
customer.subscription.deleted             -> update the trial
charge.dispute.created                    -> flag it and alert you

Connects to the tools you already run. Your Stripe account, your trial pages and your Slack workspace, joined by one trial record.

Trial pageVariantsAttributionRemindersYour Stripe accountSlack alertsHoldTrialCapture

Trial lifecycle

States, jobs and failure paths.

Read trial lifecycle

Webhooks

The Stripe events we handle.

Read webhooks

Errors

The error envelope and codes.

Read errors

Priced by the MRR you connect. Start for $1.

Your plan follows the monthly recurring revenue on your Stripe account. Starter is $29 a month for $0 up to $10,000 of MRR and starts with a 14-day trial for $1. Larger plans run from $95 to $1,995 a month and start with a booked onboarding call. Every feature is on every plan.

See pricing

Questions. How the hold, the trial and the charge fit together.

Read the docs
What does TrialValid do?

It puts a hold on the buyer's card for the plan price when they sign up, starts a free-trial subscription in your Stripe account, and captures the hold shortly before the trial ends. A card that cannot be held never starts a trial.

Whose Stripe account does the money go to?

Yours. You connect your own Stripe account. Money always sits there, and the plan price is the whole cost of TrialValid.

What does TrialValid cost?

Starter is $29 a month for accounts with $0 up to $10,000 of monthly recurring revenue, and it starts with a 14-day trial for $1. Larger accounts pay $95 to $1,995 a month and begin with a booked onboarding call.

How do I get started?

Starter begins online with a 14-day trial for $1. Growth and larger plans begin with a booked onboarding call, where we set up your first trial page with you.

What happens if the buyer cancels?

Before the card is confirmed, the hold is released. While the hold is open, the subscription is canceled and the hold released. After the capture and before the trial ends, the subscription is canceled, the capture refunded and the credit reversed. After the trial ends, you refund the invoice in Stripe.

Does TrialValid store card numbers?

No. The card is collected by Stripe Elements and Stripe.js on the hosted page. TrialValid stores ids and metadata that Stripe returns, not card data.

What shipped lately. Every release is in the changelog.

See the changelog
Plans and pricing page updatedStarter is $29 a month for MRR under $10,000 and starts with a 14-day trial that costs $1.Read
Website publishedProduct, pricing, docs, about, contact and legal pages, with a markdown twin for each page, llms.txt and a sitemap.Read
Trial engineHold at sign-up, trial subscription, capture before trial end with retries, balance credit so the first invoice nets to zero, and hold renewal.Read

Built to charge once. Start with a $1 trial.

Connect your Stripe account, publish a trial page and let the hold, the reminder and the capture run on one schedule.

  • $1 for a 14-day trial. When the 14 days end, your card is charged $29 for the first month, and the plan renews at $29 every month until you cancel.
  • Cancel any time with our ready-made cancel email. No reason needed.

Starter, online

For $0 up to $10,000 of MRR. Start with a 14-day trial for $1.

See pricing

Growth and larger plans

Book onboarding, we set up your first trial page with you, then you pay.

Book a call