# Disputas

Las disputas son un **mecanismo explícito y dirigido por humanos** en Offer Hub.

Existen para manejar casos donde:

* la entrega es disputada,
* la aprobación se retiene,
* se solicita la cancelación,
* o se debe revisar evidencia.

Offer Hub **no** se basa en temporizadores ni en arbitraje automatizado.\
En su lugar, las disputas son resueltas por la **plataforma del mercado**, actuando como servicio al cliente, con resultados aplicados por contratos escrow.

***

### Objetivo

Permitir:

* **compradores o vendedores** presentar una disputa,
* **la plataforma** revisar la evidencia y decidir el resultado,
* **el escrow** hacer cumplir la resolución final (liberación o reembolso).

***

### Actores

* **Comprador**
* **Vendedor**
* **Interfaz de OfferHub**
* **Backend de OfferHub (Orquestador)**
* **Escrow de Trustless Work**
* **dApp de Trustless Work (Backoffice)**
* **Dirección del Resolver de Disputas (controlada por la plataforma)**

***

### Cuándo se puede presentar una disputa

Se puede iniciar una disputa **en cualquier momento después de que el escrow esté financiado y antes de la liberación final**.

Los escenarios típicos incluyen:

#### Disputas iniciadas por el comprador

* El producto nunca llegó
* El servicio no se entregó según lo acordado
* La evidencia de entrega es insuficiente
* El vendedor marcó la entrega prematuramente

#### Disputas iniciadas por el vendedor

* El comprador no responde
* El comprador se niega a aprobar a pesar de la entrega
* El vendedor quiere cancelar y reembolsar
* El vendedor tiene evidencia sólida de cumplimiento

Ambas partes tienen derecho a **marcar la transacción**, pero ninguna puede resolverla por sí misma.

***

### Inicio de la disputa

#### 1. Comprador o Vendedor presenta una disputa

```
Usuario → Interfaz de OfferHub: Presentar disputa
```

Esta acción:

* se inicia fuera de la cadena,
* registra la intención de disputar,
* todavía no mueve fondos.

OfferHub captura:

* quién presentó la disputa
* código de motivo
* evidencia opcional (mensajes, archivos, enlaces)

***

#### 2. El escrow se marca como disputado

```
OfferHub → Trustless Work:
  Marcar el escrow como Disputado
```

Una vez disputado:

* el escrow queda congelado,
* no puede producirse una liberación o reembolso automáticamente,
* el control pasa al **rol de Resolver de Disputas**.

El estado del pedido se actualiza a **Disputado**.

***

### Resolución de la plataforma (flujo de backoffice)

#### Decisión de diseño importante

> **Offer Hub no implementa su propio backoffice de disputas.**

En su lugar, aprovecha la **dApp existente de Trustless Work**, que ya soporta:

* inspección de escrow,
* firma basada en roles,
* ejecución de liberaciones y reembolsos.

Esto evita la duplicación y garantiza un comportamiento consistente.

***

#### 3. La plataforma inicia sesión en la dApp de Trustless Work

Un operador de la plataforma (servicio al cliente) inicia sesión en la dApp de Trustless Work usando la **dirección del Resolver de Disputas / Firmante de Liberación** asignada al escrow.

📌 Referencia:

* dApp de Trustless Work (Backoffice)
* Iniciar sesión usando la wallet del resolver configurada para el mercado

***

#### 4. La plataforma revisa el caso

Usando:

* evidencia proporcionada por OfferHub (fuera de la cadena)
* estado del escrow en la cadena
* historial de transacciones

La plataforma decide uno de los siguientes resultados:

* **Liberar fondos al vendedor**
* **Reembolsar fondos al comprador**

***

#### 5. La plataforma firma la resolución

```
dApp de Trustless Work → Escrow:
  Ejecutar Liberación O Reembolso
```

Esta acción:

* es firmado por la dirección del resolver/firmante de liberación de la plataforma,
* se aplica en cadena,
* es definitivo.

***

### Estado posterior a la resolución

Después de la resolución:

* El escrow pasa a **Liberado** o **Reembolsado**
* El pedido pasa a **Cerrado**
* Los fondos se transfieren en consecuencia
* Existe una pista de auditoría completa (en cadena + fuera de la cadena)

***

### Resultados

* ✅ Disputa registrada
* ✅ Escrow congelado durante la revisión
* ✅ Resolución aplicada en cadena
* ✅ Pedido cerrado con resultado final

***

### Lo que ven los usuarios

#### Comprador

* Actualizaciones del estado de la disputa
* Resultado final (reembolso o no)
* Explicación clara por parte de la plataforma

#### Vendedor

* Actualizaciones del estado de la disputa
* Resultado final (pagado o reembolsado)
* Explicación de la decisión de la plataforma

***

### Modelo de seguridad y confianza

* Compradores **no pueden** liberar fondos
* Vendedores **no pueden** liberar fondos
* Plataforma **solo puede actuar dentro de las reglas del escrow**
* Todas las acciones de resolución están firmadas y son auditables

***

### Notas educativas

#### Por qué ambas partes pueden presentar disputas

Esto refleja los mercados reales:

* las disputas son señales, no decisiones,
* presentar una disputa no implica mala conducta,
* la resolución la maneja el servicio al cliente.


---

# 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/dapps-oss/offerhub-marketplace/flujos-principales/disputas.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.
