How It Works
Transfer Flows
Swype models all fund movement as a transfer between an app account and a connected stablecoin app.
Both directions (deposit and withdrawal) use the same primitives:
A Swype user
A connected stablecoin app
A per-app allowance
A Swype-hosted browser flow
Webhook events for lifecycle updates
This flow applies when the user has no existing allowance for the platform.
Platform backend creates a transfer session with destination constraints
Platform opens the Swype-hosted browser flow for the user
User authenticates to Swype (if not already authenticated)
Swype deep-links into the stablecoin app to create an allowance
User approves the allowance via native confirmation (e.g. biometrics)
Swype coordinates execution of the transfer
Swype emits a
transfer.completed(ortransfer.failed) webhook
The platform updates user state based on the final webhook event.
This flow applies when a valid allowance already exists for the platform.
Platform backend creates a transfer session
Platform opens the Swype-hosted browser flow
No stablecoin app deep link is required
Swype coordinates execution of the transfer
Swype emits a
transfer.completed(ortransfer.failed) webhook
From the user’s perspective, this is a fast, low-friction flow.
Notes
Stablecoin app confirmation is only required when creating or changing an allowance
Transfer sessions are short-lived and single-use
Platforms should treat webhook events as the source of truth for transfer state