# Escrow Container Management

In order to use a user’s assets for your application, you must first require the user to transfer their ownership temporarily to Upland. Upland, in turn, locks these assets in a vault-like account. In Upland terminology, this vault-like account, controlled by Upland, is called an ***escrow account**.*

The developer is responsible for specifying necessary assets the users have to transfer to the escrow account to use your application (for example, a drag car-racing application will need a user to place at least one block explore and one car in the escrow to participate).

Within the escrow account, each application is assigned an ***escrow container***, which contains transferred assets necessary to use the application.

At junctions determined by your application logic, your application can request a ***resolution of its escrow container*** (for example, at the end of a drag car-racing application, the loser loses his block explore to the winner).

You can also query the content of your application’s escrow container, request to extend its validity, etc.

{% hint style="info" %}
The available assets the developers can use so far are:

1. Block Explorers
2. Structured Ornaments
3. Spirit Legits
4. Upx
5. 3D Assets
   {% endhint %}

{% hint style="warning" %}
Branded assets such as FIFA, Stock Car, and others need permission to be used.
{% endhint %}

## Escrow Containers Transactions Status

#### **Expired** - Transactions not accepted/rejected in time;&#x20;

#### **Rejected** - Transaction which players rejected;

#### **User\_signature\_requested** - When the app sends the request to players';

#### **Changing\_ownership** - When the transaction is being registered in the blockchain (It can take up to three minutes); - Player to Escrow or Escrow to player

#### **In\_escrow** - Assets inside the container ready for resolution;

#### **Refunded** - Transactions in which assets were given back to players;

#### **Removed** - Transactions that were deleted from the container before players' acceptance or rejection;

## API Definition

{% hint style="info" %}
These endpoints require Basic Authentication. [Click here](broken://pages/jcE1CpHZKSl2NSb8eC9I) to read more about how to generate valid credentials.
{% endhint %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}" method="get" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}/refresh-expiration-time" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}/lock" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% hint style="warning" %}
&#x20;To use the ***resolve*** endpoint, all assets inside the container must have the status "in\_scrow".
{% endhint %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}/resolve" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}/refund" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/containers/{containerId}/transactions/{transactionId}" method="delete" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}

{% hint style="info" %}
You must provide a Code to your users generated across the endpoint /auth/opt/init. Then, when Upland User grants access to the developer App, a webhook will be sent with a valid access token. [Click here ](/upland-developers/sign-up-and-authentication/1.-developers-sign-up.md)to check the authentication session.
{% endhint %}

{% openapi src="/files/GpMILvLdsLzpxfHE75oW" path="/user/join" method="post" %}
[developers-api-v.1.0.6.json](https://4004808113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdpybRHoch9jMpkMbfNu9%2Fuploads%2FTCA08eoTeYK6GiYnceQC%2Fdevelopers-api-v.1.0.6.json?alt=media\&token=0e17e5e0-3d6d-4712-88a0-329771fbaabf)
{% endopenapi %}


---

# 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.developers.upland.me/upland-developers/api-definitions/escrow-container-management.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.
