> For the complete documentation index, see [llms.txt](https://docs.trustlesswork.com/trustless-work/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trustlesswork.com/trustless-work/v1-es/introduccion/developer-resources/tipos/cargas-utiles/actualizar-escrow.md).

# Actualizar escrow

### Liberación única

```typescript
/**
 * Carga útil de actualización de escrow de liberación única
 */
export type UpdateSingleReleaseEscrowPayload = {
  /**
   * ID (dirección) que identifica el contrato de escrow
   */
  contractId: string;

  /**
   * Datos del escrow
   */
  escrow: {
    /**
   * Identificador único del escrow
   */
    engagementId: string;

    /**
     * Nombre del escrow
     */
    title: string;

    /**
     * Roles que conforman la estructura del escrow
     */
    roles: {
      /**
       * Dirección de la entidad que requiere el servicio.
       */
      approver: string;

      /**
       * Dirección de la entidad que presta el servicio.
       */
      serviceProvider: string;

      /**
       * Dirección de la entidad que posee el escrow
       */
      platformAddress: string;

      /**
       * Dirección del usuario encargado de liberar los fondos del escrow al proveedor del servicio.
       */
      releaseSigner: string;

      /**
       * Dirección encargada de resolver disputas dentro del escrow.
       */
      disputeResolver: string;

      /**
       * Dirección a la que se enviarán los ingresos del escrow
       */
      receiver: string;
    };

    /**
     * Texto que describe la función del escrow
     */
    description: string;

    /**
     * Monto a transferir al completarse los hitos del escrow
     */
    amount: number;

    /**
     * Comisión que recibirá la plataforma cuando el escrow se complete
     */
    platformFee: number;

    /**
     * Objetivos que deben completarse para definir el escrow como completado
     */
    milestones: {
      /**
       * Texto que describe la función del hito.
       */
      description: string;

      /**
       * Estado del hito. Ej: Aprobado, En disputa, etc...
       */
      status?: string;

      /**
       * Evidencia del trabajo realizado por el proveedor del servicio.
       */
      evidence?: string;

      /**
       * Indicador de aprobado, solo si el escrow es de liberación única
       */
      approved?: boolean;
    }[];

    /**
     * Indicadores que validan ciertos estados de vida del escrow
     */
    flags?: {
      /**
       * Indicador que señala que un escrow está en disputa.
       */
      disputed?: boolean;

      /**
       * Indicador que señala que los fondos del escrow ya han sido liberados.
       */
      released?: boolean;

      /**
       * Indicador que señala que un escrow en disputa ya ha sido resuelto.
       */
      resolved?: boolean;

      /**
       * Indicador que señala si un hito ha sido aprobado por el aprobador.
       */
      approved?: boolean;
    };

   /**
     * Información sobre la trustline que gestionará el movimiento de fondos en escrow
     */
    trustline: {   
     /**
       * Símbolo del token, ejemplo: USDC, EURC, etc...
       */
      symbol: string;
  
      /**
       * Dirección pública que establece permiso para aceptar y usar un token específico.
       */
      address: string;
    };

    /**
     * Si el escrow está activo. Esto proviene de la BD, no de la blockchain.
     */
    isActive?: boolean;
  };

  /**
   * Dirección del usuario que firma la transacción del contrato
   */
  signer: string;
};
```

### Liberación múltiple

```typescript
/**
 * Carga útil de actualización de escrow de liberación múltiple
 */
export type UpdateMultiReleaseEscrowPayload = {
  /**
   * ID (dirección) que identifica el contrato de escrow
   */
  contractId: string;

  /**
   * Datos del escrow
   */
  escrow: {
    /**
     * Identificador único del escrow
     */
    engagementId: string;

    /**
     * Nombre del escrow
     */
    title: string;

    /**
     * Roles que conforman la estructura del escrow (sin receiver, ya que cada hito tiene su propio receiver)
     */
    roles: {
      /**
       * Dirección de la entidad que requiere el servicio.
       */
      approver: string;

      /**
       * Dirección de la entidad que presta el servicio.
       */
      serviceProvider: string;

      /**
       * Dirección de la entidad que posee el escrow
       */
      platformAddress: string;

      /**
       * Dirección del usuario encargado de liberar los fondos del escrow al proveedor del servicio.
       */
      releaseSigner: string;

      /**
       * Dirección encargada de resolver disputas dentro del escrow.
       */
      disputeResolver: string;
    };

    /**
     * Texto que describe la función del escrow
     */
    description: string;

    /**
     * Comisión que recibirá la plataforma cuando el escrow se complete
     */
    platformFee: number;

    /**
     * Objetivos que deben completarse para definir el escrow como completado
     */
    milestones: {
      /**
       * Texto que describe la función del hito.
       */
      description: string;

      /**
       * Estado del hito. Ej: Aprobado, En disputa, etc...
       */
      status?: string;

      /**
       * Evidencia del trabajo realizado por el proveedor del servicio.
       */
      evidence?: string;

      /**
       * Monto a transferir al completarse este hito
       */
      amount: number;

      /**
       * Dirección a la que se enviarán los ingresos del hito
       */
      receiver: string;

      /**
       * Indicadores que validan ciertos estados de vida del hito, solo si el escrow es de liberación múltiple
       */
      flags?: {
        /**
         * Indicador que señala que un escrow está en disputa.
         */
        disputed?: boolean;

        /**
         * Indicador que señala que los fondos del escrow ya han sido liberados.
         */
        released?: boolean;

        /**
         * Indicador que señala que un escrow en disputa ya ha sido resuelto.
         */
        resolved?: boolean;

        /**
         * Indicador que señala si un hito ha sido aprobado por el aprobador.
         */
        approved?: boolean;
      };
    }[];

    /**
     * Información sobre la trustline que gestionará el movimiento de fondos en escrow
     */
    trustline: {   
     /**
       * Símbolo del token, ejemplo: USDC, EURC, etc...
       */
      symbol: string;
  
      /**
       * Dirección pública que establece permiso para aceptar y usar un token específico.
       */
      address: string;
    };

    /**
     * Si el escrow está activo. Esto proviene de la BD, no de la blockchain.
     */
    isActive?: boolean;
  };

  /**
   * Dirección del usuario que firma la transacción del contrato
   */
  signer: string;
};
```


---

# 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 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, and the optional `goal` query parameter:

```
GET https://docs.trustlesswork.com/trustless-work/v1-es/introduccion/developer-resources/tipos/cargas-utiles/actualizar-escrow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
