Trade Requests
Learn more about how to set-up trading in your integration project.
Trading requests are possible with the Enjin API, with trading requests, you are able to interact with players through a
project > player
trade or player > player
trade within your project, allowing you to set up an exchange environment within your own project.Using trade requests, both Enjin Coin (ENJ) and ERC-1155 assets created using the Enjin Platform can be traded.
Mutations:
The Enjin Trade has 2 mutations:
Mutation | Usage |
---|---|
CreateTrade | Used to initiate the trade request. |
CompleteTrade | Used to complete the trade request based on parameters from the CreateTrade request. |
The CreateTrade mutation allows you to trade assets (FTs or NFTs) and trade assets for ENJ as well.
mutation {
CreateTrade(
askingAssets: [{ assetId: "XXXXXXXXXXX", value: 1 }],
offeringAssets: [{ assetId: "XXXXXXXXXXX", value: 1, assetIndex:"XXXXXXXXXXX"}],
secondParty: "WalletAddress"
wallet: "WalletAddress"
)
{
transactionId
id
state
value
asset{name id}
user{name}
}
}
Note that the
wallet
parameter is the initiator, while the secondParty
is the person who's interacting with the trade.After approving the request through the wallet, you may want to query the status of this specific transaction with the
GetTransaction
query as you will need to have the id for the transaction in order to complete the trade.Use this mutation to complete the trade request initiated by the previous mutation.
mutation {
CompleteTrade(
tradeId: "XXXXXX",
wallet: "WalletAddress"
)
{
transactionId
id
state
value
asset{name id}
user{name}
}
}
Last modified 10mo ago