Initialize Escrow

Deploy the escrow contract and define the escrow properties.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Milestone

Name
Type
Description

description

string

Text describing the function of the milestone

status

string (Default value: "peding")

Milestone status. Ex: Approved, In dispute, etc...

approvedFlag

boolean (Default value: false)

Flag indicating whether a milestone has been approved by the approver

Roles:

Name
Type
Description

approver

string

Address of the entity requiring the service.

serviceProvider

string

Address of the entity providing the service.

plataformAddress

string

Address of the entity that owns the escrow

releaseSigner

string

Address of the user in charge of releasing the escrow funds to the service provider.

disputeResolver

string

Address in charge of resolving disputes within the escrow.

receiver

string

Address where escrow proceeds will be sent to

Trustline:

Name
Type
Description

address

string

Public address establishing permission to accept and use a specific token.

decimals

number

Number of decimals into which the token is divided.

Initialize Escrow

What this Endpoint returns?

This endpoint returns the transaction unsigned so that the transaction can be signed by means of a customer wallet.

Use Example:

import axios from "axios";

const http = axios.create({
  baseURL: "https://dev.api.trustlesswork.com",
  timeout: 10000,
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer your_api_key`,
  },
});

export const useExample = async () => {
    // Get the signer address
    const { address } = await kit.getAddress();

    // Execute the endpoint
    const response = await http.post(
      "/deployer/invoke-deployer-contract",
      {
        // body requested for the endpoint
      },
    );
    
    // Get the unsigned transaction hash
    const { unsignedTransaction } = response.data;

    // Sign the transaction by wallet
    const { signedTxXdr } = await signTransaction(unsignedTransaction, {
      address,
      networkPassphrase: WalletNetwork.TESTNET,
    });

    // Send the transaction to Stellar Network
    const tx = await http.post("/helper/send-transaction", {
      signedXdr: signedTxXdr,
      returnEscrowDataIsRequired: true,
    });

    const { data } = tx;

    return data; 
}

Last updated

Was this helpful?