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.
The available assets the developers can use so far are:
Block Explorers
Structured Ornaments
Spirit Legits
Upx
3D Assets
Branded assets such as FIFA, Stock Car, and others need permission to be used.
Escrow Containers Transactions Status
Expired - Transactions not accepted/rejected in time;
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
These endpoints require Basic Authentication. Click here to read more about how to generate valid credentials.
Create a new escrow container
The third-party application will be able to create a new container in the escrow to receive user assets.
The container times out after the lesser of the developer’s desired container time to live.
The webhook URL will be used by the escrow service to communicate with third-party apps about the transaction status in the container.
Container Id
Application Id
Container expiration date
Container status
Query Escrow Container
Retrieve container information by id, including expiration time. The possible values for the container status are created, locked, processing, resolved, and expired.
Container Id
Application Id
Container expiration date
Container status
Amount of UPX with status in_escrow
Amount of SPARK with status in_escrow
List of transfer requests
Refresh Expiration time of Escrow Container
Refresh the container expiration for the same amount of time previously informed.
Locks the escrow container (Optional)
This action will lock the container. After this action users can not join this container. This doesn't apply to all 3p apps. It's an optional call if a third party wants to make sure that no one else will enter the container.
To use the resolve endpoint, all assets inside the container must have the status "in_scrow".
Execute operations over the escrow assets and resolve container
Send some operations in batch to be executed over the escrow assets and UPXs.
This call is the final resolution. At this moment Escrow Service will execute transactions and close the container. If there are assets remaining, they will return to the account source.
Actions
Transaction Id
Refund container assets
It sends back the assets inside the container to the original owners (no fees) and resolves the container.
Transaction Id
Remove a transaction from container
Removes a transaction that has not been signed by the user from container.
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 to check the authentication session.
Put assets in escrow container
Send a list of user assets that will be added to the escrow container. This action must be approved by Upland User inside the Upland Application to be performed.
Container Id
Amount of UPX to include in escrow
Amount of SPARK to include in escrow (IMPORTANT: SPARK transactions are temporarily blocked)
Assets
Transaction Id
Last updated