NAV
cURL JavaScript PHP

Introduction

Welcome to the Bithomp API!

Bithomp API endpoints will give you access to information on XRPL addresses, NFTs, usernames, validators, services and more.

This API is built to complement the rippled API.

We have language bindings in Shell, JavaScript and PHP. You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Price and Limits

API plans:

Tier Max requests / minute Max request / 24h NFT content plan Price / month
Free (non-comercial use) 10 2K Free 0
Basic 100 30K Free 30 EUR
Standard* 400 120K Basic 100 EUR
Premium* 1000 300K Basic 250 EUR
Enterprise 1* 2000 600K Basic 500 EUR
Enterprise 2* 4000 1.2M Basic 1000 EUR
Enterprise 3* 8000 2.4M Basic 2000 EUR

NFT content plans (Direct access to fast [resized and cached] images and videos):

Tier Max Images day / month Max Videos day / month Max Thumbnails day / month Price / month
Free (non-comercial use) 1K / 20K 300 / 6K 5K / 50K 0
Basic 5K / 100K 1.5K / 30K 25K / 250K 60 EUR
Standard 10K / 200K 3K / 60K 50K / 500K 100 EUR
Premium 20K / 400K 6K / 120K 100K / 1M 200 EUR

Changelog

20th of February 2024

A new endpoint was added:

Account Activations

19th of February 2024

Two new endpoints were added:

NFT Mint Chart

NFT Sales Chart

16th of February 2024

Two new query parameters: buyer and seller were added to the NFT Sales API end-point. You can search for sales by a specific buyer and/or seller.

18th of August 2023

A new endpoint was added:

NFT minters

New query parameters: mintedByMarketplace, includeDeleted, two new values mintedNew and mintedOld for parameter order and new period formats were added to the NFTs API end-point. Now the search results can include already burned NFTs.

3rd of August 2023

An update for query parameter: period NFT Volumes Extended Now you can define start and end of range for the period.

23rd of July 2023

Two new query parameters: issuedAt and deletedAt were added to the NFTs API end-point. You can search for NFTs in a collection (or through all NFTs) which were minted during a specific period and/or deleted during another specific period of time.

5th of July 2023

The new query parameter: assets was added to the NFT API end-point. Now you can get URLs for cached NFT image 700px x 700px, 15 second video, thumbnail 64px x 64px (resized image otherwise a frame from a video) and a preview 360px x 360px (resized image otherwise a frame from a video)

14th of May 2023

The new query parameter: marketplace was added to the NFT Sales API end-point. Now you are able to filter sales by a marketplace, or to get TOP or Latest Sales for any marketplace.

The new endpoint added: NFT Volumes Extended Here you can get all the volumes for Marketplaces, Issuers, Taxons, Currencies, Brokers (including all tokens [IOU]) with converted volumes to FIAT and/or XRP, BTC.

29th of April 2023

The new query parameter: convertCurrencies was added to the NFT API end-point. The endpoint now also returns the marketplace in the history of Sales.

The new query parameter: taxon was added to the NFT Distribution Now you can get the nft distrubition for collections identified by issuer and taxon.

18th of April 2023

New params were added to get all the NFT sales (inluding NFTs sold for IOU (tokens)) amounts converted to XRP or Fiat currencies and sorted by a choosen currency. For example, all sales in (XRP and IOU (tokens)) can be converted to USD, and you can see the Top NFT sales in USD, sorted by USD value. NFT Sales now also inlude marketplace, the website where NFT was sold (if it is identified).

NFT Sales

1st of March 2023

New params were added to get the list of NFTs for Sale for any XRPL currency, sorted by price or offer creation time and filtered by sale direction (On Sale on the specific marketplace (xrpl address can be specified), or on any known MarketPlaces, Publicly, Publicly and on the known MarketPlaces, anywhere including private offers):

NFTs

Now you can also get the list of offered NFT transfers (sell offers with 0 price) to any XRPL address, private Sell and Buy offers, offers for brokers.

NFT Offers

Direct URL examples

XRPL Explorer

NFT explorer

Username registration

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
// With javascript, you can just pass the correct header with each request
// Include jquery in order to use $.ajax or rewrite to vanila.js

function bithompRequest(url, callback) {
  $.ajax({
     url: url,
     type: "GET",
     contentType: "application/json",
     headers: {
        "x-bithomp-token": "abcd-abcd-0000-abcd-0123abcdabcd"
     },
     success: function(result) {
        callback(result);
     },
     error: function(error) {
        console.log(error);
        callback({"error": "error occurred"});
     }
  });
}

bithompRequest("api_endpoint_here", callback);
//replace callback with your function to process a received json

function curl_bithomp($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER,
        array('x-bithomp-token:abcd-abcd-0000-abcd-0123abcdabcd')
    );
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

print curl_bithomp("api_endpoint_here")

Make sure to replace abcd-abcd-0000-abcd-0123abcdabcd with your API key.

In order to use our APIs you need to request an API key via the partner portal.

Bithomp expects for the API key to be included in all API requests to the server in a header that looks like the following:

x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd

Get username

curl "https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true");
print $data;

The above command returns JSON structured like this:

{
  "address": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
  "xAddress": "X7WZKEeNVS2p9Tire9DtNFkzWBZbFtJHWxDjN9fCrBGqVA4",
  "username": "Bitstamp"
}

This endpoint retrieves a username for a requested XRPL address.

HTTP Request

GET https://bithomp.com/api/v2/address/<address>?username=true

URL Parameters

Parameter Description
address The XRPL address, can be r-address or a X-address

Query Parameters

Parameter Default Description
username false If set to true, the result will also include a username (rippletrade or bithomp).

NFT (XLS-20 / XLS-35)

NFT

curl "https://bithomp.com/api/v2/nft/000861A8BB208DE9CB0384F2D46901203CA958EEA4C0AF286862C7F90000005E?sellOffers=true&buyOffers=true&uri=true&history=true&assets=true"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft/000861A8BB208DE9CB0384F2D46901203CA958EEA4C0AF286862C7F90000005E?sellOffers=true&buyOffers=true&uri=true&history=true&assets=true", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft/000861A8BB208DE9CB0384F2D46901203CA958EEA4C0AF286862C7F90000005E?sellOffers=true&buyOffers=true&uri=true&history=true&assets=true");
print $data;

The above command returns JSON structured like this:

{
  "flags": {
    "burnable": false,
    "onlyXRP": false,
    "trustLine": false,
    "transferable": true
  },
  "issuer": "rwzGnXc31zAeSQiKgGqFiJJcALhy8TUqb8",
  "issuerDetails": { 
    "username": "3DAPES", 
    "service": "3DAPES" 
  },
  "nftokenID": "000813886D8D6DAC402E0D27297E9485F4D7E1125D656678258B866100000018",
  "nftokenTaxon": 10194,
  "transferFee": 5000,
  "sequence": 24,
  "owner": "rpL8hpPgdep5MrWCFfWx2qupiAhtPrMcJu",
  "ownerDetails": {
    "username": null,
    "service": null
  },
  "uri": "68747470733A2F2F626166796265696734676876366263666B6E746B793234616564667A6B757276366C746A6476736763623575736E77336A736965736D68706769652E697066732E7733732E6C696E6B2F6D657461646174612E6A736F6E",
  "issuedAt": 1666885020,
  "ownerChangedAt": 1666885052,
  "deletedAt": null,
  "assets": {
    "image": "https://cdn.bithomp.com/image/image_hash.png", 
    "preview": "https://cdn.bithomp.com/preview/preview_hash.png", 
    "thumbnail": "https://cdn.bithomp.com/thumbnail/thumbail_hash.png",
    "video": "https://cdn.bithomp.com/video/video_hash"
  },
  "history": [
    {
      "owner": "rXMART8usFd5kABXCayoP6ZfB35b4v43t",
      "changedAt": 1666885020,
      "ledgerIndex": 6860081,
      "txHash": "453C088321BA9AFCB59B1B7B79790E5ECF53EF969B95845C494604E26C51E848",
      "marketplace": "onxrp.com"
    },
    {
      "owner": "rpL8hpPgdep5MrWCFfWx2qupiAhtPrMcJu",
      "changedAt": 1666885052,
      "ledgerIndex": 6860093,
      "txHash": "103F0D35348C58D9E5301EED79906ED3CDBBD44EFFF65857BE8BFFD572F617A8",
      "marketplace": "xrpcafe.com"
    }
  ],
  "sellOffers": [
    {
      "amount": "850000000",
      "index": "B54B49719DC80B40D66E229FC02CC5DABF7D4496B395F87C369FA6235AA6B37E",
      "owner": "rGJn1uZxDX4ksxRPYuj2smP7ZshdwjeSTG",
      "destination": "rM3UEiJzg7nMorRhdED5savWDt1Gqb6TLw",
      "expiration": 1582437632,
      "createdAt": 1582437132
    },
    {
      "amount": {
        "currency": "534F4C4F00000000000000000000000000000000",
        "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",
        "value": "10000"
      },
      "offerIndex": "E992835C148C9EAA7A93EABDD397A84333F27F99DA386255378A3C16A8B0DEF3",
      "owner": "r9spUPhPBfB6kQeF6vPhwmtFwRhBh2JUCG",
      "expiration": null,
      "destination": null,
      "createdAt": 1670721431,
      "createdLedgerIndex": 76344438,
      "createdTxHash": "616CAAAC1C737C964C4A3B27DEAFE2F172D5A82FDD9342A1F5C677ACABC5AE7B"
    }
  ],
  "buyOffers": [
    {
      "amount": "935000000",
      "offerIndex": "3D47DA5CE9E4D9DB7D8D1FE78E9E1ECA19D8DE21A29C78FD95A856ADF2472674",
      "owner": "rN5wU5VpqfxZ5q9duP3EhP8rw8y9xR1TNL",
      "destination": "rM3UEiJzg7nMorRhdED5savWDt1Gqb6TLw",
      "expiration": 1582437632,
      "createdAt": 1582437132,
      "createdLedgerIndex": 76332437,
      "createdTxHash": "616CAAAC1C737C964C4A3B27DEAFE2F172D5A82FDD9342A1F5C677ACABC5AE7B"
    }
  ]
}

This endpoint retrieves information for a requested NFT (XLS-20 or XLS-35).

HTTP Request

GET https://bithomp.com/api/v2/nft/<nftID>

URL Parameters

Parameter Description
nftID An NFT ID (XLS-20 or XLS-35)

Query Parameters

Parameter Default Description
uri false If set to true, the result will include uri and url.
assets false (Only available on the Standart API plan or greater) If set to true, returns assets with direct urls for image 700px x 700px, video 15s, preview 360px x 360px (image, otherwise video frame) and thumbnail 64px x 64px. (See plans for NFT contents for more details or contact us)
sellOffers false If set true, the result will include sellOffers.
buyOffers false If set to true, the result will include buyOffers.
history false If set to true, the result will include history.
metadata false If set to true, the result will include metadata.
offersValidate false (Only available on paid API plans) If set to true, each offer will include valid as true or false, if false then it also include validationErrors array.
offersHistory false (Only available on paid API plans) If set to true, each offers will include historical offers which are already accepted or canceled.
convertCurrencies null (Only available on paid API plans) the list of currencies to convert amount to, splitted by comma, for example xrp,usd (40 fiat currencies available), the for history response will have an array amountInConvertCurrencies

NFT Offer

curl "https://bithomp.com/api/v2/nft-offer/3E8E975E0CFDF2EDE76E0925EB4393A1899061047DE1F46F0DEEA783F5F1A673"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-offer/3E8E975E0CFDF2EDE76E0925EB4393A1899061047DE1F46F0DEEA783F5F1A673", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-offer/3E8E975E0CFDF2EDE76E0925EB4393A1899061047DE1F46F0DEEA783F5F1A673");
print $data;

The above command returns JSON structured like this:

{
  "nftokenID": "00081B581189F5687DBB7516339D6CCB5593D96622AD82DFE9E08966000018B7",
  "offerIndex": "3E8E975E0CFDF2EDE76E0925EB4393A1899061047DE1F46F0DEEA783F5F1A673",
  "createdAt": 1671813891,
  "createdLedgerIndex": 76627086,
  "createdTxHash": "C78692F7CE2B6D207E12BAF28BBE7BAD4D5553FEFCAC81A49FA0D7F2B6295AFD",
  "account": "rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX",
  "owner": "rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX",
  "destination": "rpZqTPC8GvrSvEfFsUuHkmPCg29GdQuXhC",
  "expiration": 1672009200,
  "amount": "1800000000",
  "flags": {
    "sellToken": false
  },
  "canceledAt": 1672062241,
  "canceledLedgerIndex": 76690834,
  "canceledTxHash": "BE00F6A40D399D66E15C5698A9F583A47FA79D47DB9E7D5B158679C97E95C202",
  "nftoken": {
    "flags": {
      "burnable": false,
      "onlyXRP": false,
      "trustLine": false,
      "transferable": true
    },
    "issuer": "rpbjkoncKiv1LkPWShzZksqYPzKXmUhTW7",
    "nftokenID": "00081B581189F5687DBB7516339D6CCB5593D96622AD82DFE9E08966000018B7",
    "nftokenTaxon": 52,
    "transferFee": 7000,
    "sequence": 6327,
    "owner": "rhrvq8Bfn1NwQQDDProJY4F822DNbcQGj2",
    "ownerDetails": {
      "username": "XPUNKS",
      "service": "XPUNKS"
    },
    "uri": null,
    "issuedAt": 1671616340,
    "ownerChangedAt": 1672061721,
    "deletedAt": null,
    "url": "https://marketplace-api.onxrp.com/api/metadata/00081B581189F5687DBB7516339D6CCB5593D96622AD82DFE9E08966000018B7",
    "metadata": {
      "dna": "81165c5b185d49e57302b8bf936ba66ded1a195476f35fc74d2d8c8d638d0c1f",
      "name": "XPUNKS #5658",
      "description": "The XPUNK collection consists of 10,000 uniquely generated characters on a 24-by 24-pixel canvas. They are distinguished by their colourful traits and trademark X-mouth that represents their love for the XRPL.",
      "image": "ipfs://QmUdz7aunEkMKWjTKT71QiJeKRX3MQSDC1chDUcyhwuYQ1",
      "imageHash": "1591d36c09c3340569582379574b8e899b550daa0d7bfecfe648fba469aaa2ee",
      "edition": 2687,
      "date": 1667163549733,
      "attributes": [
        {
          "trait_type": "Face",
          "value": "Male 3"
        },
        {
          "trait_type": "Eye Characteristics",
          "value": "Fresh"
        },
        {
          "trait_type": "Eyes",
          "value": "Black Right"
        },
        {
          "trait_type": "Neck Wearable",
          "value": "No Attribute"
        },
        {
          "trait_type": "Hair & Hats",
          "value": "Bandana"
        },
        {
          "trait_type": "Facial Hair",
          "value": "Thick Beard Blonde"
        },
        {
          "trait_type": "Eye Wearables",
          "value": "Sunglasses in Hair Black"
        },
        {
          "trait_type": "Mouth Attribute",
          "value": "Pipe Old School"
        },
        {
          "trait_type": "Piercings",
          "value": "No Attribute"
        }
      ],
      "schema": "ipfs://QmNpi8rcXEkohca8iXu7zysKKSJYqCvBJn3xJwga8jXqWU",
      "nftType": "art.v0",
      "collection": {
        "name": "XPUNKS",
        "description": "The XPUNK collection consists of 10,000 uniquely generated characters on a 24-by-24-pixel canvas. They are distinguished by their colorful traits and trademark X-mouth that represents their love for the XRPL."
      }
    },
    "issuerDetails": {
      "username": "XPUNKS",
      "service": "XPUNKS"
    },
    "ownerDetails": {
      "username": null,
      "service": null
    }
  },
  "accountDetails": {
    "username": null,
    "service": null
  },
  "ownerDetails": {
    "username": null,
    "service": null
  },
  "destinationDetails": {
    "username": null,
    "service": null
  },
  "issuerDetails": {
    "username": "XPUNKS",
    "service": "XPUNKS"
  }
}

This endpoint retrieves NFT Sales Volumes for specified parameters

HTTP Request

GET https://bithomp.com/api/v2/nft-offer/<nftOfferID>

URL Parameters

Parameter Description
nftOfferID An NFT Offer ID (XLS-20)

NFTS

curl "https://bithomp.com/api/v2/nfts?owner=rBeistBLWtUskF2YzzSwMSM2tgsK7ZD7ME"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nfts?owner=rBeistBLWtUskF2YzzSwMSM2tgsK7ZD7ME", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nfts?owner=rBeistBLWtUskF2YzzSwMSM2tgsK7ZD7ME");
print $data;

The above command returns JSON structured like this:

{
  "owner": "rBeistBLWtUskF2YzzSwMSM2tgsK7ZD7ME",
  "ownerDetails": {
    "username": "Zerpmon",
    "service": "Zerpmon"
  },
  "nfts": [
    {
      "flags": {
        "burnable": false,
        "onlyXRP": false,
        "trustLine": false,
        "transferable": true
      },
      "issuer": "rBeistBLWtUskF2YzzSwMSM2tgsK7ZD7ME",
      "nftokenID": "0008138874D997D20619837CF3C7E1050A785E9F9AC53D7E8542EAAC00000011",
      "nftokenTaxon": 0,
      "transferFee": 5000,
      "uri": "697066733A2F2F516D627169774D736D6B4C6971794473465A664D534D566465464A674D4139514A626D735131636F4D32564343452F382E6A736F6E",
      "url": "https://cloudflare-ipfs.com/ipfs/QmbqiwMsmkLiqyDsFZfMSMVdeFJgMA9QJbmsQ1coM2VCCE/8.json",
      "sequence": 17,
      "issuerDetails": {
        "username": "Zerpmon",
        "service": "Zerpmon"
      },
      "metadata": {
        "name": "Purrf",
        "description": "Zerpmon is an original collection of digital collectible creatures that live on the XRPL, with each one being a unique 1 of 1 art piece. The Zerpmon project is fueled by a passion for high-quality art and in-depth story telling. For more information on the vision of Zerpmon, visit www.zerpmon.world",
        "image": "ipfs://Qmf52STemfXu79ovVAdjRneb7kKdtYJNvzYjoxWubbu4Vx/8.png",
        "attributes": [
          {
            "trait_type": "Zerpdex Number",
            "value": "Zerpmon Collab #8"
          },
          {
            "trait_type": "Type",
            "value": "Fairy"
          },
          {
            "trait_type": "Evolution Stage",
            "value": "Collab"
          }
        ]
      }
    }
  ]
}

This endpoint retrieves a List of NFTs (XLS-20 / XLS-35) for specified parameters

HTTP Request

GET https://bithomp.com/api/v2/nfts

Query Parameters

Parameter Default Description
owner null The XRPL address of the Owner
issuer null The XRPL address of the Issuer
taxon null Taxon for that Issuer (optional, will be ignored without an Issuer)
hasMetadata false set to true, to list NFTs only with available metadata
hasImage false set to true, to list NFTs only with available media data (preview images can be generated from images, videos, pdf files and 3d models)
includeDeleted false set to true, if you want result to include deleeted NFTs
mintedByMarketplace null Here you can specify a minter from https://bithomp.com/nft-minters?period=all to filter your search by minter project.
marker null The marker from the previous request, if you need a next page of NFTs
list nfts (Only available on paid API plans) can be set to onSale to get the list of NFTs with active sell offers
destination all (Only available on paid API plans) used to filter NFTs for sale list=onSale, can be set as a XRPL address (to specify a particular MarketPlace), public, knownBrokers, publicAndKnownBrokers, all
order null (Only available on paid API plans) used to order NFTs: 1. for list=nfts, can be mintedNew and mintedOld, 2. for list=onSale, can be offerCreatedNew, offerCreatedOld, priceLow, priceHigh
currency null (Only available on paid API plans) used to filter NFTs for sale list=onSale, can be XRP or any other currency code.
currencyIssuer null (Only available on paid API plans) A currency issuer for the currency if it is not an XRP.
issuedAt null (Only available on paid API plans) It can be used to show NFTs which were minted during some period of time. A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year, or 1671490800000..1671663600000 - period or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z, to show from specific date till now: 1671490800000.. or 2022-12-20T00:00:00.000Z..
deletedAt null (Only available on paid API plans) It can be used to show NFTs which were burned during some period of time. A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year. or 1671490800000..1671663600000 - period or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z, to show from specific date till now: 1671490800000.. or 2022-12-20T00:00:00.000Z..

NFT Offers

curl "https://bithomp.com/api/v2/nft-offers/rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX?list=counterOffers&offersValidate=true&nftoken=true"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-offers/rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX?list=counterOffers&offersValidate=true&nftoken=true", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-offers/rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX?list=counterOffers&offersValidate=true&nftoken=true");
print $data;

The above command returns JSON structured like this:

{
  "owner": "rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX",
  "list": "offers",
  "ownerDetails": {
    "username": null,
    "service": null
  },
  "nftOffers": [
    {
      "nftokenID": "00081B581189F5687DBB7516339D6CCB5593D96622AD82DF41D3BA2E0000017F",
      "offerIndex": "84148E4C12F401F72767033BC13170AFC92B222B3D1365D1D59ED5A4193DD2C1",
      "createdAt": 1667359001,
      "createdLedgerIndex": 75471736,
      "createdTxHash": "899B95BD4D0F8D4DE80DAB145919D3FF55788CB9C25E25DB7B3755F7B6AA7293",
      "account": "rDbkpaT4jk5F17CqL11muJzzwhZtCStyg5",
      "owner": "rDbkpaT4jk5F17CqL11muJzzwhZtCStyg5",
      "destination": null,
      "expiration": null,
      "amount": "1500000000",
      "flags": {
        "sellToken": false
      },
      "nftoken": {
        "flags": {
          "burnable": false,
          "onlyXRP": false,
          "trustLine": false,
          "transferable": true
        },
        "issuer": "rpbjkoncKiv1LkPWShzZksqYPzKXmUhTW7",
        "nftokenID": "00081B581189F5687DBB7516339D6CCB5593D96622AD82DF41D3BA2E0000017F",
        "nftokenTaxon": 52,
        "transferFee": 7000,
        "sequence": 383,
        "owner": "rDpLcKCi18ixgzJEseKbi2krRGTWZM69gX",
        "uri": null,
        "issuedAt": 1667268851,
        "ownerChangedAt": 1667403840,
        "deletedAt": null,
        "url": "https://marketplace-api.onxrp.com/api/metadata/00081B581189F5687DBB7516339D6CCB5593D96622AD82DF41D3BA2E0000017F",
        "metadata": {
          "dna": "e48265739a191624244a717e9b233a11553d703af0e82739784f78f9d332a789",
          "name": "XPUNKS #383",
          "description": "The XPUNK collection consists of 10,000 uniquely generated characters on a 24-by 24-pixel canvas. They are distinguished by their colourful traits and trademark X-mouth that represents their love for the XRPL.",
          "image": "ipfs://QmdPgX2nHd91TYQ3uY8kyqNCciXxfqp3ATVrwWfiAfZiJo",
          "imageHash": "71db5411810b661b150ee05b7e19f12a3e0022b2a256f7a255679a5dce7ad487",
          "edition": 1482,
          "date": 1667163506360,
          "attributes": [
            {
              "trait_type": "Face",
              "value": "Male 4"
            },
            {
              "trait_type": "Eye Characteristics",
              "value": "Tired"
            },
            {
              "trait_type": "Eyes",
              "value": "Dark Brown Right"
            },
            {
              "trait_type": "Neck Wearable",
              "value": "Chain Gold"
            },
            {
              "trait_type": "Hair & Hats",
              "value": "Afro Hair Orange"
            },
            {
              "trait_type": "Facial Hair",
              "value": "No Attribute"
            },
            {
              "trait_type": "Eye Wearables",
              "value": "Clubmasters Vision Glasses"
            },
            {
              "trait_type": "Mouth Attribute",
              "value": "No Attribute"
            },
            {
              "trait_type": "Piercings",
              "value": "No Attribute"
            }
          ],
          "schema": "ipfs://QmNpi8rcXEkohca8iXu7zysKKSJYqCvBJn3xJwga8jXqWU",
          "nftType": "art.v0",
          "collection": {
            "name": "XPUNKS",
            "description": "The XPUNK collection consists of 10,000 uniquely generated characters on a 24-by-24-pixel canvas. They are distinguished by their colorful traits and trademark X-mouth that represents their love for the XRPL."
          }
        },
        "issuerDetails": {
          "username": "XPUNKS",
          "service": "XPUNKS"
        },
        "ownerDetails": {
          "username": null,
          "service": null
        }
      },
      "accountDetails": {
        "username": null,
        "service": null
      },
      "ownerDetails": {
        "username": null,
        "service": null
      },
      "valid": false,
      "validationErrors": [
        "Insufficient funds on the buyer account"
      ]
    }
  ]
}

This endpoint retrieves NFT Offers created by an address or NFT Offers for all NFTs owned by that address.

HTTP Request

GET https://bithomp.com/api/v2/nft-offers/<address>

URL Parameters

Parameter Description
address The XRPL address or a username.

Query Parameters

Parameter Default Description
list null default - to list all owned NFT offers, counterOffers - to list NFT Offers for all NFTs owned by the address, privatelyOfferedToAddress - to list all NFT offers where the address is specified as destination (brokers, private offers, nft transfers).
nftoken false If set to true, each offer will include nftoken data, including metadata.
offersValidate false (Only available on paid API plans) If set to true, each offer will include valid as true or false, if false then it also include validationErrors array.

NFT Distribution

curl "https://bithomp.com/api/v2/nft-count/xpunks?list=owners"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-count/xpunks?list=owners", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-count/xpunks?list=owners");
print $data;

The above command returns JSON structured like this:

{
  "issuer": "rpbjkoncKiv1LkPWShzZksqYPzKXmUhTW7",
  "issuerDetails": {
    "username": "XPUNKS",
    "service": "XPUNKS"
  },
  "list": "owners",
  "totalNfts": 6726,
  "totalOwners": 1863,
  "owners": [
    {
      "owner": "rpbjkoncKiv1LkPWShzZksqYPzKXmUhTW7",
      "ownerDetails": {
        "username": "XPUNKS",
        "service": "XPUNKS"
      },
      "count": 500
    },
    {
      "owner": "rQUA5QBUAUzqa5gc2uCneHYyBhGUoSFxDx",
      "ownerDetails": {
        "username": null,
        "service": null
      },
      "count": 120
    }
  ]
}

This endpoint retrieves NFT Owners list for NFTs issued by a specific address.

HTTP Request

GET https://bithomp.com/api/v2/nft-count/<address>

URL Parameters

Parameter Description
address The XRPL address or a username.

Query Parameters

Parameter Default Description
list null owners (to list NFT Owners for NFTs issued by a specific address).
taxon null taxon for the address issuer, to see the nft distribution of a collection identified by issuer and taxon.

NFT Sales

curl "https://bithomp.com/api/v2/nft-sales?list=topSold&currency=xrp&convertCurrencies=usd,eur"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-sales?list=topSold&currency=xrp&convertCurrencies=usd,eur", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-sales?list=topSold&currency=xrp&convertCurrencies=usd,eur");
print $data;

The above command returns JSON structured like this:

{
  "list": "topSold",
  "saleType": "all",
  "period": "all",
  "currency": "xrp",
  "convertCurrencies": ["eur", "usd"],
  "total": {
    "primary": 41933,
    "secondary": 25587
  },
  "sales": [
    {
      "nftokenID": "00081388A47691FB124F91B5FF0F5246AED2B5275385689F27ED727F000015E3",
      "acceptedAt": "1673931131",
      "acceptedLedgerIndex": "77169958",
      "acceptedTxHash": "C6F7492A4E58BC2FB6190F7081BBC96231E10ED463EDAB301DBDD650C97DD5FB",
      "acceptedAccount": "rpx9JThQ2y37FaGeeJP7PXDUVEXY3PHZSC",
      "seller": "rnVp1xV43N7SgqtjHWCSM6EcSUYs7yWNku",
      "buyer": "rJ1GJjNauEafyQWo1o5ZYDuciGPjx6yTGD",
      "amount": "40000000000",
      "broker": true,
      "marketplace": "xrp.cafe",
      "saleType": "secondary",
      "amountInConvertCurrencies": {
        "eur": "14213.6",
        "usd": "15399.6"
      },
      "nftoken": {
        "flags": {
          "burnable": false,
          "onlyXRP": false,
          "trustLine": false,
          "transferable": true
        },
        "issuer": "rEzbi191M5AjrucxXKZWbR5QeyfpbedBcV",
        "nftokenID": "00081388A47691FB124F91B5FF0F5246AED2B5275385689F27ED727F000015E3",
        "nftokenTaxon": 1,
        "transferFee": 5000,
        "sequence": 5603,
        "owner": "rJ1GJjNauEafyQWo1o5ZYDuciGPjx6yTGD",
        "uri": "516D654834744E4D4C655233756F3774755453357768416E66734B4A737A4D4C6B676F7A44664C78676863385571",
        "nftSerial": 5603,
        "issuedAt": 1667651282,
        "ownerChangedAt": 1673931131,
        "deletedAt": null,
        "url": "https://cloudflare-ipfs.com/ipfs/QmeH4tNMLeR3uo7tuTS5whAnfsKJszMLkgozDfLxghc8Uq",
        "metadata": {
          "name": "Bored Apes XRP Club #5611",
          "description": "The Bored Apes XRP Club is a collection of 10,000 unique Bored Ape NFTs living on the XRP ledger.",
          "image": "QmdYwvVtjNFKRqHEWPChdkfM24Z1i34FmmC4uAjDdnJ7NF/5611.png",
          "edition": "5611",
          "date": 1667650922062,
          "creator": "Bored Apes XRP Club",
          "artist": "Bored Apes XRP Club",
          "attributes": [
            {
              "trait_type": "Background",
              "value": "Punk Blue"
            },
            {
              "trait_type": "Fur",
              "value": "Grey"
            },
            {
              "trait_type": "Clothes",
              "value": "Cowboy"
            },
            {
              "trait_type": "Mouth",
              "value": "Rainbow"
            },
            {
              "trait_type": "Eyes",
              "value": "Blindfold"
            }
          ],
          "external_link": "https://x-apes.com/",
          "category": "Collectables",
          "collection": {
            "name": "Bored Apes XRP Club",
            "family": "art"
          }
        },
        "issuerDetails": {
          "username": "BoredApesXRP",
          "service": "Bored Apes XRP Club"
        },
        "ownerDetails": {
          "username": null,
          "service": null
        }
      },
      "sellerDetails": {
        "username": null,
        "service": null
      },
      "buyerDetails": {
        "username": null,
        "service": null
      },
      "acceptedAccountDetails": {
        "username": null,
        "service": "xrp.cafe"
      }
    }
  ],
  "total": {
    "primary": 78600,
    "secondary": 54396
  }
}

This endpoint retrieves a List of NFT Sales for specified parameters

HTTP Request

GET https://bithomp.com/api/v2/nft-sales

Query Parameters

Parameter Default Description
list null topSold or lastSold (for the list of NFTs sales of the highest price or the latest sell timestamp)
convertCurrencies null (Only available on paid API plans) the list of currencies to convert amount to, splitted by comma, for example xrp,usd (40 fiat currencies available), the response will have an array amountInConvertCurrencies
sortCurrency xrp (Only available on paid API plans) one of the currencies from the convertCurrencies or xrp to sort the list by, for example: usd (optional)
currency null specify a currency to filter sales in a specific currency, for example xrp (should be specified if there are no convertCurrencies and sortCurrency)
currencyIssuer null if currency is specified and it is not 'xrp', then you must specify the currency issuer XRPL address (optional)
saleType all can be primary or secondary (optional, primary - the sales from the issuer address)
issuer null The address of the NFT issuer (optional)
buyer null (Only available on paid API plans) The address of the Buyer (optional)
seller null (Only available on paid API plans) The address of the Seller (optional)
taxon null Taxon for that Issuer (optional, will be ignored without an Issuer)
period all A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year or a time period as timestamps from..to 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z
marketplace null You can specify a marketplace, to filter sales by a specific marketplace, for example xrp.cafe, the list of all marketplaces is here (optional)
marker null The marker from the previous request, if you need a next page of NFTs

NFT Volumes

curl "https://bithomp.com/api/v2/nft-volumes?list=issuers&currency=xrp"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-volumes?list=issuers&currency=xrp", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-volumes?list=issuers&currency=xrp");
print $data;

The above command returns JSON structured like this:

{
  "list": "issuers",
  "period": "all",
  "saleType": "all",
  "marker": "753DF10F00000001",
  "volumes": [
    {
      "amount": "3183301846633",
      "sales": 1388,
      "issuer": "rpbjkoncKiv1LkPWShzZksqYPzKXmUhTW7",
      "issuerDetails": {
        "username": "XPUNKS",
        "service": "XPUNKS"
      },
      "buyers": 419,
      "tradedNfts": 1015,
      "totalOwners": 1872,
      "totalNfts": 6751,
      "floorPrice": {
        "open": {
          "amount": "2400000000"
        },
        "private": {
          "amount": "1150000000",
          "destination": "rpZqTPC8GvrSvEfFsUuHkmPCg29GdQuXhC",
          "destinationDetails": {
            "username": null,
            "service": "onXRP"
          }
        }
      }
    },
    {
      "amount": "1770531477817",
      "sales": 1582,
      "issuer": "rEzbi191M5AjrucxXKZWbR5QeyfpbedBcV",
      "issuerDetails": {
        "username": "BoredApesXRP",
        "service": "Bored Apes XRP Club"
      },
      "buyers": 368,
      "tradedNfts": 1358,
      "totalOwners": 1583,
      "totalNfts": 10064,
      "floorPrice": {
        "open": {
          "amount": "750000000"
        },
        "private": {
          "amount": "500000000",
          "destination": "rpx9JThQ2y37FaGeeJP7PXDUVEXY3PHZSC",
          "destinationDetails": {
            "username": null,
            "service": "xrp.cafe"
          }
        }
      }
    }
  ]
}

This endpoint retrieves NFT Sales Volumes for specified parameters

HTTP Request

GET https://bithomp.com/api/v2/nft-volumes

Query Parameters

Parameter Default Description
list null issuers, currencies, brokers or marketplaces
currency null Must be specified for issuers, brokers and marketplaces, for example as xrp
currencyIssuer null if currency is specified and it is not 'xrp', then you must specify the currency issuer XRPL address (optional)
saleType all can be primary or secondary (optional, primary - the sales from the issuer address)
period all A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year
floorPrice false (Only available on paid API plans) Returns floorPrice for issuers. The lowest VALID sell offers for an NFT from that collection, the lowest on the open market and the lowest on one of the identified market places.

NFT Volumes Extended

curl "https://bithomp.com/api/v2/nft-volumes-extended?list=issuers&convertCurrencies=usd,xrp&sortCurrency=usd&floorPrice=true&statistics=true&period=week&saleType=secondary"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-volumes-extended?list=issuers&convertCurrencies=usd,xrp&sortCurrency=usd&floorPrice=true&statistics=true&period=week&saleType=secondary", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-volumes-extended?list=issuers&convertCurrencies=usd,xrp&sortCurrency=usd&floorPrice=true&statistics=true&period=week&saleType=secondary");
print $data;

The above command returns JSON structured like this:

{
  "list": "issuers",
  "period": "week",
  "convertCurrencies": [
    "usd",
    "xrp"
  ],
  "sortCurrency": "usd",
  "statistics": true,
  "saleType": "secondary",
  "floorPrice": true,
  "marker": "7285A19600000001",
  "summary": {
    "all": {
      "volumes": [
        {
          "amount": {
            "currency": "BAY",
            "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn",
            "value": "9426"
          },
          "sales": 19,
          "amountInConvertCurrencies": {
            "usd": "177880.1873508458857959814",
            "xrp": "418260.834306"
          }
        },
        {
          "amount": "225636390121",
          "sales": 4416,
          "amountInConvertCurrencies": {
            "usd": "96928.28649692584",
            "xrp": "225636.390121"
          }
        },
        {
          "amount": {
            "currency": "7853504543544152000000000000000000000000",
            "issuer": "rh5jzTCdMRCVjQ7LT6zucjezC47KATkuvv",
            "value": "2000"
          },
          "sales": 1,
          "amountInConvertCurrencies": {
            "usd": "115.914190640895224906992042",
            "xrp": "277.20719990648146575868"
          },
          "currencyDetails": {
            "type": "hex",
            "currencyCode": "7853504543544152000000000000000000000000",
            "currency": "xSPECTAR"
          }
        }
      ],
      "sales": 4730,
      "volumesInConvertCurrencies": {
        "usd": "276669.4085438152983",
        "xrp": "648231.929829"
      }
    }
  },
  "issuers": [
    {
      "issuer": "rEzbi191M5AjrucxXKZWbR5QeyfpbedBcV",
      "issuerDetails": {
        "username": "BoredApesXRP",
        "service": "Bored Apes XRP Club"
      },
      "sales": 51,
      "floorPrices": [
        {
          "open": {
            "amount": "450000000"
          },
          "private": {
            "amount": "369000000",
            "destination": "rpx9JThQ2y37FaGeeJP7PXDUVEXY3PHZSC",
            "destinationDetails": {
              "username": null,
              "service": "xrp.cafe"
            }
          }
        },
        {
          "open": {
            "amount": {
              "currency": "BAY",
              "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn",
              "value": "1"
            }
          },
          "private": null
        }
      ],
      "statistics": {
        "buyers": 25,
        "tradedNfts": 51,
        "owners": 1646,
        "nfts": 9998
      },
      "volumesInConvertCurrencies": {
        "usd": "184004.5165186555057",
        "xrp": "432359.982164"
      },
      "volumes": [
        {
          "amount": {
            "currency": "BAY",
            "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn",
            "value": "9426"
          },
          "sales": 19,
          "amountInConvertCurrencies": {
            "usd": "177880.1873508458857",
            "xrp": "418260.834306"
          }
        },
        {
          "amount": "14099147858",
          "sales": 32,
          "amountInConvertCurrencies": {
            "usd": "6124.32916780962",
            "xrp": "14099.147858"
          }
        }
      ]
    },
    {
      "issuer": "rDPUNKX2Rf5joEyVnmXFnnWL5MYa92wLPN",
      "issuerDetails": {
        "username": null,
        "service": "DoodlepunkX"
      },
      "sales": 2357,
      "floorPrices": [
        {
          "open": {
            "amount": "25000000"
          },
          "private": {
            "amount": "22000000",
            "destination": "rpx9JThQ2y37FaGeeJP7PXDUVEXY3PHZSC",
            "destinationDetails": {
              "username": null,
              "service": "xrp.cafe"
            }
          }
        },
        {
          "open": {
            "amount": {
              "currency": "OXP",
              "issuer": "rrno7Nj4RkFJLzC4nRaZiLF5aHwcTVon3d",
              "value": "15000"
            }
          },
          "private": null
        }
      ],
      "statistics": {
        "buyers": 230,
        "tradedNfts": 2240,
        "owners": 1188,
        "nfts": 10000
      },
      "volumesInConvertCurrencies": {
        "usd": "26185.3828300196",
        "xrp": "61573.861964"
      },
      "volumes": [
        {
          "amount": "61289463829",
          "sales": 2340,
          "amountInConvertCurrencies": {
            "usd": "26065.17558483161",
            "xrp": "61289.463829"
          }
        },
        {
          "amount": {
            "currency": "OXP",
            "issuer": "rrno7Nj4RkFJLzC4nRaZiLF5aHwcTVon3d",
            "value": "13406"
          },
          "sales": 17,
          "amountInConvertCurrencies": {
            "usd": "120.207245188022",
            "xrp": "284.398135"
          }
        }
      ]
    }
  ]
}

This endpoint retrieves Extended NFT Sales Volumes for specified parameters (Only available on paid API plans)

HTTP Request

GET https://bithomp.com/api/v2/nft-volumes-extended

Query Parameters

Parameter Default Description
list null issuers, taxons, currencies, brokers or marketplaces
issuer null An XRPL address or username of the NFT issuer, must be specified for list taxons, to receive separate volumes for each taxon of the issuer
currency null By default returns for all currencies, you can set any XRPL currency for example xrp (optional)
currencyIssuer null if currency is specified and it is not 'xrp', then you must specify the currency issuer XRPL address (optional)
convertCurrencies null the list of currencies to convert amounts and volumes to, splitted by comma, for example xrp,usd (40 fiat currencies available), the response will have amountInConvertCurrencies and volumesInConvertCurrencies
sortCurrency xrp one of the currencies from the convertCurrencies or xrp to sort the list by, for example: usd (optional)
saleType all can be primary or secondary (optional, primary - the sales from the issuer address)
period all A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year or as timestamps from..to, examples: 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z
floorPrice false Returns floorPrice for issuers. The lowest VALID sell offers for an NFT from that collection, the lowest on the open market and the lowest on one of the identified market places.
statistics false Returns statistics for issuers and taxons. Which includes: buyers - current buyers count, tradedNfts - current count of traded NFTS, owners - current count of owners, nfts - current count of NFTs
marker null The marker from the previous request, if you need a next page

NFT Minters

curl "https://bithomp.com/api/v2/nft-marketplaces?period=week"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-marketplaces?period=week", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-marketplaces?period=week");
print $data;

The above command returns JSON structured like this:

{
  {
    "period": "all",
    "summary": {
      "minted": 1873080,
      "mintedAndBurned": 306224,
      "burned": 306224
    },
    "marketplaces": [
      {
        "marketplace": "unknown",
        "minted": 616658,
        "mintedAndBurned": 186176,
        "burned": 186176
      },
      {
        "marketplace": "onxrp.com",
        "minted": 299713,
        "mintedAndBurned": 22778,
        "burned": 22778
      },
      {
        "marketplace": "xmart.art",
        "minted": 261204,
        "mintedAndBurned": 16843,
        "burned": 16843
      },
      {
        "marketplace": "xrp.cafe",
        "minted": 186707,
        "mintedAndBurned": 3785,
        "burned": 3785
      },
      {
        "marketplace": "xrpnft.com",
        "minted": 153240,
        "mintedAndBurned": 49818,
        "burned": 49818
      },
      {
        "marketplace": "sologenic.org",
        "minted": 98900,
        "mintedAndBurned": 6210,
        "burned": 6210
      }
    ]
  }
}

This endpoint retrieves NFT minters on XRPL for a specified period of time

HTTP Request

GET https://bithomp.com/api/v2/nft-marketplaces

Query Parameters

Parameter Default Description
period all A time period, all time all, last 24h day, last 7 days week, last 30 days month, last 365 days year or as timestamps from..to, examples: 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z

NFT Mint Chart

curl "https://bithomp.com/api/v2/nft-chart?span=day&period=month"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-chart?span=day&period=month", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-chart?span=day&period=month");
print $data;

The above command returns JSON structured like this:

{
  "span": "day",
  "period": "month",
  "chart": [
    {
      "time": "2024-01-19T23:59:59.999Z",
      "issues": 11969
    },
    {
      "time": "2024-01-20T23:59:59.999Z",
      "issues": 2173
    }
  ]
}

This endpoint retrieves NFT mints count for a specified period of time, with a specified span (available only on the Standard plan and higher)

HTTP Request

GET https://bithomp.com/api/v2/nft-chart

Query Parameters

Parameter Default Description
period all A time period, all time all, last hour hour, last 24h day, last 7 days week, last 30 days month, last 365 days year or as timestamps from..to, examples: 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z
span null A time span for the chart, can be minute, hour, day, month, year, not all spans are available for large periods, for a period hour you can have minute, for periods up to 60 hours, you can have hour, day, month, for up to 60 days - day, month.

NFT Sales Chart

curl "https://bithomp.com/api/v2/nft-sales-chart?span=day&period=month&convertCurrencies=usd&saleType=secondary"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/nft-sales-chart?span=day&period=month&convertCurrencies=usd&saleType=secondary", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/nft-sales-chart?span=day&period=month&convertCurrencies=usd&saleType=secondary");
print $data;

The above command returns JSON structured like this:

{
  "span": "day",
  "saleType": "secondary",
  "period": "month",
  "convertCurrencies": [
    "usd"
  ],
  "chart": [
    {
      "time": "2024-01-20T23:59:59.999Z",
      "sales": 251,
      "amountInNativeCurrency": "12595.349685",
      "amountInConvertCurrencies": {
        "usd": "6896.94474652027"
      }
    },
    {
      "time": "2024-01-21T23:59:59.999Z",
      "sales": 405,
      "amountInNativeCurrency": "19519.066439",
      "amountInConvertCurrencies": {
        "usd": "10764.85431987046"
      }
    }
  ]
}

This endpoint retrieves NFT Sales Volumes Chart data for a specified period of time, with a specified span (available only on the Standard plan and higher)

HTTP Request

GET https://bithomp.com/api/v2/nft-sales-chart

Query Parameters

Parameter Default Description
period all A time period, all time all, last hour hour, last 24h day, last 7 days week, last 30 days month, last 365 days year or as timestamps from..to, examples: 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z
span null A time span for the chart, can be minute, hour, day, month, year, not all spans are available for large periods, for a period hour you can have minute, for periods up to 60 hours, you can have hour, day, month, for up to 60 days - day, month.
issuer null An address or username of the NFT issuer (optional, if you want to get data for a specific issuer)
taxon null Taxon for that issuer (optional, will be ignored without an issuer)
currency null By default returns for all currencies, you can set any currency for example xrp (optional)
currencyIssuer null if currency is specified and it is not 'xrp', then you must specify the currency issuer address (optional)
convertCurrencies null the list of currencies to convert amounts and volumes to, splitted by comma, for example xrp,usd (40 fiat currencies available), the response will have amountInConvertCurrencies
saleType all can be primary or secondary (optional, primary - the sales from the issuer address)

Get status

Services (Last update)

curl "https://bithomp.com/api/v2/services/lastUpdate"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/services/lastUpdate", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/services/lastUpdate");
print $data;

The above command returns JSON structured like this:

{
  "lastUpdate": 1579527766,
  "totalServices": 475,
  "totalAddresses": 1832
}

This endpoint returns a timestamp of last DB update for services/addresses.

HTTP Request

GET https://bithomp.com/api/v2/services/lastUpdate

Response Format

Field Value Description
lastUpdate Integer UNIX timestamp of the last data update.
totalServices Integer The amount of identified services.
totalAddresses Integer The amount of identified addresses.

NFT Crawler (Last update)

curl "https://bithomp.com/api/v2/statistics/nftokens/crawler"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/statistics/nftokens/crawler", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/statistics/nftokens/crawler");
print $data;

The above command returns JSON structured like this:

{
  "ledgerIndex": 82078753,
  "ledgerTime": 1692949961
}

This endpoint returns the last ledger which was crawled by our NFT crawler.

HTTP Request

GET https://bithomp.com/api/v2/statistics/nftokens/crawler

Response Format

Field Value Description
ledgerIndex Integer The last crawled ledger index.
ledgerTime Integer UNIX timestamp of the last crawled ledger.

Get information for ONE

Address

curl "https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true&service=true&verifiedDomain=true&inception=true&ledgerInfo=true"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getAddressInfo(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true&service=true&verifiedDomain=true&inception=true&ledgerInfo=true", getAddressInfo);
$addressInfo = curl_bithomp("https://bithomp.com/api/v2/address/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B?username=true&service=true&verifiedDomain=true&inception=true&ledgerInfo=true");
print $addressInfo;

The above command returns JSON structured like this:

{
  "address": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
  "xAddress": "X7WZKEeNVS2p9Tire9DtNFkzWBZbFtJHWxDjN9fCrBGqVA4",
  "inception": 1361216760,
  "initialBalance": 1500,
  "genesis": false,
  "ledgerInfo": {
    "activated": true,
    "error": null,
    "ledger": 69617915,
    "ledgerTimestamp": 1645995600,
    "balance": "6511036080064",
    "flags": {
      "passwordSpent": false,
      "requireDestTag": true,
      "requireAuth": false,
      "depositAuth": false,
      "disallowXRP": true,
      "disableMaster": false,
      "noFreeze": false,
      "globalFreeze": false,
      "defaultRipple": true
    },
    "ownerCount": 387,
    "previousTxnID": "2B0A02B899DC0D384AC14E0AB6DF8E32DBB9941D06696233A6BF03C0EB577027",
    "previousTxnLgrSeq": 69617676,
    "sequence": 4692,
    "accountTxnID": null,
    "mintedTokens": 1,
    "burnedTokens": 12,
    "regularKey": null,
    "ticketCount": 5,
    "signerList": {
      "previousTxnID": "965730F660A808927B7A850F0408FF6532BA385641FC1DC67E2907F41A9E7B75",
      "previousTxnLgrSeq": 62412856,
      "signerQuorum": 2,
      "flags": {
        "oneOwnerCount": true
      },
      "signerEntries": [
        {
          "account": "re3LGjhrCvthtWWwrfKbVJjXN9PYDeQDJ",
          "signerWeight": 1
        },
        {
          "account": "rkPA5RwLVPnJgpcsrzYvHwx1HVfDb6zD3",
          "signerWeight": 1
        },
        {
          "account": "rpcL6T32dYb6FDgdm4CnC1DZQSoMvvkLRd",
          "signerWeight": 1
        }
      ]
    },
    "domain": "bitstamp.net",
    "emailHash": "5b33b93c7ffe384d53450fc666bb11fb",
    "messageKey": null,
    "tickSize": null,
    "transferRate": 1.002,
    "blackholed": false
  },
  "service": {
    "name": "Bitstamp",
    "domain": "bitstamp.net",
    "socialAccounts": {
      "twitter": "Bitstamp",
      "facebook": "Bitstamp",
      "youtube": null,
      "instagram": null,
      "linkedin": null,
      "reddit": null,
      "medium": null,
      "telegram": null
    }
  },
  "username": "Bitstamp",
  "verifiedDomain": null
}

This endpoint retrieves information for a requested XRPL address.

HTTP Request

GET https://bithomp.com/api/v2/address/<address>

URL Parameters

Parameter Description
address The XRPL address, can be old r-address or a new X-address

Query Parameters

Parameter Default Description
service false If set to true, the result will also include Service details.
username false If set to true, the result will also include a username (rippletrade or bithomp).
payString false If set to true, the result will also include a bithomp payString for that address.
verifiedDomain false If set true, the result will include a verifiedDomain if such exists.
hashicon false If set true, the result will include hashicon which can be used in img's src="" or in css, as background's url. (The icon is the same for x-address and r-address, such hashicons used in Xumm and Bithomp.)
parent false If set to true, the result will include the same info for a parent account. Also it will add to the root object: genesis, initialBalance, inception
nickname false If set to true, the result will include an old nickname from bitcointalk forum.
flare false if set to true, the result will include flare: {spark, songbird, address}.
inception false if set to true, the result will include: genesis, initialBalance, inception.
ledgerInfo false if set to true, the result will include ledgerInfo object. (Note: A fee to use this parameter might be introduced in the feature)
ledgerTimestamp null ISO timestamp or unix timestamp (if set the request will return ledgerInfo data for that timestamp)

Username

curl "https://bithomp.com/api/v2/username/xrptipbot?service=true&parent=true&verifiedDomain=true"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/username/xrptipbot?service=true&parent=true&verifiedDomain=true", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/username/xrptipbot?service=true&parent=true&verifiedDomain=true");
print $data;

The above command returns JSON structured like this:

{
  "address": "rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY",
  "xAddress": "XV5sbjUmgPpvXv4ixFWZ5ptAYZ6PD2gYsjNFQLKYW33DzBm",
  "inception": 1513126312,
  "username": "xrptipbot",
  "service": {
    "name": "XRP Tip Bot",
    "domain": "xrptipbot.com",
    "socialAccounts": {
      "twitter": "xrptipbot"
      "facebook": null,
      "youtube": null,
      "instagram": null,
      "linkedin": null,
      "reddit": null,
      "medium": null,
      "steemit": null,
      "telegram": null
    }
  },
  "verifiedDomain": "xrptipbot.com",
  "parent": {
    "address": "rDsbeomae4FXwgQTJp9Rs64Qg9vDiTCdBv",
    "xAddress": "XV3oNHx95sqdCkTDCBCVsVeuBmvh2du1vBfJR24EqdgwHDW",
    "inception": 1481884572,
    "service": {
      "name": "Bitstamp",
      "domain": "bitstamp.net",
      "socialAccounts": {
        "twitter": "Bitstamp",
        "facebook": "Bitstamp",
        "youtube": null,
        "instagram": null,
        "linkedin": null,
        "reddit": null,
        "medium": null,
        "steemit": null,
        "telegram": null
      }
    },
  }
}

This endpoint retrieves information for a requested Username.

HTTP Request

GET https://bithomp.com/api/v2/username/<username>

URL Parameters

Parameter Description
username A bithomp or an old rippletrade username

Query Parameters

Parameter Default Description
service false If set to true, the result will also include Service details.
verifiedDomain false If set true, the result will include a verifiedDomain if such exists.
hashicon false If set true, the result will include hashicon which can be used in img's src="" or in css, as background's url. (The icon is the same for x-address and r-address, such hashicons used in ToastWallet and Bithomp.)
parent false If set to true, the result will include the same info for a parent account.

Currency (HEX or XLS-14 NFT)

curl "https://bithomp.com/api/v2/currency/02C7004B041A91880000526964776F726C643836"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/currency/02C7004B041A91880000526964776F726C643836", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/currency/02C7004B041A91880000526964776F726C643836");
print $data;

The above command returns JSON structured like this:

{
  "type": "nft",
  "currencyCode": "02C7004B041A91880000526964776F726C643836",
  "currency": "Ridworld86",
  "cti": 56013842556817800,
  "ctiLedger": 68850056,
  "ctiTxIndex": 75,
  "ctiValid": true,
  "timestamp": 1641544270,
  "ctiTx": {
    "hash": "79C0E05CB9FC2B74F0B9716C15A6E2F924DBC8658931FD96AC8B158308A9886C",
    "type": "payment",
    "account": "rGpmRmU3Q5gyhhyWLWugkPX6SA8FyqXyE5",
    "counterparty": null,
    "destination": "r4VzEm7Jbgg3QkPBgMscoppz6JuzK2Jkbd",
    "memos": [
      {
        "Memo": {
          "MemoData": "526964776F726C6438362E205261726974793A2052617265204C6567656E642E20416D6F756E74206D696E7465643A2035383920756E6974732E20526964776F726C64C2AE20436F6C6C65637469626C65204E465420436172642047616D652E20496C6C7573747261746F723A205765622041727469737469632E",
          "MemoFormat": "746578742F706C61696E",
          "MemoType": "4465736372697074696F6E"
        }
      },
      {
        "Memo": {
          "MemoData": "456E69676D61",
          "MemoFormat": "746578742F706C61696E",
          "MemoType": "417574686F72"
        }
      },
      {
        "Memo": {
          "MemoData": "697066733A2F2F626166796265696779347869796C347A7062376C667474797832356E7A796E6F32647369766A777378657337376467336936356767796666637665",
          "MemoFormat": "746578742F757269",
          "MemoType": "5072696D617279557269"
        }
      }
    ]
  },
  "nft": {
    "type": "xls14",
    "description": "Ridworld86. Rarity: Rare Legend. Amount minted: 589 units. Ridworld® Collectible NFT Card Game. Illustrator: Web Artistic.",
    "author": "Enigma",
    "primaryUri": "ipfs://bafybeigy4xiyl4zpb7lfttyx25nzyno2dsivjwsxes77dg3i65ggyffcve",
    "backupUri": null,
    "image": null,
    "data": null
  }
}

This endpoint retrieves information for a requested currency (HEX or XLS-14 NFT).

HTTP Request

GET https://bithomp.com/api/v2/currency/<currency>

URL Parameters

Parameter Description
currency A currency (HEX or XLS-14 NFT)

Validator

curl "https://bithomp.com/api/v2/validator/nHB8QMKGt9VB4Vg71VszjBVQnDW3v3QudM4DwFaJfy96bj4Pv9fA"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getValidatorAddress(json) {
  console.log(json.publicKey + " validator's XRPL address: ", json.address);
}
bithompRequest("https://bithomp.com/api/v2/validator/nHB8QMKGt9VB4Vg71VszjBVQnDW3v3QudM4DwFaJfy96bj4Pv9fA", getValidatorAddress);
$validatorAddress = curl_bithomp("https://bithomp.com/api/v2/validator/nHB8QMKGt9VB4Vg71VszjBVQnDW3v3QudM4DwFaJfy96bj4Pv9fA");
print $validatorAddress;

The above command returns JSON structured like this:

{
  "publicKey": "nHB8QMKGt9VB4Vg71VszjBVQnDW3v3QudM4DwFaJfy96bj4Pv9fA",
  "address": "rKontEGtDju5MCEJCwtrvTWQQqVAw5juXe"
}

This endpoint retrieves a XRPL address of a specific validator computed from the validator public key

HTTP Request

GET https://bithomp.com/api/v2/validator/<validatorPublicKey>

URL Parameters

Parameter Description
validatorPublicKey The public key of the validator to retrieve

Get information for MANY

Currencies (HEX or XLS-14 NFTs)

curl "https://bithomp.com/api/v2/currencies/?currencyList=02090001014A4E43454C53436F6E746573743031,02C7004B041A91880000526964776F726C643836,534F4C4F00000000000000000000000000000000"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/currencies/?currencyList=02090001014A4E43454C53436F6E746573743031,02C7004B041A91880000526964776F726C643836,534F4C4F00000000000000000000000000000000", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/currencies/?currencyList=02090001014A4E43454C53436F6E746573743031,02C7004B041A91880000526964776F726C643836,534F4C4F00000000000000000000000000000000");
print $data;

The above command returns JSON structured like this:

{
  "02090001014A4E43454C53436F6E746573743031": {
    "type": "nft",
    "currencyCode": "02090001014A4E43454C53436F6E746573743031",
    "currency": "ELSContest01",
    "cti": 2533279107010115,
    "ctiLedger": 21646915,
    "ctiTxIndex": 1,
    "ctiValid": false,
    "timestamp": 1465177060,
    "ctiTx": {
      "type": "orderCancellation",
      "account": "r4aqu2zbAdX2QQ9bdeuGwifUMhtEeqx3pY",
      "hash": "D06F5941FD8D1DFAD1A0E4B2BE227C19C0C49B6E6257B846A507E69F9AFB10AA"
    },
    "nft": {
      "type": "xls14"
    }
  },
  "02C7004B041A91880000526964776F726C643836": {
    "type": "nft",
    "currencyCode": "02C7004B041A91880000526964776F726C643836",
    "currency": "Ridworld86",
    "cti": 56013842556817800,
    "ctiLedger": 68850056,
    "ctiTxIndex": 75,
    "ctiValid": true,
    "timestamp": 1641544270,
    "ctiTx": {
      "hash": "79C0E05CB9FC2B74F0B9716C15A6E2F924DBC8658931FD96AC8B158308A9886C",
      "type": "payment",
      "account": "rGpmRmU3Q5gyhhyWLWugkPX6SA8FyqXyE5",
      "counterparty": null,
      "destination": "r4VzEm7Jbgg3QkPBgMscoppz6JuzK2Jkbd",
      "memos": [
        {
          "Memo": {
            "MemoData": "526964776F726C6438362E205261726974793A2052617265204C6567656E642E20416D6F756E74206D696E7465643A2035383920756E6974732E20526964776F726C64C2AE20436F6C6C65637469626C65204E465420436172642047616D652E20496C6C7573747261746F723A205765622041727469737469632E",
            "MemoFormat": "746578742F706C61696E",
            "MemoType": "4465736372697074696F6E"
          }
        },
        {
          "Memo": {
            "MemoData": "456E69676D61",
            "MemoFormat": "746578742F706C61696E",
            "MemoType": "417574686F72"
          }
        },
        {
          "Memo": {
            "MemoData": "697066733A2F2F626166796265696779347869796C347A7062376C667474797832356E7A796E6F32647369766A777378657337376467336936356767796666637665",
            "MemoFormat": "746578742F757269",
            "MemoType": "5072696D617279557269"
          }
        }
      ]
    },
    "nft": {
      "type": "xls14",
      "description": "Ridworld86. Rarity: Rare Legend. Amount minted: 589 units. Ridworld® Collectible NFT Card Game. Illustrator: Web Artistic.",
      "author": "Enigma",
      "primaryUri": "ipfs://bafybeigy4xiyl4zpb7lfttyx25nzyno2dsivjwsxes77dg3i65ggyffcve",
      "backupUri": null,
      "image": null,
      "data": null
    }
  },
  "534F4C4F00000000000000000000000000000000": {
    "type": "hex",
    "currencyCode": "534F4C4F00000000000000000000000000000000",
    "currency": "SOLO"
  }
}

This endpoint retrieves information for a requested currencies (HEX or XLS-14 NFT).

HTTP Request

GET https://bithomp.com/api/v2/currencies

Query Parameters

Parameter Description
currencyList A list of currencies separated by comma (HEX or XLS-14 NFT)

Get information of ALL

Services

curl "https://bithomp.com/api/v2/services"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/services", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/services");
print $data;

The above command returns JSON structured like this:

{
  "total": 467,
  "lastUpdate": 1579417546,
  "services": [
    {
      "name": "Bithomp",
      "domain": "bithomp.com",
      "socialAccounts": {
        "twitter": "bithomp",
        "youtube": "channel/UCTvrMnG-Tpqi5FN9zO7GcWw",
        "instagram": "bithomp"
      },
      "addresses": [
        {
          "address": "rsuUjfWxrACCAwGQDsNeZUhpzXf1n1NK5Z"
        },
        {
          "address": "rnk3N5hHnLS6nWncNh2R4D2ATiuEicjxXo"
        },
        {
          "address": "rhUYLd2aUiUVYkBZYwTc5RYgCAbNHAwkeZ",
          "name": "Bithomp activation"
        },
        {
          "address": "rBithomp3UNknnjo8HKNfyS5MN4kdPTZpW"
        },
        {
          "address": "rBithomp4vj5E2kUebx7tVwipBueg55XxS",
          "name": "Bithomp donations"
        },
        {
          "address": "rBithompKtixswR4bknJqYaxnm7yRhGYFq",
          "name": "Bithomp username"
        },
        {
          "address": "rKontEGtDju5MCEJCwtrvTWQQqVAw5juXe",
          "name": "Bithomp validator"
        }
      ]
    },
    {

    }
  ]
}

This endpoint retrieves a list of identified services.

HTTP Request

GET https://bithomp.com/api/v2/services

Response Format

Field Value Description
total Integer The amount of identified services.
lastUpdate Integer UNIX timestamp of the last data update.
services Array Array of services.
services[].name String A name of a service.
services[].domain String A domain of a service.
services[].socialAccounts Object An object with social account of a service. (twitter, youtube, instagram, facebook, medium, telegram, linkedin, reddit)
services[].addresses Array An array of service's addresses. Each address can have it's own (more specific) name, domain, socialAccounts.

Addresses from Services

curl "https://bithomp.com/api/v2/services/addresses"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function getData(json) {
  console.log(json)
}
bithompRequest("https://bithomp.com/api/v2/services/addresses", getData);
$data = curl_bithomp("https://bithomp.com/api/v2/services/addresses");
print $data;

The above command returns JSON structured like this:

{
  "total": 1824,
  "lastUpdate": 1579417546,
  "addresses": {
    "rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY": {
      "name": "XRP Tip Bot",
      "domain": "xrptipbot.com",
      "socialAccounts": {
        "twitter": "xrptipbot"
      }
    },
    "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV": {
      "name": "Ripple",
      "domain": "ripple.com",
      "socialAccounts": {
        "twitter": "Ripple",
        "facebook": "ripplepay",
        "linkedin": "ripple-labs"
      }
    },
  }
}

This endpoint retrieves a list of all identified service addresses.

HTTP Request

GET https://bithomp.com/api/v2/services/addresses

Response Format

Field Value Description
total Integer The amount of identified addresses.
lastUpdate Integer UNIX timestamp of the last data update.
addresses Object Object with identified addresses.
addresses.ADDRESS.name String A name of the ADDRESS’s service.
addresses.ADDRESS.domain String A domain of the ADDRESS’s service.
addresses.ADDRESS.socialAccounts Object An object with social account of the ADDRESS’s service. (twitter, youtube, instagram, facebook, medium, telegram, linkedin, reddit)

Transaction

Tx Decode

curl "https://bithomp.com/api/v2/transaction/decode/1200032280000000240000003241833237B8665D2F4E00135E8DE646589F68400000000000000C732103709723A5967EAAED571B71DB511D87FA44CC7CDDF827A37F457A25E14D862BCD74473045022100C6A6999BD33153C6A236D78438D1BFEEEC810CFE05D0E41339B577560C9143CA022074F07881F559F56593FF680049C12FC3BCBB0B73CE02338651522891D95886F981146078086881F39B191D63B528D914FEA7F8CA2293F9EA7C06636C69656E747D15426974686F6D7020746F6F6C20762E20302E302E337E0A706C61696E2F74657874E1F1"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function printData(json) {
  console.log(JSON.stringify(json, undefined, 2));
}
bithompRequest("https://bithomp.com/api/v2/transaction/decode/1200032280000000240000003241833237B8665D2F4E00135E8DE646589F68400000000000000C732103709723A5967EAAED571B71DB511D87FA44CC7CDDF827A37F457A25E14D862BCD74473045022100C6A6999BD33153C6A236D78438D1BFEEEC810CFE05D0E41339B577560C9143CA022074F07881F559F56593FF680049C12FC3BCBB0B73CE02338651522891D95886F981146078086881F39B191D63B528D914FEA7F8CA2293F9EA7C06636C69656E747D15426974686F6D7020746F6F6C20762E20302E302E337E0A706C61696E2F74657874E1F1", printData);
$data = curl_bithomp("https://bithomp.com/api/v2/transaction/decode/1200032280000000240000003241833237B8665D2F4E00135E8DE646589F68400000000000000C732103709723A5967EAAED571B71DB511D87FA44CC7CDDF827A37F457A25E14D862BCD74473045022100C6A6999BD33153C6A236D78438D1BFEEEC810CFE05D0E41339B577560C9143CA022074F07881F559F56593FF680049C12FC3BCBB0B73CE02338651522891D95886F981146078086881F39B191D63B528D914FEA7F8CA2293F9EA7C06636C69656E747D15426974686F6D7020746F6F6C20762E20302E302E337E0A706C61696E2F74657874E1F1");
print $data;

The above command returns JSON structured like this:

{
  "id": "9B124C14528ED14C0BDA17075A39B90ABED598B77A22DFEEBD913CAC07A513BC",
  "signedTransaction": {
    "TransactionType": "AccountSet",
    "Flags": 2147483648,
    "Sequence": 50,
    "EmailHash": "833237B8665D2F4E00135E8DE646589F",
    "Fee": "12",
    "SigningPubKey": "03709723A5967EAAED571B71DB511D87FA44CC7CDDF827A37F457A25E14D862BCD",
    "TxnSignature": "3045022100C6A6999BD33153C6A236D78438D1BFEEEC810CFE05D0E41339B577560C9143CA022074F07881F559F56593FF680049C12FC3BCBB0B73CE02338651522891D95886F9",
    "Account": "r9onCSkYP2tYcukw2KUHMZ1Sn5YixQCgmN",
    "Memos": [
      {
        "Memo": {
          "MemoType": "636C69656E74",
          "MemoData": "426974686F6D7020746F6F6C20762E20302E302E33",
          "MemoFormat": "706C61696E2F74657874"
        }
      }
    ]
  }
}

This endpoint decode a signed transaction.
Page on bithomp with the same decode function, but client-side: https://bithomp.com/submit/ .

HTTP Request

GET https://bithomp.com/api/v2/transaction/decode/<blob>

URL Parameters

Parameter Description
blob A signed transaction blob to decode

Tx Submit

curl -H "Content-Type: application/json"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
  --request POST
  --data '{"signedTransaction":"1200032280000000240000000368400000000000000C732103A71B44FD71C956C3CC0A540F2FBB577C4A300BC71244D86E4EB57220E58BFA26744730450221008D53E4188B39E8EF9953672B42C7ED3F7760F4B2FA51EC91A6EB0B693A6002B2022016384B9F552C75FD3BDE13C65E1CC3DA646AB10E3DD785EB2005620C6AF2C52B7710746573742E626974686F6D702E636F6D811485C536EFA7EAACCC51916E32FF720810A2226008F9EA7C06636C69656E747D16426974686F6D7020746F6F6C20762E20302E342E31317E0A706C61696E2F74657874E1F1","id":"BC35145B69F75FE5B41D6198D56203C2CFD2C1D968C09B09A37530CCB3AD2C6D"}'
  https://bithomp.com/api/v2/transaction/submit/
$.ajax({
   url: "https://bithomp.com/api/v2/transaction/submit/",
   type: "POST",
   contentType: "application/json",
   headers: {
      "x-bithomp-token": "abcd-abcd-0000-abcd-0123abcdabcd"
   },
   data: {
     "signedTransaction": "1200032280000000240000000368400000000000000C732103A71B44FD71C956C3CC0A540F2FBB577C4A300BC71244D86E4EB57220E58BFA26744730450221008D53E4188B39E8EF9953672B42C7ED3F7760F4B2FA51EC91A6EB0B693A6002B2022016384B9F552C75FD3BDE13C65E1CC3DA646AB10E3DD785EB2005620C6AF2C52B7710746573742E626974686F6D702E636F6D811485C536EFA7EAACCC51916E32FF720810A2226008F9EA7C06636C69656E747D16426974686F6D7020746F6F6C20762E20302E342E31317E0A706C61696E2F74657874E1F1",
     "id": "BC35145B69F75FE5B41D6198D56203C2CFD2C1D968C09B09A37530CCB3AD2C6D"
   },
   success: function(result) {
      console.log(JSON.stringify(result, undefined, 2));
   },
   error: function(error) {
      console.log(error);
   }
});

The above command returns JSON structured like one of those:

{
  "result": "tesSUCCESS",
  "id": "BC35145B69F75FE5B41D6198D56203C2CFD2C1D968C09B09A37530CCB3AD2C6D"
}

{
  "result": "terNO_ACCOUNT",
  "message": "The source account does not exist.",
  "id": "BC35145B69F75FE5B41D6198D56203C2CFD2C1D968C09B09A37530CCB3AD2C6D"
}

{
  "result": "terPRE_SEQ",
  "message": "Missing/inapplicable prior transaction.",
  "id": "BC35145B69F75FE5B41D6198D56203C2CFD2C1D968C09B09A37530CCB3AD2C6D"
}

This endpoint returns a final status of a submitted transaction.
Page where it used on bithomp: https://bithomp.com/explorer/?hwlogin .

HTTP Request

POST https://bithomp.com/api/v2/transaction/submit

POST Parameters

Parameter Description
id (Optional) A calculated hash of the signed transaction
signedTransaction A blob of signed transaction to submit

Historical data

Account Activations

curl "https://bithomp.com/api/v2/account-chart?span=month&period=year"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function printData(json) {
  console.log(JSON.stringify(json, undefined, 2));
}
bithompRequest("https://bithomp.com/api/v2/account-chart?span=month&period=year", printData);
$data = curl_bithomp("https://bithomp.com/api/v2/account-chart?span=month&period=year");
print $data;

The above command returns JSON structured like this:

{
  "span": "month",
  "period": "year",
  "chart": [
    {
      "time": "2023-10-31T23:59:59.999Z",
      "activations": 100
    },
    {
      "time": "2023-11-30T23:59:59.999Z",
      "activations": 78
    },
    {
      "time": "2023-12-31T23:59:59.999Z",
      "activations": 33834
    }
  ]
}

This endpoint returns data to draw a chart of account activations (available only on the Standard plan and higher).
Page where it used on bithomp: https://bithomp.com/activations.

HTTP Request

GET https://bithomp.com/api/v2/account-chart

Response Format

Field Value Description
period all A time period, all time all, last hour hour, last 24h day, last 7 days week, last 30 days month, last 365 days year or as timestamps from..to, examples: 1671490800000..1671663600000 or 2022-12-20T00:00:00.000Z..2022-12-22T00:00:00.000Z
span null A time span for the chart, can be minute, hour, day, month, year, not all spans are available for large periods, for a period hour you can have minute, for periods up to 60 hours, you can have hour, day, month, for up to 60 days - day, month.

Genesis

curl "https://bithomp.com/api/v2/genesis"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function printData(json) {
  console.log(JSON.stringify(json, undefined, 2));
}
bithompRequest("https://bithomp.com/api/v2/genesis", printData);
$data = curl_bithomp("https://bithomp.com/api/v2/genesis");
print $data;

The above command returns JSON structured like this:

{
  "count": 136,
  "inception": 1357010470,
  "ledger_index": 32570,
  "genesis_balance_all": 99999999999.99632,
  "balance_all": 483189349.682485,
  "balance_update": 1578499794,
  "genesis": [
    {
      "address": "rBKPS4oLSaV2KVVuHH8EpQqMGgGefGFQs7",
      "genesis_balance": 370,
      "genesis_index": 1,
      "balance": 20.009958
    },
    {
      "address": "rLs1MzkFWCxTbuAHgjeTZK4fcCDDnf2KRv",
      "genesis_balance": 10000,
      "genesis_index": 2,
      "rippletrade": "leotreasure",
      "balance": 4507.158497
    },
    {

    }
  ]
}

This endpoint retrieves a list of addresses from the first available ledger in XRPL history.
Page where it used on bithomp: https://bithomp.com/genesis.

HTTP Request

GET https://bithomp.com/api/v2/genesis

Response Format

Field Value Description
count Integer The amount of returned addresses.
inception Integer Inception UNIX timestamp.
ledger_index Integer Ledger index (the first available in history).
genesis_balance_all Float Sum of all balances in the ledger_index.
balance_all Float Sum of balances of those addresses on the balance_update time.
balance_update Integer UNIX timestamp of the last update of balances.
genesis Array Array of addresses in ledger_index.
genesis[].address String Address
genesis[].genesis_balance Float XRP balance on that genesis[].address on the time of inception.
genesis[].genesis_index Integer Index of the address in the ledger_index.
genesis[].rippletrade String Username that genesis[].address used on rippletrade.com.
genesis[].nickname String Username that genesis[].address used on bitcointalk.org or assign by Ripple (X.).
genesis[].balance Float XRP balance on that genesis[].address on the time of balance_update.

History of XRP price alerts

curl "https://bithomp.com/api/v2/price/xrp/alerts"
  -H "x-bithomp-token: abcd-abcd-0000-abcd-0123abcdabcd"
function printData(json) {
  console.log(JSON.stringify(json, undefined, 2));
}
bithompRequest("https://bithomp.com/api/v2/price/xrp/alerts", printData);
$data = curl_bithomp("https://bithomp.com/api/v2/price/xrp/alerts");
print $data;

The above command returns JSON structured like this:

{
  "count": 50,
  "timestamp": 1578748266,
  "alerts": [
    {
      "currency": "btc",
      "change": "-10.07%",
      "timestamp_old": 1578344400,
      "timestamp_new": 1578415200,
      "rate_old": 0.00002959,
      "rate_new": 0.00002661
    },
    {
      "currency": "btc",
      "change": "+10.02%",
      "timestamp_old": 1578297600,
      "timestamp_new": 1578327600,
      "rate_old": 0.00002616,
      "rate_new": 0.00002878
    },
    {

    }
  ]
}

This endpoint retrieves a list of our XRP price alerts.
Page where it used on bithomp: https://bithomp.com/alerts.

HTTP Request

GET https://bithomp.com/api/v2/price/xrp/alerts

Response Format

Field Value Description
count Integer The amount of returned alert records.
timestamp Integer UNIX timestamp for a request.
alerts Array Array of alert records.
genesis[].currency String Currency (in XRP/currency pair).
genesis[].change String Price change percentage (ex.: +10.24%).
genesis[].timestamp_old Integer Unix timestamp in seconds for the price: genesis[].rate_old.
genesis[].timestamp_new Integer Unix timestamp in seconds for the price: genesis[].rate_new.
genesis[].rate_old Float The price at genesis[].timestamp_old.
genesis[].rate_new Float The price at genesis[].timestamp_new.

Errors

The Bithomp API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The requested data not allowed for your API key.
404 Not Found -- The data not found.
405 Method Not Allowed -- You tried to access API endpoint with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The data requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too often! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.