Skip to main content

EVM Blockchain Adapter (1.0.0)

Download OpenAPI specification:Download

Introduction

The EVM Blockchain Adapter purpose is to provide an API so we can interact with our EVM smart contracts.

Currently it supports the following functionality:

  • Collection: Interact with a collection smart contract
  • Sale: Interact with a sale smart contract
  • Marketplace: Interact with a marketplace

Collection

API to interact with a collection smart contract

Owner Of

Get the owner of the tokenId token of collection contract contractAddress.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract address

tokenId
required
number
Example: 1

The token id

Responses

Response samples

Content type
application/json
{
  • "owner": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0"
}

Token URI

Get the token URI of the tokenId token of collection contract contractAddress.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract address

tokenId
required
number
Example: 1

The token id

Responses

Response samples

Content type
application/json
{
  • "tokenURI": "https://api.example.com/v1/1 "
}

Approved For All

Get if the operator is allowed to manage all of the assets of owner for collection contract contractAddress.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract address

owner
required
string
Example: 0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0

The tokens owner

operator
required
string
Example: 0x22d491Bde2303f2f43325b2108D26f1eAbA1e32b

The operator of the tokens

Responses

Response samples

Content type
application/json
{
  • "isApprovedForAll": true
}

Paused

Get if the collection contract is paused or not.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract

Responses

Response samples

Content type
application/json
{
  • "paused": false
}

Approve Encoded

Get a transaction encoded data to approve:

Give permission to to to transfer tokenId token of contractAddress contract to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. The caller should be the token owner or approved for all.

The end-user caller is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract

Request Body schema: application/json
caller
required
string
to
required
string
tokenId
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "caller": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0 ",
  • "to": "0x22d491Bde2303f2f43325b2108D26f1eAbA1e32b ",
  • "tokenId": 0
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "maxFeePerGas": "0x80be6278",
  • "maxPriorityFeePerGas": "0x7b1b1304",
  • "to": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
  • "data": "0x095ea7b30000000000000000000000009b1f7f645351af3631a656421ed2e40f2802e6c00000000000000000000000000000000000000000000000000000000000000002",
  • "type": "0x2",
  • "gas": "0xb8db"
}

Set Approval For All Encoded

Get a transaction encoded data to set approval for all:

Approve or remove operator as an operator for contractAddress contract for the owner. Operators can call {transferFrom} or {safeTransferFrom} for any token of contractAddress collection contract owned by the owner.

A use case is to approve the marketplace (operator) to move the owner's tokens only for the collection specified in contractAddress.

The end-user owner is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0xCfEB869F69431e42cdB54A4F4f105C19C080A601

A collection contract

Request Body schema: application/json
owner
required
string
operator
required
string
approved
required
boolean

Responses

Request samples

Content type
application/json
{
  • "owner": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0 ",
  • "operator": "0x22d491Bde2303f2f43325b2108D26f1eAbA1e32b ",
  • "approved": true
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "maxFeePerGas": "0x7f9d5683",
  • "maxPriorityFeePerGas": "0x7c024daf",
  • "to": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
  • "data": "0xa22cb4650000000000000000000000009b1f7f645351af3631a656421ed2e40f2802e6c00000000000000000000000000000000000000000000000000000000000000001",
  • "type": "0x2",
  • "gas": "0xb154"
}

Get royalty info

Gets royalty info for the given token id and sale price

Authorizations:
httpBearer
Request Body schema: application/json
contractAddress
required
string

The contract address of the collection.

tokenId
required
integer <int32>

The token id.

salePrice
required
integer <int32>

The sale price.

Responses

Request samples

Content type
application/json
{
  • "contractAddress": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
  • "tokenId": 2,
  • "salePrice": 3
}

Response samples

Content type
application/json
{
  • "receiver": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601",
  • "amount": "0.1"
}

Sale

API to nteract with a sale smart contract

Buy Token

Create a transaction encoded data to buy a token from the market. The end-user is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
Request Body schema: application/json
saleContractAddress
required
string

The contract address of the sale.

tokenId
required
integer <int32>
wallet
required
string

The address of the buyer.

price
required
string

The token's price to pay.

network
required
string

The network the transaction will be executed.

Responses

Request samples

Content type
application/json
{
  • "saleContractAddress": "0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B",
  • "tokenId": "1",
  • "wallet": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "price": "2",
  • "network": "polygon"
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "gas": "0x14743",
  • "maxFeePerGas": "0x9ea854d3",
  • "maxPriorityFeePerGas": "0x83fa4e0d",
  • "value": "0x1bc16d674ec80000",
  • "data": "0xb1fd32e60000000000000000000000000000000000000000000000000000000000000020000000000000000000000000ffcf8fdee72ac11b5c542428b35eef5769c409f00000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000041068fdfc4324999962211794caacca5a55c801d753c7dee3d3d7a95f8b5a4632b4a245ebfd1e55b2a8d7993a8f5dd50b7176016ea14d0ae0dfd47b7984c17650a1c00000000000000000000000000000000000000000000000000000000000000",
  • "type": "0x2",
  • "to": "0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B"
}

Paused

Get if the sale contract is paused or not.

Authorizations:
httpBearer
path Parameters
contractAddress
required
string
Example: 0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B

A sale contract

Responses

Response samples

Content type
application/json
{
  • "paused": false
}

Marketplace

API to nteract with a marketplace

Create Listing

Get a transaction encoded data to create a listing for the given token. The end-user is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
Request Body schema: application/json
listingId
required
number

The listing id.

listingOwner
required
string

The listing owner.

startDate
required
number

The start date of the listing.

endDate
required
number

The end date of the listing.

price
required
number

The price of the listing in eth.

required
object
royaltyFee
number

The royalty fee of the listing.

royaltyRecipient
string

The royalty recipient address.

required
object

Responses

Request samples

Content type
application/json
{
  • "listingId": 1,
  • "listingOwner": "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1",
  • "startDate": 1664446541,
  • "endDate": 1664446541,
  • "price": 2,
  • "collection": {
    },
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "to": "0x9b1f7F645351AF3631a656421eD2e40f2802E6c0",
  • "maxFeePerGas": "0x87b2eb51",
  • "maxPriorityFeePerGas": "0x82cc690a",
  • "data": "0x9975dffe0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cfeb869f69431e42cdb54a4f4f105c19c080a60100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006320ec3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  • "type": "0x2",
  • "gas": "0x3d9b5"
}

Update Listing

Get a transaction encoded data to update the price of a listing. The end-user is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
Request Body schema: application/json
listingOwner
required
string

The listing owner.

contractListingId
required
number

The contract listing id.

price
required
number

The new price of the listing in eth.

Responses

Request samples

Content type
application/json
{
  • "listingOwner": "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1",
  • "contractListingId": 1,
  • "price": 5
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "to": "0x9b1f7F645351AF3631a656421eD2e40f2802E6c0",
  • "maxFeePerGas": "0x84977032",
  • "maxPriorityFeePerGas": "0x80c128e5",
  • "data": "0x0179ea8800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000004563918244f40000",
  • "type": "0x2",
  • "gas": "0x9bdb"
}

Cancel Listing

Get a transaction encoded data to cancel a listing. The end-user is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
Request Body schema: application/json
contractListingId
required
number

The contract listing id.

listingOwner
required
string

The listing owner.

Responses

Request samples

Content type
application/json
{
  • "listingOwner": "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1",
  • "contractListingId": 1
}

Response samples

Content type
application/json
{
  • "from": "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0",
  • "to": "0x9b1f7F645351AF3631a656421eD2e40f2802E6c0",
  • "maxFeePerGas": "0x87dd30f8",
  • "maxPriorityFeePerGas": "0x846b893b",
  • "data": "0x305a67a80000000000000000000000000000000000000000000000000000000000000001",
  • "type": "0x2",
  • "gas": "0x9ae8"
}

Fullfill Listing (purchase)

Get a transaction encoded data to fullfil a listing, that is to purchase the listing's token. The end-user is required to sign the transaction and submit it via his wallet.

Authorizations:
httpBearer
Request Body schema: application/json
listingBuyer
required
string

The listing buyer.

contractListingId
required
number

The contract listing id.

price
required
number

The price of the listing.

Responses

Request samples

Content type
application/json
{
  • "listingBuyer": "0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1",
  • "contractListingId": 1,
  • "price": 2
}

Response samples

Content type
application/json
{
  • "from": "0x22d491Bde2303f2f43325b2108D26f1eAbA1e32b",
  • "to": "0x9b1f7F645351AF3631a656421eD2e40f2802E6c0",
  • "maxFeePerGas": "0x7e3d6e5a",
  • "maxPriorityFeePerGas": "0x7b6e16e3",
  • "data": "0xefef39a10000000000000000000000000000000000000000000000000000000000000002",
  • "value": "0x1bc16d674ec80000",
  • "type": "0x2",
  • "gas": "0x1dc63"
}

Generic

API for generic functionality

Version

Returns the version of the EVM Blockchain Adapter service.

Authorizations:
httpBearer

Responses

Response samples

Content type
application/json
{
  • "version": "1.0.0",
  • "git_revision": "36a5a67",
  • "branch": "btc-70_collection-controller",
  • "@wappier/xanadu-lib": "1.3.3",
  • "env": "local_test",
  • "hostname": "LP-AP",
  • "ips": [
    ]
}

Health Check

Health check of the EVM Blockchain Adapter service.

Authorizations:
httpBearer

Responses

Response samples

Content type
application/json
{
  • "service": "Dappier",
  • "info": {
    },
  • "status": "UP"
}