# Introducción

### ¿Qué es la API de Trustless Work?

El **API REST de Trustless Work** te permite crear y gestionar **contratos de escrow descentralizados** en **Stellar** usando **Soroban** contratos inteligentes.

Úsala para desplegar escrows, financiarlos, seguir hitos y liberar fondos.

### URLs base

{% tabs %}
{% tab title="Mainnet" %}
{% code title="URL base (Mainnet)" %}

```
https://api.trustlesswork.com
```

{% endcode %}
{% endtab %}

{% tab title="Testnet" %}
{% code title="URL base (Testnet)" %}

```
https://dev.api.trustlesswork.com
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Capacidades principales

* **Desplegar escrows** con roles, hitos y condiciones.
* **Financiar escrows** usando activos de Stellar (ejemplo: USDC).
* **Aprobar / actualizar hitos** para impulsar liberaciones.
* **Disputa y resolución** flujos (a nivel de escrow o a nivel de hito).
* **Liberar fondos** solo cuando se cumplan las condiciones.
* **Consultar estado** de escrows, hitos y saldos.

### Tipos de escrow

1. **Escrow de liberación única**
   * Una acción de liberación por el monto total.
2. **Escrow de liberaciones múltiples**
   * Pagos múltiples por hitos.
   * Cada hito puede ser aprobado, disputado y liberado de forma independiente.

### Límites de tasa

{% hint style="warning" %}
Límite: **50 solicitudes por 60 segundos** por cliente.
{% endhint %}

### Transacciones, firma y permisos

{% hint style="info" %}
La mayoría de los endpoints de escritura devuelven **XDR no firmado**.\
Debes firmar del lado del cliente con la cartera del rol correcto.
{% endhint %}

Las acciones son **restringidas por rol** (aprobar, disputar, resolver, liberar).

### Mapa de endpoints (alto nivel)

Usa Swagger para la especificación completa. Estos grupos cubren la mayoría de las integraciones:

#### Despliegue

* `/deployer/single-release`
* `/deployer/multi-release`

#### Financiación

* `/escrow/{type}/fund-escrow`

#### Hitos

* `/escrow/{type}/approve-milestone`
* `/escrow/{type}/change-milestone-status`

#### Liberación

* `/escrow/{type}/release-funds` (único)
* `/escrow/{type}/release-milestone-funds` (múltiple)

#### Disputas

* `/escrow/{type}/dispute-escrow`
* `/escrow/{type}/resolve-dispute`
* `/escrow/{type}/dispute-milestone` (múltiple)
* `/escrow/{type}/resolve-milestone-dispute` (múltiple)

#### Actualizaciones

* `/escrow/{type}/update-escrow`

#### Consultas / helpers

* `/escrow/get-multiple-escrow-balance`
* `/helper/get-escrows-by-signer`
* `/helper/get-escrows-by-role`
* `/helper/set-trustline`
* `/helper/send-transaction`

### Tarifas

Mainnet cobra una **tarifa de protocolo del 0.3%**.

### Documentación de la API (Swagger)

{% tabs %}
{% tab title="Mainnet" %}
{% embed url="<https://api.trustlesswork.com/docs>" %}
{% endtab %}

{% tab title="Testnet" %}
{% embed url="<https://dev.api.trustlesswork.com/docs>" %}
{% endtab %}
{% endtabs %}

### Recursos para desarrolladores

* Mapa para desarrolladores: <https://www.trustlesswork.com/developers>

### Repositorio de GitHub

{% embed url="<https://github.com/Trustless-Work>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trustlesswork.com/trustless-work/v1-es/api-rest/introduction.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.
