Referral infrastructure, minus the bloat

Hand off every invite. Keep the context.

Create referral links, route people to the right destination, and claim attribution from your backend—even when an install sits in the middle.

● Now onboarding a small number of design partners

create-invite.ts
// Your backend
const invite = await linkhandoff.createInvite({
  referrerId: "user_42",
  metadata: { campaign: "launch" }
});

invite.url // https://…/r/7fK2…
Opaque tokensServer-side claimsNo device fingerprinting required
One job, done well

Referral attribution shouldn’t require an enterprise platform.

LinkHandoff connects “I was invited” to “credit the right person” with explicit signals, a compact API, and infrastructure you can reason about.

How it works

Three calls. One clean handoff.

Your backend stays in control. Shared links contain no user identifier.

01
↗

Create an invite

Generate an opaque, expiring link for a known referrer from your trusted backend.

POST /v1/invites
02
⌁

Carry the context

Route to app, store, or web using supported deterministic signals and explicit fallbacks.

POST /v1/attributions/resolve
03
✓

Claim server-side

Validate after signup with your secret key. Duplicate and self-referrals are rejected.

POST /v1/attributions/claim
Use cases

From a shared link to a trusted relationship.

Use the same focused primitives across the referral moments that matter.

01

Customer referrals

Credit existing customers without exposing internal IDs in shared URLs.

02

Team and community invites

Carry workspace, cohort, challenge, or campaign context into onboarding.

03

Deferred deep-link handoff

Preserve intent across supported install flows, with a deterministic fallback when needed.

Designed for clarity

Small surface area. Strong boundaries.

◎

Privacy-conscious

Opaque tokens, explicit methods and confidence scores—without invasive fingerprinting.

⌘

Developer-friendly

A focused HTTP API and TypeScript SDK with clean mobile/server credential boundaries.

◇

Predictable logic

One referrer per account, one claim per invite, expiry controls and transactional records.

↯

Focused alternative

Referral infrastructure without adopting a full enterprise attribution suite.

Built API-first

Your referral logic stays yours.

Keep invite creation and final claims on your backend. Let the app resolve only the opaque context it needs.

  • ✓ TypeScript SDK
  • ✓ OpenAPI 3.1
  • ✓ PostgreSQL

Available now: core API, redirects, SDK and deterministic flows. Native install modules, webhooks, dashboard and billing are planned. Automatic iOS post-install recovery is not yet available.

server.ts
await client.claimReferral({
  token,
  referredId: newUser.id,
  method: "universal_link"
});
The focused alternative

Infrastructure, not another control tower.

Built for indie developers and small product teams that need referrals—not ad measurement or enterprise campaign analytics.

FAQ

Straight answers.

Does LinkHandoff solve deferred deep linking on iOS?+

Not automatically today. Universal Links and explicit fallbacks are supported; reliable post-App-Store recovery still needs platform-specific validation.

Do you fingerprint devices?+

No fingerprinting is required for deterministic flows. Attribution methods and confidence remain explicit.

Can the secret key live in my app?+

No. Invite creation and claims belong on your backend. Mobile clients use public context only.

Design partner access

Tell us about your referral flow.

Share what you are building and where attribution breaks today. We reply by email—no mailing list or sales automation.