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:
- Deploying an escrow
- Funding the escrow
- Updating milestone status
- Approving a milestone
- Releasing funds
- 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:
- Create a minimal Next.js application.
- Integrate Crossmint wallet infrastructure.
- Display the connected or created wallet address.
- Integrate Trustless Work using the API or SDK.
- Deploy a simple single-release escrow on testnet.
- Use the Crossmint wallet flow to handle the required transaction execution.
- Complete a minimal escrow lifecycle:
- Deploy escrow
- Change milestone status
- Approve milestone
- Release funds
- 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:
- Deploy escrow
- Change milestone status
- Approve milestone
- 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:
- Project overview
- Setup instructions
- Required environment variables
- How to run locally
- How the Crossmint wallet flow works
- How the Trustless Work escrow flow works
- Transaction flow explanation
- What worked
- What did not work
- Known limitations
- Recommended next steps
- 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:
Definition of Done
A contributor should submit a pull request containing:
- A working Next.js demo template
- Crossmint wallet integration
- Trustless Work escrow integration
- At least one working escrow lifecycle flow
- Clear README documentation
- Compatibility findings
- 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}
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:
Trustless Work actions are role-based. Different addresses may be assigned as:
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:
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:
The contributor should investigate and document:
sendTransactionhelper only?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:
Suggested stack:
2. Crossmint Wallet Integration
The app should support a Crossmint-powered wallet flow.
At minimum, the app should:
For the first version, it is acceptable for one wallet to play multiple Trustless Work roles in testnet.
Example simplified role mapping:
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:
The contributor should choose the path that makes the integration most reliable.
The app should support at least one complete single-release escrow lifecycle:
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:
The contributor should document the final transaction flow in the README.
Example documentation format:
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
Deploy Escrow Section
Milestone Section
Release Section
Debug / Logs Section
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:
2. Multiple Role Wallets
Add support for multiple Crossmint wallets representing different escrow parties:
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:
Out of Scope
The following are not required for this spike:
Suggested Environment Variables
The contributor should document all required environment variables.
Example:
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:
Suggested README Structure
Acceptance Criteria
This spike is complete when:
Definition of Done
A contributor should submit a pull request containing:
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:
The best outcome is a reusable template that future builders can clone, run, and learn from.
References
Trustless Work
Crossmint