How It Works

Table of Content

Table of Content

Overview

Swype is a better way for users to fund and withdraw from app accounts using the stablecoin apps they already have.

From a platform’s point of view, integration is simple:

  1. Create a transfer session (server-to-server) with destination constraints

  2. Open the Swype-hosted browser flow for the user

  3. React to webhook events to update internal state

Responsibilities

Swype is designed with strict responsibility separation. Platforms request transfers; Swype and connected wallets enforce permissions and execute them.

What Swype owns
  • User authentication to Swype (OTP → passkey)

  • Stablecoin app connection and approvals

  • Per-app allowance enforcement (Phase 1)

  • Routing and execution

  • Retries and idempotency

  • Transfer state machine and webhooks

What platforms do not do
  • Authenticate users to Swype

  • Handle source wallets or balances

  • Build chain or asset selection UX

  • Execute or retry onchain transactions

Actors

Swype sits between platforms, stablecoin wallets, and execution infrastructure. Each actor has a clear, non-overlapping role.

Platform (External App)
  • Authenticates users to the app (e.g., via Privy)

  • Creates transfer sessions with destination constraints

  • Opens the Swype-hosted browser flow

  • Updates user balances based on Swype webhook events

Swype
  • Authenticates users to Swype

  • Manages stablecoin wallet connections

  • Enforces per-app allowances

  • Validates destination constraints

  • Coordinates routing and execution

  • Emits transfer lifecycle webhooks

Stablecoin Wallet
  • Holds the user’s stablecoin balance

  • Presents native approval UI when required

  • Enforces wallet-side limits and revocations

  • Acts as sender or receiver of funds

Execution Layer
  • Executes transfers according to Swype’s validated request

  • Handles onchain broadcast and settlement

  • Returns execution results to Swype