Ship wallet passes
in hours, not months.

Developer-first API for Apple Wallet and Google Wallet. Transparent pricing and a dashboard your team will actually use.

issue-pass.ts
const { passId, pkpassData } = await pf.passes.generate({ template_id: "tmpl_membership_gold", serial_number: "MBR-001", data: { name: "Jane Cooper", points: "1250" } })

Built for developers and teams who ship

VercelSupabaseStripeShopifyLinearResendCal.com
How It Works

Three steps to your
first wallet pass.

From zero to a pass in your user's wallet in under 10 minutes. No Apple Developer account gymnastics required.

01

Upload your certificate

Upload your Apple Pass Type ID certificate. We encrypt it with AES-256-GCM using a key derived from your org — your cert never touches our code unencrypted.

02

Create a template

Use the visual builder or the API. Define fields, colors, images, and data bindings. Preview in real-time before you go live.

POST /v1/templates
{ "type": "generic",
  "name": "Gold Membership" }
03

Generate & distribute

Hit the API with your data and get back a universal link. Share it via SMS, email, WhatsApp, QR code, in-app — anywhere a URL works.

POST /v1/passes
→ { "url": "https://passfa.st/p/..." }
Features

Everything you need.
Nothing you don't.

A complete API for creating, distributing, and managing wallet passes — with a visual dashboard for your non-technical team.

REST API

Simple, predictable REST endpoints. Create a pass with a single POST. Update it with a PATCH. No SDKs required — but we have those too.

Visual Dashboard

Design templates with a drag-and-drop builder. Preview passes in real-time. Manage everything without writing a single line of code.

Multi-Platform

One API, every device. Apple Wallet on iOS, Google Wallet on Android, direct download on web. Platform detection built in.

Push Updates

Update passes in real-time via APNs. Change a loyalty balance, update an event time, expire a coupon — the pass refreshes silently.

Webhook Events

Pre-generation validation webhooks let you approve or reject passes. Event webhooks for installs, updates, and deletions. HMAC-signed.

Built-in Docs

Integration guides live inside your dashboard — not a separate site. Contextual, org-aware examples with your actual API keys pre-filled.

Distribution

One link.
Every channel.

Every pass you generate comes with a universal link. Share it however your users expect to receive it — we handle platform detection and delivery.

No per-delivery fees. No channel lock-in. Your pass link is a plain URL — plug it into any messaging system, CRM, or automation tool you already use.

✉️

Email

Embed in any ESP — Resend, SendGrid, Postmark.

💬

SMS

Send via Twilio, MessageBird, or your own gateway.

📱

WhatsApp & RCS

Native rich links. No competitor supports this.

📷

QR Codes

Print on receipts, posters, packaging, signage.

📲

In-App

PassFast SDK or web download. Universal.

Why PassFast

See how we compare.

We built the product we wished existed. Here's how it stacks up against every alternative.

FeaturePassFastPassKitPassNinjaPasscreatorAirship
REST APILimited
Visual Dashboard
Template Builder
Publishable Keys
Push Updates
Webhook Validation
Built-in DocsSeparateSeparateSeparate
Transparent PricingComplexOpaque
Pricing

Simple, transparent pricing.

Start free. Scale as you grow. No surprise invoices, no per-delivery fees, no sales calls required.

$0.05/pass

Start with 100 free passes — no credit card required

Estimate your monthly cost500 passes/mo
10010,000
$25.00/month
1
Start free
Get 100 passes free. No credit card, no commitment.
2
Add payment when ready
After 100 passes, add a card to keep generating.
3
Pay only for what you use
$0.05 per pass, billed monthly. No minimums.
Apple Wallet + Google Wallet
All features included
Unlimited orgs, apps & templates
Managed signing & push updates
Get Started Free

Ready to ship your
first wallet pass?

Get your API keys in 30 seconds. No credit card required. Free tier includes 100 passes per month — enough to build, test, and launch.

Start for free →Read the docs