Protokol
  • Introduction To Digital Assets
  • Tutorials
    • How To Create Digital Assets
    • How To Trade Digital Assets
  • ARK CORE MODULES
    • NFT
      • Development
      • Complementary Examples
        • Base
        • Exchange
      • API Endpoints
        • Assets
        • Burns
        • Collections
        • Transfers
        • Base Configurations
        • Auctions
        • Bids
        • Trades
        • Exchange Configurations
    • Guardian
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Groups
        • Users
    • Nameservice
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Nameservice
    • Voting
      • Development
      • Complementary Examples
      • API Endpoints
        • Configurations
        • Create Proposal
        • Cast Vote
        • Statistics
  • Protokol Templates
    • Core Starter Kit
    • Solidity Typescript Hardhat
    • Nestjs
Powered by GitBook
On this page
  • All Auctions
  • /auctions
  • Examples
  • Auction By Id
  • /auctions/:id
  • Examples
  • Auctions Wallet
  • /auctions/:id/wallets
  • Examples
  • Search Auctions
  • /auctions/search
  • Examples
  • Canceled Auctions
  • /auctions/canceled
  • Examples
  • Canceled Auctions By Id
  • /auctions/canceled/:id
  • Examples

Was this helpful?

  1. ARK CORE MODULES
  2. NFT
  3. API Endpoints

Auctions

List of NFT Exchange Auction Endpoints.

All Auctions

/auctions

GET https://explorer.protokol.sh/api/nft/exchange/auctions

Returns all active auctions that have not been canceled or closed with succesfull NFTAcceptTrade transaction.

Query Parameters

Name
Type
Description

page

integer

The number of the page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

Returns modified or raw data

expired

boolean

If true include expired (not canceled or accapted) auctions

{
  "meta": {
    "totalCountIsEstimate": false,
    "count": 1,
    "pageCount": 1,
    "totalCount": 1,
    "next": null,
    "previous": null,
    "self": "/nft/exchange/auctions?transform=true&expired=false&page=1&limit=100",
    "first": "/nft/exchange/auctions?transform=true&expired=false&page=1&limit=100",
    "last": "/nft/exchange/auctions?transform=true&expired=false&page=1&limit=100"
  },
  "data": [
    {
      "id": "08466d59b86622152c643558c03e4037454dcaf4d8188af876812c79d433ae20",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "nftAuction": {
        "nftIds": [
          "4f1f337873d530838dba06c9ec256cfd8a2acf7a94e87fbb0cb4c7304d3e6788"
        ],
        "startAmount": "100000000000",
        "expiration": {
          "blockHeight": 20000
        },
        "status": "IN_PROGRESS"
      },
      "timestamp": {
        "epoch": 143238008,
        "unix": 1633339208,
        "human": "2021-10-04T09:20:08.000Z"
      }
    }
  ]
}

Examples

curl https://explorer.protokol.sh/api/nft/exchange/auctions
const response = connection.NFTExchangeApi("auctions").getAllAuctions();

>>> Promise<ApiResponseWithPagination<AuctionsResource[]>>

Auction By Id

/auctions/:id

GET https://explorer.protokol.sh/api/nft/exchange/auctions/:id

Returns auction by id

Path Parameters

Name
Type
Description

id

string

The identifier of the auction to be retrieved

Query Parameters

Name
Type
Description

transform

boolean

Returns modified or raw data

{
  "data": {
    "id": "08466d59b86622152c643558c03e4037454dcaf4d8188af876812c79d433ae20",
    "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
    "nftAuction": {
      "nftIds": [
        "4f1f337873d530838dba06c9ec256cfd8a2acf7a94e87fbb0cb4c7304d3e6788"
      ],
      "startAmount": "100000000000",
      "expiration": {
        "blockHeight": 20000
      }
    },
    "timestamp": {
      "epoch": 143238008,
      "unix": 1633339208,
      "human": "2021-10-04T09:20:08.000Z"
    }
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Auction not found"
}
{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"id\" length must be 64 characters long"
}

Examples

curl https://explorer.protokol.sh/api/nft/exchange/auctions/1d1757bc7e598fd73f0ec670e1f2c517d7d9a2a94d447bd5daa0a9384ebd4e7e
const response = connection.NFTExchangeApi("auctions").getAuctionById("VALID_ID");

>>>  Promise<ApiResponse<AuctionsResource>>

Auctions Wallet

/auctions/:id/wallets

GET https://explorer.protokol.sh/api/nft/exchange/auctions/:id/wallets

Returns wallet owning the auction

Path Parameters

Name
Type
Description

id

string

The identifier of the auction

{
  "data": {
    "address": "ANBkoGqWeTSiaEVgVzSKZd3jS7UWzv9PSo",
    "publicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
    "nft": {
      "collections": [
        {
          "collectionId": "8643026a0997dc9fe74ce4aa11f522ecff651fa72ecf0127a0665fd52535bc1b",
          "currentSupply": 3,
          "nftCollectionAsset": {
            "name": "AREX Defense Handguns",
            "description": "AREX weapons sales",
            "maximumSupply": 999,
            "jsonSchema": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "name",
                "description",
                "serialNumber",
                "caliber",
                "length",
                "height",
                "width",
                "barrelLength"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "maxLength": 120,
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "maxLength": 3000,
                  "minLength": 1
                },
                "serialNumber": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "caliber": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "length": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "height": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "width": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "barrelLength": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "weight": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "weightWithMag": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "frameColors": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "slide": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "slights": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "frame": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "firingPinSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "triggerSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "ambidextrousManualSafety": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 1
                },
                "ipfsImageHash": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                }
              }
            }
          }
        },
       ...
      ],
      "auctions": [
        {
          "auctionId": "08466d59b86622152c643558c03e4037454dcaf4d8188af876812c79d433ae20",
          "nftIds": [
            "4f1f337873d530838dba06c9ec256cfd8a2acf7a94e87fbb0cb4c7304d3e6788"
          ],
          "bids": []
        }
      ],
      "lockedBalance": "0"
    }
  }
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Auction not found or it was already completed/canceled"
}
{
  "statusCode": 422,
  "error": "Unprocessable Entity",
  "message": "\"id\" length must be 64 characters long"
}

Examples

curl https://explorer.protokol.sh/api/nft/exchange/auctions/1d1757bc7e598fd73f0ec670e1f2c517d7d9a2a94d447bd5daa0a9384ebd4e7e/wallets
const response = connection.NFTExchangeApi("auctions").getAuctionsWallets("VALID_ID");

>>> Promise<ApiResponse<AuctionsWallet>>

Search Auctions

/auctions/search

POST https://explorer.protokol.sh/api/nft/exchange/auctions/search

Search auctions

Query Parameters

Name
Type
Description

page

integer

The number of the page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

Returns modified or raw data

onlyActive

boolean

Only returns not canceled or not closed auctions

expired

boolean

Extends onlyActive, if true include expired auctions

includeBids

boolean

If true includes auction bids

canceledBids

boolean

Extends includeBids, if true include canceled bids

Request Body

Name
Type
Description

senderPublicKey

string

Public key of a sender

nftIds

array

Ids of nfts

startAmount

string

Start amount of auctions

expiration: { blockHeight}

object

Block height expiration

{
  "meta": {
    "totalCountIsEstimate": false,
    "count": 2,
    "pageCount": 1,
    "totalCount": 2,
    "next": null,
    "previous": null,
    "self": "/nft/exchange/auctions/search?transform=true&onlyActive=false&expired=false&includeBids=false&canceledBids=false&page=1&limit=100",
    "first": "/nft/exchange/auctions/search?transform=true&onlyActive=false&expired=false&includeBids=false&canceledBids=false&page=1&limit=100",
    "last": "/nft/exchange/auctions/search?transform=true&onlyActive=false&expired=false&includeBids=false&canceledBids=false&page=1&limit=100"
  },
  "data": [
    {
      "id": "877db0e352e38c27aede0b999f11afb0185fa41ffc2d1058ec288bc374d943a0",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "nftAuction": {
        "nftIds": [
          "4f1f337873d530838dba06c9ec256cfd8a2acf7a94e87fbb0cb4c7304d3e6788"
        ],
        "startAmount": "10000000000",
        "expiration": {
          "blockHeight": 20000
        },
        "status": "CANCELED"
      },
      "timestamp": {
        "epoch": 143237784,
        "unix": 1633338984,
        "human": "2021-10-04T09:16:24.000Z"
      }
    },
    ...
  ]
}

Examples

curl --request POST \
  --url https://explorer.protokol.sh/api/nft/exchange/auctions/search \
  --header 'content-type: application/json' \
  --data '{
      "nftIds": ["238d98bd751025decc853a46da8fb995c68a9684a4156bcfa414e7596b6e73b1"]
  }'
const response = connection.NFTExchangeApi("auctions").searchByAsset({
    nftIds: ["VALID_NFT_IDS"],
    senderPublicKey: "VALID_SENDER_PUBLIC_KEY",
    startAmount: "START_AMOUNT",
    expiration: {
        blockHeight: BLOCK_HEIGHT,
    },
});

    >>> Promise<ApiResponseWithPagination<AuctionsResource[]>>

Canceled Auctions

/auctions/canceled

GET https://explorer.protokol.sh/api/nft/exchange/auctions/canceled

Returns canceled auctions transactions

Query Parameters

Name
Type
Description

page

integer

The number of the page that will be returned

limit

integer

The number of resources per page

orderBy

string

Order by specific parameter (asc or desc) Example: orderBy=id:asc

transform

boolean

Returns modified or raw data

{
  "meta": {
    "totalCountIsEstimate": true,
    "count": 1,
    "pageCount": 1,
    "totalCount": 1,
    "next": null,
    "previous": null,
    "self": "/nft/exchange/auctions/canceled?transform=true&page=1&limit=100",
    "first": "/nft/exchange/auctions/canceled?transform=true&page=1&limit=100",
    "last": "/nft/exchange/auctions/canceled?transform=true&page=1&limit=100"
  },
  "data": [
    {
      "id": "6d60ff9503ae3aea29f2f48df586410c809af6aeea698967469f3b81b880c426",
      "senderPublicKey": "03287bfebba4c7881a0509717e71b34b63f31e40021c321f89ae04f84be6d6ac37",
      "nftAuctionCancel": {
        "auctionId": "877db0e352e38c27aede0b999f11afb0185fa41ffc2d1058ec288bc374d943a0"
      },
      "timestamp": {
        "epoch": 143237848,
        "unix": 1633339048,
        "human": "2021-10-04T09:17:28.000Z"
      }
    }
  ]
}

Examples

curl https://explorer.protokol.sh/api/nft/exchange/auctions/canceled
const response = connection.NFTExchangeApi("auctions").getAllCanceledAuctions();

>>> Promise<ApiResponseWithPagination<AuctionCanceled[]>>

Canceled Auctions By Id

/auctions/canceled/:id

GET https://explorer.protokol.sh/api/nft/exchange/auctions/canceled/:id

Returns canceled auction transaction by id

Path Parameters

Name
Type
Description

id

string

The identifer of canceled auction to be retrieved

Query Parameters

Name
Type
Description

transform

boolean

Returns modified or raw data

Examples

curl https://explorer.protokol.sh/api/nft/exchange/auctions/canceled/3c26dee62a937aaf49c25e64d2776117362e9dc30dd6f27c839081d1e44608bc
const response = connection.NFTExchangeApi("auctions").getCanceledAuctionById("VALID_ID");

>>> Promise<ApiResponse<AuctionCanceled>>
PreviousBase ConfigurationsNextBids

Last updated 3 years ago

Was this helpful?