Tetyana Ponomarenko tanya@keep.digital
← Back to Home

Designing a reliable cross-chain migration experience

Helping users securely migrate UFC Strike assets from Flow to Aptos without losing trust in the process.

UFC Strike migration experience collage showing NFT browsing and wallet migration screens

Context

UFC Strike assets were originally built on Flow and required migration to Aptos due to infrastructure changes.

Users needed to transfer owned assets without losing ownership, value, or trust.

Problem

The migration flow required solving multiple constraints simultaneously:

  • Users must connect both source (Flow) and destination (Aptos) wallets
  • Transactions are irreversible
  • Large asset holders require batching with multiple signatures
  • Failures can occur during processing
  • Users have limited understanding of blockchain mechanics

Migration flow

The core challenge was making a complex, multi-step, failure-prone process feel safe and understandable.

Entry Connect Flow Connect Aptos Prepare Migrate (batched) Complete

Connecting both wallets

Users must connect both wallets to validate ownership and define the destination.

UFC Strike migration flow with Flow wallet connected and Aptos wallet step highlighted UFC Strike link wallet modal with Fight.ID account and Aptos wallet options

Using Fight.ID as the identity layer

Fight.ID acts as an identity bridge, simplifying wallet setup and reducing friction. Aptos wallet tied to Fight.ID.

UFC Strike Flow wallet connection step before Fight.ID is available UFC Strike Aptos wallet connection step showing Fight.ID requirement message UFC Strike migration step with both wallets connected and migrate action ready

Migrating assets in batches

Migration is executed in batches to ensure reliability and prevent transaction failures.

UFC Strike migration step showing a button to migrate a batch of moments

Progress tracking

Making migration progress visible. Transparency → Trust.

UFC Strike migration progress status screen with burned and transferred moment counts

Failure handling

Failures are surfaced clearly, with recovery paths instead of silent errors.

Partial failures UFC Strike migration failure state explaining that five moments could not migrate
Recovery via support UFC Strike Aptos wallet screen showing migration unavailable and support path

Designing around constraints

  • Dual wallet dependency Clear step-by-step flow
  • Batched transactions Guided repeated signing
  • Irreversible actions Explicit failure recovery
  • Network uncertainty Visible migration progress

Outcome

0K+ UFC Strike moments were migrated from Flow to Aptos

Clear and manageable experience for everyday users.

Complex blockchain operations translated into a clear user flow.