# Trustless Work

## VERSION 1

- [Welcome](https://docs.trustlesswork.com/trustless-work/introduction/readme.md): This is the developer documentation for Trustless Work.
- [AI optimized docs](https://docs.trustlesswork.com/trustless-work/introduction/readme/ai-optimized-docs.md)
- [Why Escrows Matter](https://docs.trustlesswork.com/trustless-work/introduction/readme/why-escrows-matter.md)
- [Who Should Use This](https://docs.trustlesswork.com/trustless-work/introduction/readme/who-should-use-this.md)
- [Links](https://docs.trustlesswork.com/trustless-work/introduction/readme/links.md): Quick links to core docs, tools, and external resources.
- [Escrow Design](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview.md): We don’t hold your money—we hold the logic.
- [Roles in Trustless Work](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/roles-in-trustless-work.md): Let's understand what each role represents!
- [Escrow Properties](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/what-does-a-smart-escrow-look-like.md): An escrow is just structured data — a JSON body that defines how funds are held, released, and tracked. Each property tells the contract who does what, when funds move, and under which conditions.
- [Escrow Types](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-types.md)
- [Escrow Lifecycle](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle.md): The escrow lifecycle is the structured flow of actions and responsibilities that secure a transaction. At Trustless Work, we break this into clear phases, ensuring transparency, adaptability, and cons
- [Initiation Phase](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/initiation-phase.md)
- [Funding Phase](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/funding-phase.md)
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/milestone-status-update.md)
- [Approval phase](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/approval-phase.md)
- [Release phase](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/release-phase.md)
- [Dispute Resolution](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/escrow-lifecycle/dispute-resolution.md)
- [Architecture & Design Strategy](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/architecture-and-design-strategy.md)
- [Escrow products Mix & Match Guide](https://docs.trustlesswork.com/trustless-work/introduction/technology-overview/smart-escrow-design.md): From idea to escrow in one day.
- [Stellar Network](https://docs.trustlesswork.com/trustless-work/introduction/stellar-and-soroban-the-backbone-of-trustless-work.md): Escrows need rails. Trustless Work runs on Stellar, a blockchain optimized for stablecoins, payments, and smart contracts.
- [Trustlines](https://docs.trustlesswork.com/trustless-work/introduction/stellar-and-soroban-the-backbone-of-trustless-work/trustlines.md): On Stellar, accounts must explicitly opt in to hold and use assets. This opt-in is called a trustline.
- [Testnet Tokens](https://docs.trustlesswork.com/trustless-work/introduction/stellar-and-soroban-the-backbone-of-trustless-work/testnet-tokens.md)
- [Stellar Wallets](https://docs.trustlesswork.com/trustless-work/introduction/stellar-and-soroban-the-backbone-of-trustless-work/stellar-wallets.md): A Comprehensive Developer's Guide to Stellar Wallet Integrations
- [Freighter Wallet](https://docs.trustlesswork.com/trustless-work/introduction/stellar-and-soroban-the-backbone-of-trustless-work/stellar-wallets/freighter-wallet.md)
- [Developer Guide](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources.md): Start building on Trustless Work with the REST API or SDKs.
- [Request API Key](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/request-api-key.md): Request an API Key to interact with all the endpoints.
- [Integration checklist](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/integration-checklist.md)
- [Authentication](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/authentication.md)
- [Schema](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/schema.md)
- [Architecture](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/architecture.md): Step-by-step instructions to help you connect your product with Trustless Work smoothly and efficiently.
- [Types](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types.md): All the entities that you'll need.
- [Basic](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/basic.md)
- [Entities](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/entities.md)
- [Payloads](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads.md)
- [Deploy](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/deploy.md)
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/update-escrow.md)
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/fund-escrow.md)
- [Approve Milestone](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/approve-milestone.md)
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/change-milestone-status.md)
- [Release Funds](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/release-funds.md)
- [Start Dispute](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/start-dispute.md)
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/resolve-dispute.md)
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/withdraw-remaining-funds.md)
- [Get Balances](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/get-balances.md)
- [Get Escrows by Contract ID](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/get-escrows-by-contract-id.md)
- [Get Escrows by Signer](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/get-escrows-by-signer.md)
- [Get Escrows by Role](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/payloads/get-escrows-by-role.md)
- [Responses](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/responses.md)
- [Errors](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/types/errors.md)
- [Stellar Wallet Kit - Quick Integration](https://docs.trustlesswork.com/trustless-work/introduction/developer-resources/stellar-wallet-kit-quick-integration.md)
- [Introduction](https://docs.trustlesswork.com/trustless-work/api-rest/introduction.md): How to get started in Trustless Work API REST
- [Single Release Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy.md): Single-Release Escrow is a type in which all your funds are released only once, either with the resolution of a dispute or by completing all the milestones defined for it.
- [Deploy](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/initialize-escrow.md): Deploy the escrow contract and define the escrow properties.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/fund-escrow.md): Allows users to deposit funds into an existing escrow contract, securing them until the agreed conditions are met.
- [Approve Milestone](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/change-milestone-flag.md): Responsible for approving the milestone through the escrow approver.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/change-milestone-status.md): Responsible for changing the milestone status of an escrow through the service provider.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/release-funds.md): You release the escrow funds to the service provider through the approver.
- [Dispute Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/change-dispute-flag.md): Responsible for initiating a dispute in an escrow. Change the value of the flag “disputed” from “disputed” to true.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/resolving-disputes.md): Resolves escrow disputes by distributing funds to the approver and service provider as determined by the dispute resolver.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy/update-escrow-properties.md): This endpoint allows you to change the properties of an escrow as long as a series of requirements are met, which will be mentioned in this section.
- [Multi Release Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1.md)
- [Deploy](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/initialize-escrow.md): Deploy the escrow contract and define the escrow properties.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/fund-escrow.md): Allows users to deposit funds into an existing escrow contract, securing them until the agreed conditions are met.
- [Approve Milestone](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/change-milestone-flag.md): Responsible for modifying the "flag" property of a specific milestone in the escrow to approve that milestone.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/change-milestone-status.md): Responsible for modifying the "status" property of a specific milestone in the escrow.
- [Release Milestone Funds](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/release-funds.md): You release the milestone escrow funds to the service provider through the approver.
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/withdraw-remaining-funds.md)
- [Dispute Milestone](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/change-dispute-flag.md): Responsible for setting the milestone in dispute state. Changes the value of the milestone's "flags.disputed" property to true.
- [Resolve Milestone Dispute](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/resolving-disputes.md): Resolves escrow milestone disputes by distributing funds to the approver and service provider as determined by the dispute resolver.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/api-rest/deploy-1/update-escrow-properties.md): This endpoint allows you to change the properties of an escrow as long as a series of requirements are met, which will be mentioned in this section.
- [Helpers](https://docs.trustlesswork.com/trustless-work/api-rest/helpers.md): These endpoints provide a way to receive tokens through Trustline and send any transactions to the Stellar Blockchain.
- [Send Transaction](https://docs.trustlesswork.com/trustless-work/api-rest/helpers/send-transaction.md): Most Trustless Work endpoints return an unsigned transaction in XDR format. This endpoint is used to sign such unsigned transactions and send them to the Stellar network.
- [Indexer](https://docs.trustlesswork.com/trustless-work/api-rest/indexer.md): This endpoint facilitates the recovery and proper storage in Firebase of escrow-related information submitted to the Stellar Blockchain via external applications, bypassing the standard application.
- [Get Multiple Escrow Balance](https://docs.trustlesswork.com/trustless-work/api-rest/indexer/get-multiple-escrow-balance.md): Get the balance of multiple escrows.
- [Get Escrows By Contract Ids](https://docs.trustlesswork.com/trustless-work/api-rest/indexer/get-escrow-by-contract-ids.md): Returns all the information of a security deposit requested through one or more requested contract ids.
- [Get Escrows By Signer](https://docs.trustlesswork.com/trustless-work/api-rest/indexer/get-escrow-by-contract-id.md): Returns all the information of an escrow requested through the signer.
- [Get Escrows By Role](https://docs.trustlesswork.com/trustless-work/api-rest/indexer/get-escrow-by-contract-id-1.md): Returns all the information of an escrow requested through the role.
- [Update From Tx Hash](https://docs.trustlesswork.com/trustless-work/api-rest/indexer/update-escrow-properties.md): This endpoint allows you to change the properties of an escrow as long as a series of requirements are met, which will be mentioned in this section.
- [Introduction](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/introduction.md): A production-ready set of React blocks for integrating Trustless Work’s escrow flows.
- [Getting Started](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/getting-started.md)
- [Single Release Lifecycle](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/single-release-lifecycle.md)
- [Dependent Blocks](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/dependent-blocks.md)
- [Wallet Kit](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/wallet-kit.md): Wallet provider, validators and a connect button powered by Stellar Wallets Kit.
- [Escrows](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows.md)
- [Escrows by Signer](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/escrows-by-signer.md): Table and Cards layout to explore escrows by signer with sorting and filtering. This component contains a detailed view of the escrow, including the signer, status, and actions.
- [Escrows by Role](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/escrows-by-role.md): Table and Cards layout to explore escrows by role with sorting and filtering. This component contains a detailed view of the escrow, including the signer, status, and actions.
- [Initialize Escrow](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/initialize-escrow.md): Component to initialize an escrow with different variants and types.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/fund-escrow.md): Component to fund an escrow using form, button and dialog variants.
- [Approve Milestone](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/approve-milestone.md): Component to approve a milestone with form, button and dialog variants.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/change-milestone-status.md): Component to change milestone status with form, button and dialog variants.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/release-funds.md): Action to release escrow funds.
- [Dispute Escrow](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/dispute-escrow.md): Action to raise a dispute in the escrow or milestone.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/resolve-dispute.md): Component to resolve disputes with form, button and dialog variants.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/update-escrow.md): Component to update escrow configuration with form and dialog variants.
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/escrows/withdraw-remaining-funds.md): Component to withdraw remaining funds with form, button and dialog variants.
- [Dashboard](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/dashboard.md): Component to show the basic dashboard of the escrows by signer.
- [Indicators](https://docs.trustlesswork.com/trustless-work/escrow-blocks-sdk/indicators.md): Component to show the balance progress of the escrow based on the target.
- [Introduction](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/introduction.md)
- [Getting Started](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/getting-started.md)
- [useSendTransaction](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/usesendtransaction.md): Most Trustless Work endpoints return an unsigned transaction in XDR format. This endpoint is used to sign such unsigned transactions and send them to the Stellar network.
- [Escrows](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows.md)
- [useInitializeEscrow](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/useinitializeescrow.md): Deploy the escrow contract and define the escrow properties.
- [useUpdateEscrow](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/useupdateescrow.md): This endpoint allows you to change the properties of an escrow as long as a series of requirements are met, which will be mentioned in this section.
- [useFundEscrow](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/usefundescrow.md): Allows users to deposit funds into an existing escrow contract, securing them until the agreed conditions are met.
- [useApproveMilestone](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/useapprovemilestone.md): Responsible for modifying the "flag" property of a specific milestone in the escrow to approve that milestone.
- [useChangeMilestoneStatus](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/usechangemilestonestatus.md): Responsible for modifying the "status" property of a specific milestone in the escrow.
- [useReleaseFunds](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/usereleasefunds.md): You release the escrow funds to the service provider through the approver.
- [useStartDispute](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/usestartdispute.md): Responsible for setting the escrow in dispute state. Changes the value of the escrow's "disputed" flag property to true.
- [useResolveDispute](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/useresolvedispute.md): Resolves escrow disputes by distributing funds to the approver and service provider as determined by the dispute resolver.
- [useWithdrawRemainingFunds](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/escrows/usewithdrawremainingfunds.md): In a multi-release escrow, when some funds are locked, you can use this hook to release the remaining funds
- [Indexer](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/indexer.md)
- [useGetMultipleEscrowBalances](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/indexer/usegetmultipleescrowbalances.md): Returns all the information of an escrow requested through the contractId.
- [useGetEscrowFromIndexerByContractIds](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/indexer/usegetescrowfromindexerbycontractids.md): Returns the escrows that you're looking for. It comes from our indexer (database) synchronizer with the blockchain.
- [useGetEscrowsFromIndexerBySigner](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/indexer/usegetescrowsfromindexerbysigner.md): Returns the escrows that you're looking for. It comes from our indexer (database) synchronizer with the blockchain.
- [useGetEscrowsFromIndexerByRole](https://docs.trustlesswork.com/trustless-work/escrow-react-sdk/indexer/usegetescrowsfromindexerbyrole.md): Returns the escrows that you're looking for. It comes from our indexer (database) synchronizer with the blockchain.
- [Skill](https://docs.trustlesswork.com/trustless-work/ai/skill.md): AI coding assistants full context about Trustless Work, including escrow flows, XDR signing, SDK patterns, and integration best practices.
- [Vibe Coding | Blocks SDK](https://docs.trustlesswork.com/trustless-work/ai/vibe-coding-or-blocks-sdk.md)
- [Vibe Coding | React SDK](https://docs.trustlesswork.com/trustless-work/ai/vibe-coding-or-react-sdk.md)
- [MCP](https://docs.trustlesswork.com/trustless-work/ai/mcp.md): Model Context Protocol (MCP) enables AI tools and agents to seamlessly integrate with Trustless Work’s escrow infrastructure through a unified and context-aware interface.
- [Introduction](https://docs.trustlesswork.com/trustless-work/go-to-mainnet/introduction.md)
- [API REST](https://docs.trustlesswork.com/trustless-work/go-to-mainnet/api-rest.md): In this section, you'll learn how to go mainnet by using our API REST
- [React SDK](https://docs.trustlesswork.com/trustless-work/go-to-mainnet/react-sdk.md): In this section, you'll learn how to go mainnet by using our React SDK
- [Blocks SDK](https://docs.trustlesswork.com/trustless-work/go-to-mainnet/blocks-sdk.md): In this section, you'll learn how to go mainnet by using our React Blocks SDK
- [Introduction](https://docs.trustlesswork.com/trustless-work/oss-dapps/introduction.md)
- [Backoffice](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice.md): Interact with Escrows Seamlessly
- [Step 1: Accessing the Trustless Work Dapp and Logging In](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-1-accessing-the-trustless-work-dapp-and-logging-in.md)
- [Step 2: Creating a Profile and Requesting an API Key](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-2-creating-a-profile-and-requesting-an-api-key.md)
- [Step 3: Creating an Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-3-creating-an-escrow.md)
- [Step 4: Funding an Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-4-funding-an-escrow.md)
- [Step 5: Marking a Milestone as Done ✅](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-5-marking-a-milestone-as-done.md)
- [Step 6: Approving the Milestone](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-6-approving-the-milestone.md)
- [Step 7: Releasing the Payment](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/step-7-releasing-the-payment.md)
- [Resolving Disputes](https://docs.trustlesswork.com/trustless-work/oss-dapps/backoffice/resolving-disputes.md)
- [Escrow Viewer](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-viewer.md)
- [OfferHub - Marketplace](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace.md): Stablecoin-powered marketplace
- [System Components](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/system-components.md)
- [Trust, Custody, and Boundaries](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/trust-custody-and-boundaries.md)
- [Roles and Permissions](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/roles-and-permissions.md)
- [Lifecycle and States](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/lifecycle-and-states.md)
- [Core Flows](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows.md)
- [User Accounts & Profiles](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/user-accounts-and-profiles.md)
- [Fund Account (Top-Up)](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/fund-account-top-up.md)
- [Purchase & Escrow Funding](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/purchase-and-escrow-funding.md)
- [Delivery & Approval](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/delivery-and-approval.md)
- [Disputes](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/disputes.md)
- [Release](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/release.md)
- [Payouts](https://docs.trustlesswork.com/trustless-work/oss-dapps/offerhub-marketplace/core-flows/payouts.md)
- [Tokenization - Private Credit](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit.md): We built this for Stellar Hack + on November 16-24 in Buenos Aires, Argentina. Pura Vida.
- [Introduction & Motivation](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/introduction-and-motivation.md)
- [Lifecycle Overview](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/lifecycle-overview.md)
- [Project Creator Flow](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/project-creator-flow.md)
- [Project Manager Flow (Dashboard dApp)](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/project-manager-flow-dashboard-dapp.md)
- [Investor Flow (Investor Portal dApp)](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/investor-flow-investor-portal-dapp.md)
- [Future Roadmap](https://docs.trustlesswork.com/trustless-work/oss-dapps/tokenization-private-credit/future-roadmap.md)
- [Escrow Lab](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab.md): In this section, we built a demo project using the TW API.
- [Getting Started](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/getting-started.md): Start building the demo project.
- [Configuration](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/configuration.md): Initial configuration of external libs.
- [Context API](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/context-api.md): Providers that you'll need.
- [Wallet Setup](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/wallet-setup.md): We're going to use the Stellar Wallet Kit, and setup all the configuration in order to sign transactions.
- [Trustlines](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/trustlines.md): In Stellar, a Trustline is a link that a user (account) creates to trust and hold a specific asset issued by another account (like USDC, EURC, etc.). Without a Trustline, you can only hold XLM.
- [Services](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/services.md): We set a unique and generic service in order to interact with Trustless Work API.
- [Helpers](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/helpers.md): Some important helpers that we'll need.
- [Error Handling](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/error-handling.md): The best way to manage some errors.
- [Forms](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms.md): Recommended forms for every endpoint.
- [Initialize Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/initialize-escrow.md): The ideal form for this endpoint.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/fund-escrow.md): The ideal form for this endpoint.
- [Get Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/get-escrow.md): The ideal form for this endpoint.
- [Get Multiple Escrow Balances](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/get-multiple-escrow-balances.md): The ideal form for this endpoint.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/resolve-dispute.md): The ideal schema for this endpoint.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/change-milestone-status.md): The ideal schema for this endpoint.
- [Change Milestone Flag](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/change-milestone-flag.md): The ideal schema for this endpoint.
- [Change Dispute Flag](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/change-dispute-flag.md): The ideal schema for this endpoint.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/release-funds.md): The ideal schema for this endpoint.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/forms/update-escrow.md): The ideal schema for this endpoint.
- [UI Components](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/ui-components.md): We provide a simple UI components in order to execute the endpoints.
- [Pages](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/ui-components/pages.md): The main page of escrows.
- [Cards](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/ui-components/cards.md): UI Cards Components.
- [Tabs](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/ui-components/tabs.md): Tabs UI Components.
- [Utils](https://docs.trustlesswork.com/trustless-work/oss-dapps/escrow-lab/ui-components/utils.md): Utils UI Components.
- [GrantFox - Reward Payouts](https://docs.trustlesswork.com/trustless-work/oss-dapps/grantfox-reward-payouts.md)
- [KindFi - Crowdfunding](https://docs.trustlesswork.com/trustless-work/oss-dapps/kindfi-crowdfunding.md)
- [Pacto - P2P OTC](https://docs.trustlesswork.com/trustless-work/oss-dapps/pacto-p2p-otc.md)
- [Introduction](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/introduction.md)
- [Marketplaces & E-commerce](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/marketplaces-and-e-commerce.md)
- [P2P Exchanges and OTC Desks](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/p2p-exchanges-and-otc-desks.md)
- [Security Deposits](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/security-deposits.md)
- [Milestone-based Freelance & Contract Work](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/milestone-based-freelance-and-contract-work.md)
- [Crowdfunding & Pre-orders](https://docs.trustlesswork.com/trustless-work/use-cases-by-indutry/crowdfunding-and-pre-orders.md)
- [Ecosystem](https://docs.trustlesswork.com/trustless-work/community-and-contribution/ecosystem.md): Discover projects building with Trustless Work, and submit yours to be listed.
- [Contributor's Guide](https://docs.trustlesswork.com/trustless-work/community-and-contribution/get-involved.md)
- [Troubleshooting & FAQs](https://docs.trustlesswork.com/trustless-work/support/troubleshooting.md)

## VERSION 2

- [Welcome](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/readme.md): Welcome to the Trustless Work Core API, running on Stellar Testnet.
- [AI optimized docs](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/readme/ai-optimized-docs.md)
- [Why Escrows Matter](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/readme/why-escrows-matter.md)
- [Who Should Use This](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/readme/who-should-use-this.md)
- [Links](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/readme/links.md): Quick links to core docs, tools, and external resources.
- [Escrow Design](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview.md): We don’t hold your money—we hold the logic.
- [Roles in Trustless Work](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/roles-in-trustless-work.md): Let's understand what each role represents!
- [Escrow Properties](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/what-does-a-smart-escrow-look-like.md): An escrow is just structured data — a JSON body that defines how funds are held, released, and tracked. Each property tells the contract who does what, when funds move, and under which conditions.
- [Escrow Types](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-types.md)
- [Escrow Lifecycle](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle.md): The escrow lifecycle is the structured flow of actions and responsibilities that secure a transaction. At Trustless Work, we break this into clear phases, ensuring transparency, adaptability, and cons
- [Initiation Phase](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/initiation-phase.md)
- [Funding Phase](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/funding-phase.md)
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/milestone-status-update.md)
- [Approval phase](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/approval-phase.md)
- [Release phase](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/release-phase.md)
- [Dispute Resolution](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/escrow-lifecycle/dispute-resolution.md)
- [Architecture & Design Strategy](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/architecture-and-design-strategy.md)
- [Escrow products Mix & Match Guide](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/technology-overview/smart-escrow-design.md): From idea to escrow in one day.
- [Stellar Network](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/stellar-and-soroban-the-backbone-of-trustless-work.md): Escrows need rails. Trustless Work runs on Stellar, a blockchain optimized for stablecoins, payments, and smart contracts.
- [Trustlines](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/stellar-and-soroban-the-backbone-of-trustless-work/trustlines.md): On Stellar, accounts must explicitly opt in to hold and use assets. This opt-in is called a trustline.
- [Testnet Tokens](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/stellar-and-soroban-the-backbone-of-trustless-work/testnet-tokens.md)
- [Stellar Wallets](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/stellar-and-soroban-the-backbone-of-trustless-work/stellar-wallets.md): A Comprehensive Developer's Guide to Stellar Wallet Integrations
- [Freighter Wallet](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/stellar-and-soroban-the-backbone-of-trustless-work/stellar-wallets/freighter-wallet.md)
- [Developer Guide](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/developer-resources.md): Start building on Trustless Work with the REST API or SDKs.
- [Get an API Key](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/developer-resources/request-api-key.md): Use it to authenticate Core API requests.
- [Schema](https://docs.trustlesswork.com/trustless-work/v2-en/introduction/developer-resources/schema.md)
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/introduction.md): Base URLs, the build-sign-submit loop, and the conventions every endpoint follows.
- [Errors](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors.md): Every error the API can return: the Problem Details envelope, how to handle it, and the full catalog of stable error codes.
- [AMOUNT\_INVALID](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/amount-invalid.md): amount is too large to be represented exactly.
- [AMOUNT\_OUT\_OF\_RANGE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/amount-out-of-range.md): amount is larger than the maximum on-chain value (i128).
- [AMOUNT\_PRECISION\_UNSUPPORTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/amount-precision-unsupported.md): An amount has more decimal places than the asset supports.
- [API\_KEY\_LIMIT\_REACHED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/api-key-limit-reached.md): You have reached the maximum number of active API keys. Revoke one before creating another.
- [AUTH\_BOOTSTRAP\_ALREADY\_DONE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-bootstrap-already-done.md): An admin already exists. Create additional admins via POST /admin/api-keys.
- [AUTH\_BOOTSTRAP\_EMAIL\_TAKEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-bootstrap-email-taken.md): A user with that email already exists.
- [AUTH\_BOOTSTRAP\_INVALID\_SECRET](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-bootstrap-invalid-secret.md): Invalid bootstrap secret.
- [AUTH\_BOOTSTRAP\_SECRET\_NOT\_CONFIGURED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-bootstrap-secret-not-configured.md): Bootstrap is disabled because ADMIN\_BOOTSTRAP\_SECRET is not set.
- [AUTH\_CREDENTIAL\_MISSING](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-credential-missing.md): Deploy routes require an authenticated credential.
- [AUTH\_INSUFFICIENT\_ROLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-insufficient-role.md): API key does not have permission for this operation.
- [AUTH\_INVALID\_CREDENTIAL](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-invalid-credential.md): Invalid API key.
- [AUTH\_INVALID\_FORMAT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-invalid-format.md): Invalid API key format.
- [AUTH\_KEY\_EXPIRY\_IN\_PAST](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-key-expiry-in-past.md): expiresAt must be in the future.
- [AUTH\_KEY\_EXPIRY\_TOO\_FAR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-key-expiry-too-far.md): The requested key expiry exceeds the maximum allowed lifetime.
- [AUTH\_KEY\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-key-not-found.md): API key not found.
- [AUTH\_KEY\_NO\_ROLES](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-key-no-roles.md): At least one role is required.
- [AUTH\_ROLE\_CEILING](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-role-ceiling.md): Cannot grant a role higher than your own.
- [AUTH\_SESSION\_BAD\_ALG](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-bad-alg.md): The JWT declares an unexpected signing algorithm.
- [AUTH\_SESSION\_BAD\_SIGNATURE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-bad-signature.md): The JWT signature does not verify.
- [AUTH\_SESSION\_EXPIRED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-expired.md): The wallet-session JWT is past its expiry.
- [AUTH\_SESSION\_INVALID](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-invalid.md): The JWT payload is missing required claims or fails validation.
- [AUTH\_SESSION\_MALFORMED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-malformed.md): The bearer token is not a parseable JWT.
- [AUTH\_SESSION\_NOT\_CONFIGURED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-not-configured.md): Wallet-session auth is not configured (set SESSION\_JWT\_SECRET to at least 32 chars).
- [AUTH\_SESSION\_REVOKED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-revoked.md): Session has been revoked. Sign in again.
- [AUTH\_SESSION\_UNAVAILABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-session-unavailable.md): Session auth is not enabled on this server.
- [AUTH\_USER\_ID\_INVALID](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-user-id-invalid.md): userId must be a valid BigInt-compatible string.
- [AUTH\_USER\_INACTIVE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-user-inactive.md): Cannot create API keys for inactive users.
- [AUTH\_USER\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/auth-user-not-found.md): User not found.
- [BAD\_REQUEST](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/bad-request.md): The request body or parameters failed basic validation before reaching domain logic.
- [CONFLICT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/conflict.md): The request conflicts with current state.
- [ESCROW\_ADMIN\_ADDRESS\_CANNOT\_BE\_CHANGED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-admin-address-cannot-be-changed.md): Admin address cannot be changed after initialization.
- [ESCROW\_ADMIN\_ADDRESS\_OVERLAPS\_WITH\_OTHER\_ROLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-admin-address-overlaps-with-other-role.md): Admin address must not overlap with any other role.
- [ESCROW\_ALREADY\_INITIALIZED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-already-initialized.md): Escrow is already initialized.
- [ESCROW\_ALREADY\_IN\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-already-in-dispute.md): Escrow is already in dispute.
- [ESCROW\_ALREADY\_RELEASED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-already-released.md): Escrow funds were already released.
- [ESCROW\_ALREADY\_RESOLVED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-already-resolved.md): Escrow dispute is already resolved.
- [ESCROW\_AMOUNTS\_TO\_TRANSFER\_SHOULD\_BE\_POSITIVE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-amounts-to-transfer-should-be-positive.md): Transfer amounts must be positive.
- [ESCROW\_AMOUNT\_CANNOT\_BE\_ZERO](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-amount-cannot-be-zero.md): Amount must be greater than zero.
- [ESCROW\_APPROVERS\_LIST\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-approvers-list-empty.md): roles.approvers must contain at least one address.
- [ESCROW\_APPROVER\_ALREADY\_APPROVED\_MILESTONE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-approver-already-approved-milestone.md): This approver already approved this milestone.
- [ESCROW\_APPROVER\_OR\_RECEIVER\_FUNDS\_LESS\_THAN\_ZERO](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-approver-or-receiver-funds-less-than-zero.md): Approver or receiver funds cannot be negative.
- [ESCROW\_BALANCE\_NOT\_ENOUGH\_TO\_SEND\_EARNINGS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-balance-not-enough-to-send-earnings.md): Escrow balance is insufficient to release the earnings.
- [ESCROW\_BATCH\_MILESTONE\_APPROVE\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-batch-milestone-approve-empty.md): approve\_milestones batch cannot be empty.
- [ESCROW\_BATCH\_MILESTONE\_DISPUTE\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-batch-milestone-dispute-empty.md): dispute\_milestones requires at least one milestone index.
- [ESCROW\_BATCH\_MILESTONE\_UPDATE\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-batch-milestone-update-empty.md): change\_milestone\_status batch cannot be empty.
- [ESCROW\_BATCH\_TOO\_LARGE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-batch-too-large.md): Milestone batch exceeded the maximum size of 50 entries.
- [ESCROW\_CANT\_RELEASE\_A\_MILESTONE\_IN\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-cant-release-a-milestone-in-dispute.md): Cannot release a milestone that is in dispute.
- [ESCROW\_DISPUTE\_RESOLVERS\_LIST\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-dispute-resolvers-list-empty.md): roles.dispute\_resolvers must contain at least one address.
- [ESCROW\_DISPUTE\_RESOLVER\_CANNOT\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-dispute-resolver-cannot-dispute.md): The dispute resolver cannot initiate a dispute.
- [ESCROW\_DISPUTE\_RESOLVER\_CANNOT\_DISPUTE\_MILESTONE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-dispute-resolver-cannot-dispute-milestone.md): The dispute resolver cannot initiate a dispute on a milestone.
- [ESCROW\_DISTRIBUTIONS\_MUST\_EQUAL\_BALANCE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-distributions-must-equal-balance.md): Distributions must equal the total escrow balance.
- [ESCROW\_DIVISION\_ERROR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-division-error.md): Arithmetic division error while processing the escrow.
- [ESCROW\_DUPLICATE\_ADDRESS\_IN\_ROLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-duplicate-address-in-role.md): A role list contains duplicate addresses.
- [ESCROW\_DUPLICATE\_MILESTONE\_INDEX](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-duplicate-milestone-index.md): Duplicate milestone indices are not allowed in the batch.
- [ESCROW\_EMPTY\_MILESTONE\_STATUS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-empty-milestone-status.md): Milestone status cannot be empty.
- [ESCROW\_FILTER\_FORBIDDEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-filter-forbidden.md): Your credential cannot use the requested escrow filter (e.g. filtering another platform's escrows).
- [ESCROW\_FLAGS\_MUST\_BE\_FALSE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-flags-must-be-false.md): Escrow flags (approved, disputed, released) must all be false for this action.
- [ESCROW\_HAS\_FUNDS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-has-funds.md): Escrow still holds funds; action blocked.
- [ESCROW\_INCOMPATIBLE\_WASM\_HASH](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-incompatible-wasm-hash.md): Target contract is not an instance of the expected escrow type.
- [ESCROW\_INSUFFICIENT\_APPROVER\_FUNDS\_FOR\_COMMISSIONS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-approver-funds-for-commissions.md): Approver has insufficient funds for commissions.
- [ESCROW\_INSUFFICIENT\_ESCROW\_FUNDS\_TO\_MAKE\_REFUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-escrow-funds-to-make-refund.md): Insufficient escrow funds to make the refund.
- [ESCROW\_INSUFFICIENT\_FUNDS\_FOR\_FUNDING](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-funds-for-funding.md): Insufficient funds to fund the escrow.
- [ESCROW\_INSUFFICIENT\_FUNDS\_FOR\_REFUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-funds-for-refund.md): Insufficient funds for refund.
- [ESCROW\_INSUFFICIENT\_FUNDS\_FOR\_RESOLUTION](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-funds-for-resolution.md): Insufficient funds to resolve the dispute.
- [ESCROW\_INSUFFICIENT\_SERVICE\_PROVIDER\_FUNDS\_FOR\_COMMISSIONS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-insufficient-service-provider-funds-for-commissions.md): Service provider has insufficient funds for commissions.
- [ESCROW\_INVALID\_MILESTONE\_INDEX](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-invalid-milestone-index.md): Milestone index is out of range.
- [ESCROW\_MILESTONE\_ALREADY\_DISPUTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-already-disputed.md): Targeted milestone is already in dispute.
- [ESCROW\_MILESTONE\_ALREADY\_IN\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-already-in-dispute.md): Milestone is already in dispute.
- [ESCROW\_MILESTONE\_ALREADY\_RELEASED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-already-released.md): Milestone funds were already released.
- [ESCROW\_MILESTONE\_ALREADY\_RESOLVED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-already-resolved.md): Milestone dispute is already resolved.
- [ESCROW\_MILESTONE\_APPROVED\_CANT\_CHANGE\_PROPERTIES](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-approved-cant-change-properties.md): Escrow properties cannot be modified after a milestone approval.
- [ESCROW\_MILESTONE\_HAS\_ALREADY\_BEEN\_APPROVED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-has-already-been-approved.md): Milestone was already approved.
- [ESCROW\_MILESTONE\_NOT\_COMPLETED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-not-completed.md): Milestone is not completed; action cannot proceed.
- [ESCROW\_MILESTONE\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-not-found.md): Milestone does not exist.
- [ESCROW\_MILESTONE\_NOT\_IN\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-not-in-dispute.md): Milestone is not currently in dispute.
- [ESCROW\_MILESTONE\_OPENED\_FOR\_DISPUTE\_RESOLUTION](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-opened-for-dispute-resolution.md): Milestone is opened for dispute resolution; action blocked.
- [ESCROW\_MILESTONE\_TARGET\_OUT\_OF\_RANGE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-target-out-of-range.md): A milestone target does not fit in an unsigned 32-bit integer.
- [ESCROW\_MILESTONE\_TO\_APPROVE\_DOES\_NOT\_EXIST](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-to-approve-does-not-exist.md): Milestone to approve does not exist.
- [ESCROW\_MILESTONE\_TO\_UPDATE\_DOES\_NOT\_EXIST](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-to-update-does-not-exist.md): Milestone to update does not exist.
- [ESCROW\_NOT\_COMPLETED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-not-completed.md): Escrow has pending milestones; action cannot proceed.
- [ESCROW\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-not-found.md): Escrow does not exist.
- [ESCROW\_NOT\_FULLY\_PROCESSED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-not-fully-processed.md): Escrow has not been fully processed.
- [ESCROW\_NOT\_FUNDED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-not-funded.md): Escrow has not been funded yet.
- [ESCROW\_NOT\_IN\_DISPUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-not-in-dispute.md): Escrow is not currently in dispute.
- [ESCROW\_NO\_MILESTONE\_DEFINED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-no-milestone-defined.md): Escrow has no milestones defined.
- [ESCROW\_ONLY\_ADMIN\_CAN\_EXECUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-admin-can-execute.md): Only the admin address can perform this action.
- [ESCROW\_ONLY\_APPROVER\_CAN\_CHANGE\_MILESTONE\_FLAG](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-approver-can-change-milestone-flag.md): Only the approver can change the milestone approval flag.
- [ESCROW\_ONLY\_DISPUTE\_RESOLVER\_CAN\_EXECUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-dispute-resolver-can-execute.md): Only the dispute resolver can perform this action.
- [ESCROW\_ONLY\_PLATFORM\_ADDRESS\_CAN\_EXECUTE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-platform-address-can-execute.md): Only the platform address can perform this action.
- [ESCROW\_ONLY\_RELEASE\_SIGNER\_CAN\_RELEASE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-release-signer-can-release.md): Only the designated release signer can release funds.
- [ESCROW\_ONLY\_SERVICE\_PROVIDER\_CAN\_CHANGE\_MILESTONE\_STATUS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-only-service-provider-can-change-milestone-status.md): Only the service provider can change a milestone status.
- [ESCROW\_OPENED\_FOR\_DISPUTE\_RESOLUTION](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-opened-for-dispute-resolution.md): Escrow is opened for dispute resolution; action blocked.
- [ESCROW\_OVERFLOW](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-overflow.md): Arithmetic overflow while processing the escrow.
- [ESCROW\_PLATFORM\_ADDRESS\_CANNOT\_BE\_CHANGED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-platform-address-cannot-be-changed.md): Platform address cannot be modified.
- [ESCROW\_PLATFORM\_FEE\_TOO\_HIGH](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-platform-fee-too-high.md): Platform fee cannot exceed 99%.
- [ESCROW\_PROPERTIES\_MISMATCH](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-properties-mismatch.md): Provided escrow properties do not match the on-chain state.
- [ESCROW\_RECEIVER\_AND\_APPROVER\_FUNDS\_NOT\_EQUAL](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-receiver-and-approver-funds-not-equal.md): Receiver and approver distributions do not match.
- [ESCROW\_RECEIVER\_MEMO\_OUT\_OF\_RANGE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-receiver-memo-out-of-range.md): receiverMemo does not fit in an unsigned 32-bit integer.
- [ESCROW\_REENTRANCY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-reentrancy.md): Reentrant call detected.
- [ESCROW\_RELEASE\_MILESTONES\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-release-milestones-empty.md): release\_funds requires at least one milestone index.
- [ESCROW\_RELEASE\_SIGNERS\_LIST\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-release-signers-list-empty.md): roles.release\_signers must contain at least one address.
- [ESCROW\_ROLE\_LIMIT\_EXCEEDED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-role-limit-exceeded.md): A role list exceeded its maximum size (5 addresses per list).
- [ESCROW\_SERVICE\_PROVIDERS\_LIST\_EMPTY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-service-providers-list-empty.md): roles.service\_providers must contain at least one address.
- [ESCROW\_TARGET\_CANNOT\_BE\_ZERO](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-target-cannot-be-zero.md): A milestone approvals.target must be greater than zero.
- [ESCROW\_TARGET\_EXCEEDS\_APPROVERS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-target-exceeds-approvers.md): A milestone approvals.target cannot exceed roles.approvers.length.
- [ESCROW\_TOO\_MANY\_DISTRIBUTIONS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-too-many-distributions.md): Too many distributions; the maximum is 50.
- [ESCROW\_TOO\_MANY\_ESCROWS\_REQUESTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-too-many-escrows-requested.md): Too many escrows requested; the maximum is 20 per call.
- [ESCROW\_TOO\_MANY\_MILESTONES](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-too-many-milestones.md): Too many milestones; the maximum is 50.
- [ESCROW\_TOTAL\_AMOUNT\_CANNOT\_BE\_ZERO](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-total-amount-cannot-be-zero.md): Total amount cannot be zero.
- [ESCROW\_TOTAL\_DISPUTE\_FUNDS\_MUST\_NOT\_EXCEED\_MILESTONE\_AMOUNT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-total-dispute-funds-must-not-exceed-milestone-amount.md): Total dispute funds cannot exceed the milestone amount.
- [ESCROW\_UNAUTHORIZED\_APPROVER](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-unauthorized-approver.md): Caller is not in roles.approvers.
- [ESCROW\_UNAUTHORIZED\_TO\_CHANGE\_DISPUTE\_FLAG](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-unauthorized-to-change-dispute-flag.md): Caller is not authorized to change the dispute flag.
- [ESCROW\_UNDERFLOW](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-underflow.md): Arithmetic underflow while processing the escrow.
- [FORBIDDEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/forbidden.md): The credential lacks permission at the transport level.
- [HTTP\_ERROR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/http-error.md): A non-standard HTTP error status was produced.
- [INTERNAL\_ERROR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/internal-error.md): An unexpected server error occurred.
- [INVALID\_CURSOR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/invalid-cursor.md): Malformed pagination cursor.
- [NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/not-found.md): No route or resource matches the URL.
- [PLATFORM\_FEE\_TOO\_HIGH](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/platform-fee-too-high.md): platformFee plus the Trustless Work fee would exceed 100%.
- [PLATFORM\_ID\_INVALID](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/platform-id-invalid.md): platformId must be a numeric string.
- [PLATFORM\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/platform-not-found.md): Platform not found for this account.
- [PLATFORM\_REQUIRED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/platform-required.md): This account has no active platform to scope the recovered key to.
- [RECOVERY\_BAD\_SIGNATURE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/recovery-bad-signature.md): Signature does not prove ownership of the address.
- [RECOVERY\_CHALLENGE\_REUSED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/recovery-challenge-reused.md): This challenge has already been used. Request a new one.
- [RECOVERY\_KEY\_LIMIT\_REACHED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/recovery-key-limit-reached.md): This account is at its active API-key limit. Revoke a key before recovering a new one.
- [RECOVERY\_WALLET\_NOT\_REGISTERED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/recovery-wallet-not-registered.md): No registered account is linked to this verified wallet. Register first.
- [REGISTRATION\_BAD\_SIGNATURE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/registration-bad-signature.md): Signature does not prove ownership of the address.
- [REGISTRATION\_CHALLENGE\_REUSED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/registration-challenge-reused.md): This challenge has already been used. Request a new one.
- [REGISTRATION\_CLOSED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/registration-closed.md): Self-registration is disabled. Contact an administrator to be provisioned.
- [REGISTRATION\_EMAIL\_TAKEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/registration-email-taken.md): A user with that email already exists.
- [REGISTRATION\_WALLET\_TAKEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/registration-wallet-taken.md): This wallet is already registered. Recover access instead of registering again.
- [SERVICE\_UNAVAILABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/service-unavailable.md): A dependency (database, RPC) is temporarily unavailable.
- [SESSION\_BAD\_SIGNATURE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/session-bad-signature.md): Signature does not prove ownership of the address.
- [SESSION\_CHALLENGE\_REUSED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/session-challenge-reused.md): This challenge has already been used. Request a new one.
- [SESSION\_USER\_INACTIVE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/session-user-inactive.md): This account is deactivated.
- [SESSION\_WALLET\_NOT\_REGISTERED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/session-wallet-not-registered.md): No registered account is linked to this verified wallet. Register first.
- [STELLAR\_FACTORY\_RETURN\_SHAPE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-factory-return-shape.md): The factory returned an unexpected value shape.
- [STELLAR\_HORIZON\_UNMAPPED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-horizon-unmapped.md): Horizon answered with an error shape the API does not recognize.
- [STELLAR\_HORIZON\_UNREACHABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-horizon-unreachable.md): Could not communicate with Horizon to submit the transaction.
- [STELLAR\_INVALID\_SIGNED\_XDR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-invalid-signed-xdr.md): The provided signedXdr is not a valid Stellar transaction envelope.
- [STELLAR\_RESTORE\_UNBUILDABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-restore-unbuildable.md): Simulation requires a state restore but no transaction was assembled.
- [STELLAR\_RETURN\_VALUE\_SHAPE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-return-value-shape.md): A contract returned data in an unexpected shape.
- [STELLAR\_RPC\_TIMEOUT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-rpc-timeout.md): The Soroban RPC did not answer within the deadline.
- [STELLAR\_RPC\_UNAVAILABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-rpc-unavailable.md): Could not reach the Soroban RPC to validate the trustline contract.
- [STELLAR\_SIMULATION\_FAILED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-simulation-failed.md): Contract simulation failed.
- [STELLAR\_SIMULATION\_MISSING](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-simulation-missing.md): Contract simulation response was not returned by the RPC.
- [STELLAR\_STATE\_ARCHIVED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-state-archived.md): The contract state is archived. Sign and submit the provided restore transaction, then retry.
- [STELLAR\_TRUSTLINE\_INVALID\_FORMAT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-trustline-invalid-format.md): trustline (code, issuer) could not be resolved to a Stellar asset contract.
- [STELLAR\_TRUSTLINE\_MISSING](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-trustline-missing.md): escrow state does not carry a readable trustline address.
- [STELLAR\_TRUSTLINE\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-trustline-not-found.md): No contract is deployed at the resolved trustline address on the configured Soroban network.
- [STELLAR\_TRUSTLINE\_NOT\_SEP41](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-trustline-not-sep41.md): The contract does not implement the SEP-41 token interface.
- [STELLAR\_TX\_BAD\_AUTH](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-bad-auth.md): The transaction signature does not match the source account, or required signers are missing.
- [STELLAR\_TX\_BAD\_AUTH\_EXTRA](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-bad-auth-extra.md): The transaction includes signatures that no operation needs.
- [STELLAR\_TX\_BAD\_SEQ](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-bad-seq.md): The transaction sequence number is not the next expected one for the source account.
- [STELLAR\_TX\_CONTRACT\_NOT\_ALLOWED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-contract-not-allowed.md): Transaction invokes a contract this API does not manage.
- [STELLAR\_TX\_FAILED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-failed.md): The network rejected the transaction with a result code the API maps in detail.
- [STELLAR\_TX\_FEE\_BUMP\_INNER\_FAILED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-fee-bump-inner-failed.md): The inner transaction wrapped by the fee-bump envelope failed.
- [STELLAR\_TX\_FEE\_BUMP\_REJECTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-fee-bump-rejected.md): Fee-bump transactions are not accepted by this endpoint.
- [STELLAR\_TX\_HOST\_FN\_NOT\_ALLOWED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-host-fn-not-allowed.md): Only invokeContract host functions may be submitted here.
- [STELLAR\_TX\_INSUFFICIENT\_BALANCE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-insufficient-balance.md): The source account does not hold enough XLM to pay the fee or to keep its minimum reserve.
- [STELLAR\_TX\_INSUFFICIENT\_FEE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-insufficient-fee.md): The fee on the transaction is below the network minimum or the current base fee surge.
- [STELLAR\_TX\_INTERNAL\_ERROR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-internal-error.md): The network reported an internal error while processing the transaction.
- [STELLAR\_TX\_MISSING\_OPERATION](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-missing-operation.md): The transaction does not contain any operations.
- [STELLAR\_TX\_NOT\_SUPPORTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-not-supported.md): The transaction type is not supported on the current network protocol version.
- [STELLAR\_TX\_NO\_OPS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-no-ops.md): Transaction carries no operations.
- [STELLAR\_TX\_NO\_SOURCE\_ACCOUNT](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-no-source-account.md): The source account does not exist on the network.
- [STELLAR\_TX\_OPERATION\_FAILED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-operation-failed.md): One or more operations in the transaction failed.
- [STELLAR\_TX\_OP\_NOT\_ALLOWED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-op-not-allowed.md): Only Soroban invokeHostFunction operations may be submitted here.
- [STELLAR\_TX\_TOO\_EARLY](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-too-early.md): The transaction was submitted before the lower bound of its time bounds.
- [STELLAR\_TX\_TOO\_LATE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-too-late.md): The transaction was submitted after the upper bound of its time bounds expired.
- [STELLAR\_TX\_UNPARSEABLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-tx-unparseable.md): signedXdr is not a valid Stellar transaction envelope.
- [STELLAR\_UNKNOWN\_CONTRACT\_METHOD](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-unknown-contract-method.md): The API tried to invoke a method the target contract does not expose.
- [STELLAR\_UNSUPPORTED\_DECIMALS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/stellar-unsupported-decimals.md): The token reports decimals outside the supported range.
- [SUBJECT\_EXTERNAL\_ID\_TAKEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/subject-external-id-taken.md): Another subject of this platform already uses that externalId.
- [SUBJECT\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/subject-not-found.md): Subject not found under this platform.
- [TOO\_MANY\_REQUESTS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/too-many-requests.md): You exceeded the rate limit.
- [TRUSTLINE\_DECIMALS\_UNSUPPORTED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/trustline-decimals-unsupported.md): The asset's declared decimals are outside the supported \[0, 18] range.
- [UNAUTHORIZED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/unauthorized.md): Authentication is required or failed at the transport level.
- [USER\_EMAIL\_TAKEN](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/user-email-taken.md): A user with that email already exists.
- [USER\_ID\_INVALID](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/user-id-invalid.md): userId must be a non-empty BigInt-compatible string.
- [USER\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/user-not-found.md): User not found.
- [USER\_NO\_ROLES](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/user-no-roles.md): At least one role is required.
- [VALIDATION\_ERROR](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/validation-error.md): The request body failed validation.
- [WALLET\_BAD\_SIGNATURE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-bad-signature.md): Signature does not prove ownership of the address.
- [WALLET\_CANNOT\_REMOVE\_LAST](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-cannot-remove-last.md): You cannot remove your last verified wallet.
- [WALLET\_CHALLENGE\_EXPIRED](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-challenge-expired.md): The challenge has expired. Request a new one.
- [WALLET\_LINK\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-link-not-found.md): No wallet-link challenge found. Request one first.
- [WALLET\_NOT\_FOUND](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-not-found.md): No such wallet is linked to your account.
- [WALLET\_OWNED\_BY\_OTHER](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/wallet-owned-by-other.md): This address is already linked to another account.
- [ESCROW\_DISPUTE\_RESOLVER\_OVERLAPS\_WITH\_OTHER\_ROLE](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-dispute-resolver-overlaps-with-other-role.md): A dispute resolver cannot also appear in approvers, service\_providers, release\_signers or be the receiver / platform.
- [ESCROW\_MILESTONE\_UPDATE\_NOT\_ALLOWED\_WITH\_FUNDS](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-milestone-update-not-allowed-with-funds.md): Milestones cannot be added or edited while the escrow holds funds; the balance must be zero.
- [ESCROW\_SIGNER\_MUST\_BE\_APPROVER\_AND\_RELEASE\_SIGNER](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-signer-must-be-approver-and-release-signer.md): approve\_and\_release\_milestones requires the signer to be in BOTH roles.approvers and roles.release\_signers.
- [ESCROW\_STRING\_TOO\_LONG](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/errors/escrow-string-too-long.md): A String field exceeded its on-chain maximum length.
- [Single Release Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy.md): One escrow, one settlement — the full amount releases at once when the work is approved.
- [Deploy](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/initialize-escrow.md): Deploy the escrow contract and define the escrow properties.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/fund-escrow.md): Deposit funds into a deployed escrow, locking them until the agreed conditions are met.
- [Approve Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/change-milestone-flag.md): Approve one or many milestones in a single transaction, signed by an approver.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/change-milestone-status.md): Update a milestone's status and attach evidence, signed by a service provider.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/release-funds.md): Release the escrow funds to the receiver, signed by a release signer.
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/withdraw-remaining-funds.md): Recover funds left in the escrow after settlement or resolution.
- [Dispute Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/change-dispute-flag.md): Open a dispute on the escrow, freezing release until the dispute resolver rules.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/resolving-disputes.md): Resolve an open dispute and distribute the funds, signed by a dispute resolver.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/update-escrow-properties.md): Replace the on-chain escrow properties, signed by the escrow admin.
- [Manage Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/manage-milestones.md): Add new milestones and/or edit existing milestone descriptions in one transaction, signed by the escrow admin.
- [Approve and Release Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/approve-and-release-milestones.md): Approve milestones and release the escrow in a single atomic transaction.
- [Extend TTL](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy/extend-ttl.md): Extend the escrow contract storage TTL before it expires, signed by the escrow admin.
- [Multi Release Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1.md): One escrow, many payouts — each milestone carries its own amount and settles independently.
- [Deploy](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/initialize-escrow.md): Deploy the multi-release escrow contract and define its milestone payouts.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/fund-escrow.md): Deposit funds into a deployed multi-release escrow, locking them until each milestone settles.
- [Approve Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/change-milestone-flag.md): Approve one or more milestones in a single batch transaction, signed by an approver.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/change-milestone-status.md): Update the status (and optionally evidence) of one or more milestones, signed by a service provider.
- [Release Milestone Funds](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/release-funds.md): Release the funds of one or more approved milestones, signed by a release signer.
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/withdraw-remaining-funds.md): Sweep the leftover balance once every milestone has been settled.
- [Dispute Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/change-dispute-flag.md): Put one or more milestones in dispute, freezing their release until resolution.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/resolving-disputes.md): Resolve the active milestone disputes and distribute their funds, signed by a dispute resolver.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/update-escrow-properties.md): Replace the escrow-level properties, signed by the escrow admin. Per-milestone state is preserved.
- [Manage Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/manage-milestones.md): Add new milestones and/or edit existing milestone descriptions and amounts, signed by the escrow admin.
- [Approve and Release Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/approve-and-release-milestones.md): Approve milestones and release their funds in a single atomic transaction.
- [Extend TTL](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1/extend-ttl.md): Extend the escrow contract storage TTL before it expires, signed by the escrow admin.
- [Stellar](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/stellar.md): These endpoints provide a way to receive tokens through Trustline and send any transactions to the Stellar Blockchain.
- [Send Transaction](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/stellar/send-transaction.md): Most Trustless Work endpoints return an unsigned transaction in XDR format. This endpoint is used to sign such unsigned transactions and send them to the Stellar network.
- [Escrow Information](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information.md): The read endpoints: list, detail, events, milestones, financial and GraphQL.
- [List Escrows](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/list-escrows.md): List escrows with filters and keyset pagination via GET /escrows.
- [Get Escrow Events](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-events.md): Page an escrow event timeline.
- [Get Escrow Milestones](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-milestones.md): Read the milestones of one escrow or a batch.
- [Get Escrows Financial](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-multiple-escrow-balance.md): Balances, deposits, releases and fees for up to 50 escrows via GET /escrows/financial.
- [Get Escrows Details](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-by-contract-ids.md): Batch-read the full state of up to 50 escrows via GET /escrows/details.
- [Get Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow.md): Read an escrow state directly from the contract (authoritative).
- [Get Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-1.md): Read an escrow state directly from the contract (authoritative).
- [Get Escrow Balances](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-balances.md): Read token balances of up to 20 escrows directly from the chain.
- [Get Escrow Balances](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/escrow-information/get-escrow-balances-1.md): Read token balances of up to 20 escrows directly from the chain.
- [GraphQL](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/graphql.md): Read the same escrow data with field selection over a single POST endpoint.
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/introduction.md): A production-ready set of React blocks for integrating Trustless Work’s escrow flows.
- [Getting Started](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/getting-started.md)
- [Single Release Lifecycle](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/single-release-lifecycle.md)
- [Dependent Blocks](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/dependent-blocks.md)
- [Wallet Kit](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/wallet-kit.md): Wallet provider, validators and a connect button powered by Stellar Wallets Kit.
- [Escrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows.md)
- [Escrows by Signer](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/escrows-by-signer.md): Table and Cards layout to explore escrows by signer with sorting and filtering. This component contains a detailed view of the escrow, including the signer, status, and actions.
- [Escrows by Role](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/escrows-by-role.md): Table and Cards layout to explore escrows by role with sorting and filtering. This component contains a detailed view of the escrow, including the signer, status, and actions.
- [Initialize Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/initialize-escrow.md): Component to initialize an escrow with different variants and types.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/fund-escrow.md): Component to fund an escrow using form, button and dialog variants.
- [Approve Milestone](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/approve-milestone.md): Component to approve a milestone with form, button and dialog variants.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/change-milestone-status.md): Component to change milestone status with form, button and dialog variants.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/release-funds.md): Action to release escrow funds.
- [Dispute Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/dispute-escrow.md): Action to raise a dispute in the escrow or milestone.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/resolve-dispute.md): Component to resolve disputes with form, button and dialog variants.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/update-escrow.md): Component to update escrow configuration with form and dialog variants.
- [Withdraw Remaining Funds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/escrows/withdraw-remaining-funds.md): Component to withdraw remaining funds with form, button and dialog variants.
- [Dashboard](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/dashboard.md): Component to show the basic dashboard of the escrows by signer.
- [Indicators](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-blocks-sdk/indicators.md): Component to show the balance progress of the escrow based on the target.
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/introduction.md): Framework-agnostic JavaScript/TypeScript client for Trustless Work Core API v2 escrows.
- [Getting Started](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/getting-started.md): Install @trustless-work/escrow-js and create a TrustlessWorkClient.
- [Architecture](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/architecture.md): Entry points, client layers, and the build → sign → send flow.
- [sendTransaction](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/sendtransaction.md): Submit a signed Stellar XDR via POST /stellar/send-transaction.
- [Escrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows.md): REST operate methods — build unsigned XDR, sign with your wallet, then send.
- [deployEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/deployescrow.md): Build an unsigned deploy transaction for a new single- or multi-release escrow.
- [updateEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/updateescrow.md): Build an unsigned update transaction (full replace of platform-controlled fields).
- [fundEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/fundescrow.md): Build an unsigned fund transaction for an escrow.
- [approveMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/approvemilestones.md): Batch approve one or more milestones (v2).
- [changeMilestoneStatus](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/changemilestonestatus.md): Batch change milestone status / evidence (v2).
- [approveAndReleaseMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/approveandreleasemilestones.md): Multi-release only. Atomic approve + release for the given milestone indexes.
- [manageMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/managemilestones.md): Add new milestones and/or edit existing milestone descriptions (and amounts for multi).
- [releaseFunds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/releasefunds.md): Build an unsigned release transaction.
- [startDispute](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/startdispute.md): Start a dispute on a single-release escrow or selected multi-release milestones.
- [resolveDispute](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/resolvedispute.md): Resolve a dispute with address → amount distributions.
- [withdrawRemainingFunds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrows/withdrawremainingfunds.md): Withdraw remaining funds after resolution / completion.
- [Escrow Information](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information.md): REST read methods for GET /escrows\* — list, detail, events, milestones, financial.
- [listEscrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/listescrows.md): List escrows with keyset pagination and filters (GET /escrows).
- [getEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/getescrow.md): Get a single escrow detail (GET /escrows/:contractId).
- [getEscrowDetails](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/getescrowdetails.md): Batch escrow details (GET /escrows/details).
- [listEscrowEvents](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/listescrowevents.md): Paginated escrow event timeline (GET /escrows/:contractId/events).
- [getEscrowsFinancial](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/getescrowsfinancial.md): Batch financial summaries (GET /escrows/financial).
- [getEscrowMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/getescrowmilestones.md): Milestones for one escrow (GET /escrows/:contractId/milestones).
- [getEscrowsMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/escrow-information/getescrowsmilestones.md): Batch milestones (GET /escrows/milestones).
- [GraphQL](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/graphql.md): GraphQL read surface — POST /graphql for escrow and escrows queries.
- [getEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/graphql/getescrow.md): GraphQL escrow(contractId) — detail with financial, deposits, events.
- [listEscrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/graphql/listescrows.md): GraphQL escrows(...) — same filters as REST list.
- [Types](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/types.md): Plain shapes for the most important \`@trustless-work/escrow-js\` types — entities, payloads, responses, and the read model.
- [Entities](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/types/entities.md): Roles, milestones, trustline, and on-chain escrow entity shapes.
- [Payloads](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/types/payloads.md): Operate payloads — deploy, update, fund, release, dispute, and milestone management.
- [Responses](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/types/responses.md): Read-model rows, snapshots, list params, and build/send transaction responses.
- [Errors](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/errors.md): RFC 9457 Problem Details — TrustlessWorkApiError, TrustlessWorkNetworkError, and helpers.
- [Runtimes](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-js-sdk/runtimes.md): Use @trustless-work/escrow-js in Node, NestJS, Angular, and the browser.
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/introduction.md)
- [Getting Started](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/getting-started.md)
- [Architecture](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/architecture.md)
- [useSendTransaction](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/usesendtransaction.md): Most Trustless Work endpoints return an unsigned transaction in XDR format. This endpoint is used to sign such unsigned transactions and send them to the Stellar network.
- [Escrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows.md)
- [useDeployEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usedeployescrow.md): Deploy the escrow contract and define the escrow properties.
- [useUpdateEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/useupdateescrow.md): This endpoint allows you to change the properties of an escrow as long as a series of requirements are met, which will be mentioned in this section.
- [useFundEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usefundescrow.md): Allows users to deposit funds into an existing escrow contract, securing them until the agreed conditions are met.
- [useApproveMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/useapprovemilestones.md): Responsible for modifying the "flag" property of a specific milestone in the escrow to approve that milestone.
- [useChangeMilestoneStatus](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usechangemilestonestatus.md): Responsible for modifying the "status" property of a specific milestone in the escrow.
- [useApproveAndReleaseMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/useapproveandreleasemilestones.md)
- [useManageMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usemanagemilestones.md)
- [useReleaseFunds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usereleasefunds.md): You release the escrow funds to the service provider through the approver.
- [useStartDispute](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usestartdispute.md): Responsible for setting the escrow in dispute state. Changes the value of the escrow's "disputed" flag property to true.
- [useResolveDispute](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/useresolvedispute.md): Resolves escrow disputes by distributing funds to the approver and service provider as determined by the dispute resolver.
- [useWithdrawRemainingFunds](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrows/usewithdrawremainingfunds.md): In a multi-release escrow, when some funds are locked, you can use this hook to release the remaining funds
- [Escrow Information](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information.md)
- [useListEscrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/uselistescrows.md)
- [useGetEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/usegetescrow.md)
- [useGetEscrowDetails](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/usegetescrowdetails.md)
- [useListEscrowEvents](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/uselistescrowevents.md)
- [useGetEscrowsFinancial](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/usegetescrowsfinancial.md)
- [useGetEscrowMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/usegetescrowmilestones.md)
- [useGetEscrowsMilestones](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/escrow-information/usegetescrowsmilestones.md)
- [GraphQL](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/graphql.md)
- [useGraphqlGetEscrow](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/graphql/usegraphqlgetescrow.md)
- [useGraphqlListEscrows](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/graphql/usegraphqllistescrows.md)
- [Types](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/types.md)
- [Entities](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/types/entities.md): Roles, milestones, trustline, and on-chain escrow entity shapes.
- [Payloads](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/types/payloads.md): Operate payloads — deploy, update, fund, release, dispute, and milestone management.
- [Responses](https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/types/responses.md): Read-model rows, snapshots, list params, and build/send transaction responses.
- [Skill](https://docs.trustlesswork.com/trustless-work/v2-en/ai/skill.md)
- [MCP](https://docs.trustlesswork.com/trustless-work/v2-en/ai/mcp.md): Model Context Protocol (MCP) enables AI tools and agents to seamlessly integrate with Trustless Work’s escrow infrastructure through a unified and context-aware interface.
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/go-to-mainnet/introduction.md)
- [API REST](https://docs.trustlesswork.com/trustless-work/v2-en/go-to-mainnet/api-rest.md): In this section, you'll learn how to go mainnet by using our API REST
- [React SDK](https://docs.trustlesswork.com/trustless-work/v2-en/go-to-mainnet/react-sdk.md): In this section, you'll learn how to go mainnet by using our React SDK
- [Blocks SDK](https://docs.trustlesswork.com/trustless-work/v2-en/go-to-mainnet/blocks-sdk.md): In this section, you'll learn how to go mainnet by using our React Blocks SDK
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/introduction.md)
- [Backoffice](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice.md): Interact with Escrows Seamlessly
- [Step 1: Accessing the Trustless Work Dapp and Logging In](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-1-accessing-the-trustless-work-dapp-and-logging-in.md)
- [Step 2: Creating a Profile and Requesting an API Key](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-2-creating-a-profile-and-requesting-an-api-key.md)
- [Step 3: Creating an Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-3-creating-an-escrow.md)
- [Step 4: Funding an Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-4-funding-an-escrow.md)
- [Step 5: Marking a Milestone as Done ✅](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-5-marking-a-milestone-as-done.md)
- [Step 6: Approving the Milestone](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-6-approving-the-milestone.md)
- [Step 7: Releasing the Payment](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/step-7-releasing-the-payment.md)
- [Resolving Disputes](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/backoffice/resolving-disputes.md)
- [Escrow Viewer](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-viewer.md)
- [OfferHub - Marketplace](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace.md): Stablecoin-powered marketplace
- [System Components](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/system-components.md)
- [Trust, Custody, and Boundaries](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/trust-custody-and-boundaries.md)
- [Roles and Permissions](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/roles-and-permissions.md)
- [Lifecycle and States](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/lifecycle-and-states.md)
- [Core Flows](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows.md)
- [User Accounts & Profiles](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/user-accounts-and-profiles.md)
- [Fund Account (Top-Up)](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/fund-account-top-up.md)
- [Purchase & Escrow Funding](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/purchase-and-escrow-funding.md)
- [Delivery & Approval](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/delivery-and-approval.md)
- [Disputes](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/disputes.md)
- [Release](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/release.md)
- [Payouts](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/offerhub-marketplace/core-flows/payouts.md)
- [Tokenization - Private Credit](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit.md): We built this for Stellar Hack + on November 16-24 in Buenos Aires, Argentina. Pura Vida.
- [Introduction & Motivation](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/introduction-and-motivation.md)
- [Lifecycle Overview](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/lifecycle-overview.md)
- [Project Creator Flow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/project-creator-flow.md)
- [Project Manager Flow (Dashboard dApp)](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/project-manager-flow-dashboard-dapp.md)
- [Investor Flow (Investor Portal dApp)](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/investor-flow-investor-portal-dapp.md)
- [Future Roadmap](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/tokenization-private-credit/future-roadmap.md)
- [Escrow Lab](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab.md): In this section, we built a demo project using the TW API.
- [Getting Started](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/getting-started.md): Start building the demo project.
- [Configuration](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/configuration.md): Initial configuration of external libs.
- [Context API](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/context-api.md): Providers that you'll need.
- [Wallet Setup](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/wallet-setup.md): We're going to use the Stellar Wallet Kit, and setup all the configuration in order to sign transactions.
- [Trustlines](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/trustlines.md): In Stellar, a Trustline is a link that a user (account) creates to trust and hold a specific asset issued by another account (like USDC, EURC, etc.). Without a Trustline, you can only hold XLM.
- [Services](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/services.md): We set a unique and generic service in order to interact with Trustless Work API.
- [Helpers](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/helpers.md): Some important helpers that we'll need.
- [Error Handling](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/error-handling.md): The best way to manage some errors.
- [Forms](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms.md): Recommended forms for every endpoint.
- [Initialize Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/initialize-escrow.md): The ideal form for this endpoint.
- [Fund Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/fund-escrow.md): The ideal form for this endpoint.
- [Get Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/get-escrow.md): The ideal form for this endpoint.
- [Get Multiple Escrow Balances](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/get-multiple-escrow-balances.md): The ideal form for this endpoint.
- [Resolve Dispute](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/resolve-dispute.md): The ideal schema for this endpoint.
- [Change Milestone Status](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/change-milestone-status.md): The ideal schema for this endpoint.
- [Change Milestone Flag](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/change-milestone-flag.md): The ideal schema for this endpoint.
- [Change Dispute Flag](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/change-dispute-flag.md): The ideal schema for this endpoint.
- [Release Funds](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/release-funds.md): The ideal schema for this endpoint.
- [Update Escrow](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/forms/update-escrow.md): The ideal schema for this endpoint.
- [UI Components](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/ui-components.md): We provide a simple UI components in order to execute the endpoints.
- [Pages](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/ui-components/pages.md): The main page of escrows.
- [Cards](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/ui-components/cards.md): UI Cards Components.
- [Tabs](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/ui-components/tabs.md): Tabs UI Components.
- [Utils](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/escrow-lab/ui-components/utils.md): Utils UI Components.
- [GrantFox - Reward Payouts](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/grantfox-reward-payouts.md)
- [KindFi - Crowdfunding](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/kindfi-crowdfunding.md)
- [Pacto - P2P OTC](https://docs.trustlesswork.com/trustless-work/v2-en/oss-dapps/pacto-p2p-otc.md)
- [Introduction](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/introduction.md)
- [Marketplaces & E-commerce](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/marketplaces-and-e-commerce.md)
- [P2P Exchanges and OTC Desks](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/p2p-exchanges-and-otc-desks.md)
- [Security Deposits](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/security-deposits.md)
- [Milestone-based Freelance & Contract Work](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/milestone-based-freelance-and-contract-work.md)
- [Crowdfunding & Pre-orders](https://docs.trustlesswork.com/trustless-work/v2-en/use-cases-by-indutry/crowdfunding-and-pre-orders.md)
- [Ecosystem](https://docs.trustlesswork.com/trustless-work/v2-en/community-and-contribution/ecosystem.md): Discover projects building with Trustless Work, and submit yours to be listed.
- [Contributor's Guide](https://docs.trustlesswork.com/trustless-work/v2-en/community-and-contribution/get-involved.md)
- [Troubleshooting & FAQs](https://docs.trustlesswork.com/trustless-work/v2-en/support/troubleshooting.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.trustlesswork.com/trustless-work/introduction/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
