Skip to content

Integration Spike: Crossmint Wallets × Trustless Work Escrow Demo Template #31

@techrebelgit

Description

@techrebelgit

Integration Spike: Crossmint Wallets × Trustless Work Escrow Demo Template

Summary

Build a working demo template that explores how Crossmint wallet infrastructure can be used with Trustless Work smart escrows on Stellar.

The goal of this spike is to create a developer-friendly reference application where a user can use a Crossmint-powered wallet experience to interact with the Trustless Work escrow lifecycle.

This is a build-first spike. The expected outcome is a working demo template, but because this is a new integration path, the contributor should also document technical findings, compatibility notes, limitations, and recommended next steps for a production-ready pilot.


Context

Trustless Work provides escrow infrastructure for the stablecoin economy. Developers can use the Trustless Work API, SDK, and open-source tools to create non-custodial, milestone-based escrow flows on Stellar.

A typical Trustless Work escrow flow includes:

  1. Deploying an escrow
  2. Funding the escrow
  3. Updating milestone status
  4. Approving a milestone
  5. Releasing funds
  6. Optionally handling disputes

Trustless Work actions are role-based. Different addresses may be assigned as:

  • Approver
  • Service Provider / Milestone Marker
  • Release Signer
  • Dispute Resolver
  • Receiver
  • Platform Address

Most write actions return an unsigned Stellar transaction/XDR. That transaction must be signed by the wallet assigned to the correct role and then submitted to the Stellar network.

Crossmint provides wallet infrastructure that can abstract wallet complexity for users and developers. For this spike, the contributor should focus primarily on Crossmint Wallets and, if time allows, document a future extension path for Crossmint Onramp.

This spike is strategically important because it may help Trustless Work explore an embedded wallet experience for escrow-powered applications.


Objective

Create a working Next.js demo template that uses Crossmint wallet infrastructure to interact with Trustless Work escrows on Stellar testnet.

The demo should show whether Crossmint wallets can support the transaction flow required to deploy, update, approve, and release Trustless Work escrows.


Primary User Story

As a developer building with Trustless Work, I want a reference template that shows how Crossmint wallets can be used to interact with escrow flows, so that I can create applications where users do not need to manage complex wallet infrastructure directly.


Recommended Technical Approach

The contributor should start simple and progressively expand.

Recommended path:

  1. Create a minimal Next.js application.
  2. Integrate Crossmint wallet infrastructure.
  3. Display the connected or created wallet address.
  4. Integrate Trustless Work using the API or SDK.
  5. Deploy a simple single-release escrow on testnet.
  6. Use the Crossmint wallet flow to handle the required transaction execution.
  7. Complete a minimal escrow lifecycle:
    • Deploy escrow
    • Change milestone status
    • Approve milestone
    • Release funds
  8. Document the architecture, implementation tradeoffs, and compatibility findings.

The contributor may use the Trustless Work SDK, API, or Escrow Blocks. However, the first priority is proving the transaction and signing flow. If Escrow Blocks make the UI easier, they can be added after the core escrow lifecycle works.


Important Technical Hypothesis

The core question of this spike is:

Can Crossmint wallet infrastructure be used as the wallet/signing/execution layer for Trustless Work escrow lifecycle actions on Stellar?

The contributor should investigate and document:

  • Can a Crossmint Stellar wallet execute the transactions required by Trustless Work?
  • Can the Crossmint wallet flow handle Trustless Work unsigned XDRs directly?
  • Is a custom transaction format or transformation required?
  • Does the final implementation use:
    • Crossmint transaction APIs only?
    • Trustless Work sendTransaction helper only?
    • A hybrid flow?
  • Can one Crossmint wallet play all Trustless Work roles for demo purposes?
  • Can multiple Crossmint wallets represent separate escrow parties?
  • What are the limitations of this integration today?

The goal is to build a working demo, but the findings are also part of the deliverable.


Must-Have Requirements

1. Next.js Demo Application

Create a clean demo app using Next.js.

The app should include:

  • Clear project structure
  • Basic UI for the escrow flow
  • Environment variable setup
  • Local development instructions
  • README documentation

Suggested stack:

  • Next.js
  • TypeScript
  • React
  • Trustless Work SDK or API
  • Crossmint Wallet APIs / SDKs
  • Tailwind or simple styling

2. Crossmint Wallet Integration

The app should support a Crossmint-powered wallet flow.

At minimum, the app should:

  • Create or connect a Crossmint wallet
  • Display the wallet address
  • Confirm the wallet is configured for Stellar testnet
  • Use the wallet address in the Trustless Work escrow role configuration

For the first version, it is acceptable for one wallet to play multiple Trustless Work roles in testnet.

Example simplified role mapping:

roles: {
  approver: crossmintWalletAddress,
  serviceProvider: crossmintWalletAddress,
  releaseSigner: crossmintWalletAddress,
  disputeResolver: crossmintWalletAddress,
  receiver: crossmintWalletAddress,
  platformAddress: crossmintWalletAddress
}

This is acceptable for demo purposes only. The README should explain that production use cases should assign roles according to the real business workflow.


3. Trustless Work Escrow Integration

The app should integrate with Trustless Work using one of the following:

  • Trustless Work API
  • Trustless Work React SDK
  • Trustless Work Escrow Blocks

The contributor should choose the path that makes the integration most reliable.

The app should support at least one complete single-release escrow lifecycle:

  1. Deploy escrow
  2. Change milestone status
  3. Approve milestone
  4. Release funds

Funding may be included if feasible. If funding is not completed through the Crossmint wallet flow, the contributor should document why and explain the recommended next step.


4. Transaction Execution Flow

This is the most important part of the spike.

Trustless Work write operations return unsigned transactions/XDRs. The contributor must test how this works with Crossmint wallet infrastructure.

The implementation should clearly show:

  • How the unsigned transaction is received from Trustless Work
  • How the transaction is passed into the Crossmint wallet flow
  • How the transaction is signed or executed
  • How the transaction is submitted to Stellar
  • How the app confirms success or failure

The contributor should document the final transaction flow in the README.

Example documentation format:

### Transaction Flow Used in This Demo

1. The app calls the Trustless Work endpoint/hook.
2. Trustless Work returns an unsigned transaction.
3. The app passes the transaction to Crossmint using ______.
4. Crossmint executes/signs/submits the transaction using ______.
5. The app confirms the result by ______.

If the contributor discovers that the flow requires a workaround, the workaround must be documented clearly.


5. Minimal Escrow UI

The app should include a simple UI with the following sections:

Wallet Section

  • Connect/create Crossmint wallet
  • Show wallet address
  • Show network

Deploy Escrow Section

  • Input or hardcoded demo escrow data
  • Button to deploy escrow
  • Show returned escrow/contract ID

Milestone Section

  • Button to mark milestone as completed / ready for review
  • Button to approve milestone
  • Display milestone status if available

Release Section

  • Button to release funds
  • Display transaction result

Debug / Logs Section

  • Show important transaction states
  • Show returned responses
  • Show errors in a developer-friendly way

The UI does not need to be production-grade. It should be clear enough for another developer to understand the flow.


Nice-to-Have Requirements

These are optional and should only be attempted after the must-have flow works.

1. Crossmint Onramp Extension Path

Explore or document how Crossmint Onramp could be added later to fund the user wallet or escrow-related flow.

This does not need to be fully implemented in v1.

The README should include a section:

## Onramp Extension Path

This section explains how Crossmint Onramp could be added in a future version to let users acquire or fund stablecoins before interacting with Trustless Work escrows.

Include:

  • Whether Onramp is available in staging
  • What would be required for production
  • Whether the onramp should fund the user wallet or support the escrow funding flow
  • Known limitations

2. Multiple Role Wallets

Add support for multiple Crossmint wallets representing different escrow parties:

  • Client / Approver
  • Service Provider / Milestone Marker
  • Release Signer
  • Receiver
  • Platform Address

This would make the demo more realistic, but it is not required for the first version.


3. Escrow Blocks UI

If compatible, add Trustless Work Escrow Blocks to improve the frontend experience.

The contributor should only add Escrow Blocks after the core transaction flow is working.


4. Multi-Release Escrow

Add a multi-release escrow example with multiple milestones.

This is optional. The first version should prioritize a single-release escrow because it is easier to validate.


5. Demo Video

Add a short Loom or screen recording showing:

  • Wallet setup
  • Escrow deployment
  • Milestone update
  • Approval
  • Release
  • Final result

Out of Scope

The following are not required for this spike:

  • Production-ready Crossmint integration
  • Mainnet deployment
  • Full KYC or production onramp flow
  • Full dispute resolution flow
  • Enterprise-grade UI
  • Multi-chain funding
  • Legal/compliance review
  • Support for every Trustless Work escrow type
  • Support for every Crossmint wallet configuration
  • Custodial wallet flows beyond the selected Crossmint approach

Suggested Environment Variables

The contributor should document all required environment variables.

Example:

NEXT_PUBLIC_TRUSTLESS_WORK_API_URL=
NEXT_PUBLIC_TRUSTLESS_WORK_API_KEY=

NEXT_PUBLIC_CROSSMINT_CLIENT_API_KEY=
CROSSMINT_SERVER_API_KEY=
CROSSMINT_PROJECT_ID=
CROSSMINT_ENVIRONMENT=staging

The final list may differ depending on the Crossmint implementation path.

Do not commit secrets to the repository.


Documentation Requirements

The final PR must include a README with:

  1. Project overview
  2. Setup instructions
  3. Required environment variables
  4. How to run locally
  5. How the Crossmint wallet flow works
  6. How the Trustless Work escrow flow works
  7. Transaction flow explanation
  8. What worked
  9. What did not work
  10. Known limitations
  11. Recommended next steps
  12. Screenshots or demo video if available

Suggested README Structure

# Crossmint × Trustless Work Escrow Demo

## Overview

## Why This Demo Exists

## Architecture

## Prerequisites

## Environment Variables

## Installation

## Running Locally

## Demo Flow

### 1. Create or Connect Crossmint Wallet

### 2. Deploy Trustless Work Escrow

### 3. Update Milestone Status

### 4. Approve Milestone

### 5. Release Funds

## Transaction Flow

## Crossmint Integration Notes

## Trustless Work Integration Notes

## Known Limitations

## Onramp Extension Path

## Recommended Next Steps

## References

Acceptance Criteria

This spike is complete when:

  • A developer can clone the repository and run the demo locally.
  • The app integrates Crossmint wallet infrastructure.
  • The app displays a Crossmint-powered Stellar wallet address.
  • The app integrates with Trustless Work testnet.
  • The app can deploy a Trustless Work escrow or clearly documents the blocker if deployment is not possible.
  • The app can execute at least one additional escrow lifecycle action such as milestone update, approval, or release.
  • The app documents how Trustless Work unsigned transactions were handled.
  • The README explains the final architecture and transaction flow.
  • The README includes compatibility findings.
  • The README includes known limitations.
  • The README includes recommended next steps for a production pilot.
  • The PR includes screenshots or a short demo recording.

Definition of Done

A contributor should submit a pull request containing:

  1. A working Next.js demo template
  2. Crossmint wallet integration
  3. Trustless Work escrow integration
  4. At least one working escrow lifecycle flow
  5. Clear README documentation
  6. Compatibility findings
  7. Recommended next steps

The PR should be understandable by a developer who is new to Trustless Work.


Contributor Guidance

This is an exploratory integration spike, but the goal is to build.

Do not treat this as only a research report. Start by trying to make the demo work. As you build, document what you discover.

A strong submission explains not only the final code, but also the integration path:

  • What worked immediately?
  • What required adaptation?
  • What was unclear?
  • What should Trustless Work improve in its docs or SDK?
  • What should Crossmint clarify for Stellar smart wallet integrations?
  • Is this integration promising enough for an official pilot?

The best outcome is a reusable template that future builders can clone, run, and learn from.


References

Trustless Work

Crossmint



::contentReference[oaicite:2]{index=2}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave program

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions