Apple & Google Wallet platform

Boarding passes that live on the phone, not the inbox.

One API call turns a flight into a branded pass in Apple Wallet and Google Wallet, then keeps it live. Change a gate or a time, and every traveler’s phone updates the moment you do.

+Apple Wallet+Google Wallet+Live push updates+One API call
One pass, both wallets

Send one link.
It knows the phone.

A single flywallet link sends each traveler to the wallet their device already trusts. No app to install, and no wrong-platform dead ends.

Apple Wallet

Signed .pkpass, iOS 26 semantic layout

Google Wallet

Native pass object, live class updates

flywallet
Wallet
Passenger

S. RIVERA

PRN

Prishtina

ZRH

Zürich

FlightWK 218
GateB22
Boarding09:40
Seat14A
Group2
ClassECO
Confirmation

X7K9Q2

From request to lock screen

Three steps. One trip.

01

Call the API

Post the flight and passenger. flywallet builds and signs the pass for both wallets, then hands back one link.

02

The traveler taps once

The link spots the device and drops the pass into the right wallet. No app, no account.

03

You change it, it changes

Update the flight and every held pass is re-signed and pushed. The lock screen shows the new gate before they ask.

Why teams build on flywallet

Everything the pass needs,
minus the wallet headaches.

Wiring it yourself

  • Apple signing certificates expire silently
  • APNs and FCM are two separate integrations
  • Every gate change means a manual re-sign
  • The iOS 26 layout breaks without warning
  • One code path per wallet to maintain

Building with flywallet

  • One API call issues to both wallets
  • Signing keys and push infra handled for you
  • Updates push the moment you change them
  • Semantic layout stays valid and current
  • Token-scoped keys, per-agency isolation
For the people who ship

One endpoint between
you and a live pass.

Bearer-token auth, predictable JSON, and a link in the response. flywallet holds the signing keys and the push plumbing, so you don’t have to.

request
POST /api/v1/passes
Authorization: Bearer wk_live_***
 
{
"flight": "WK218",
"from": "PRN", "to": "ZRH",
"passenger": "S. Rivera",
"platform": "both"
}
response · 200
{
"status": "issued",
"link": "https://flywallet.net/w/x7k9q2"
}
Live, not static

Updates land in real time.

pass · x7k9q2 · push log
GATEB12 → B22PUSHED
BOARDING09:40 → 10:15PUSHED
STATUSOn time → BoardingPUSHED
SEAT14A → 12FPUSHED

Every device. Every change.

One update fans out over APNs and FCM to every phone holding the pass. It lands in seconds, and nobody taps refresh.

Speaks every wallet dialect natively
Apple WalletGoogle WalletPassKit.pkpassAPNs pushFCM pushiOS 26 semanticPDF417 barcodeUniversal linksWebhooks
Apple WalletGoogle WalletPassKit.pkpassAPNs pushFCM pushiOS 26 semanticPDF417 barcodeUniversal linksWebhooks

Put the boarding pass where the phone already looks.

Issue your first pass today. One API call, both wallets, live for the whole trip.