Monitor sales of Solana NFT Collections and sends corresponding notification to Discord.
Sales from the following marketplaces are supported.
- Alpha Art
- Auction House (used by OpenSea and Fractal)
- Coral Cube
- Digital Eyes
- Exchange Art
- Hadeswap
- Hyperspace
- Magiceden
- Solana Monkey Business
- Solanart
- Solport
- Solsea
Any other sales not from above marketplaces are classified as Unknown
.
Follow below steps to setup your NFT sales monitor.
There are few prerequisites for this application. You need to have NodeJS
and git
installed.
Clone this repo and install its package dependencies.
git clone https://github.com/t4top/solana-nft-sales-monitor.git
cd solana-nft-sales-monitor
npm install
The configuration file is config.json
. It should be placed in the root folder of the repo. A sample config.sample.json is provided as a reference.
Rename config.sample.json
to config.json
and add settings for your collections.
Parameter | Datatype | Required | Remark |
---|---|---|---|
rpcEndpoint | string | No | Solana RPC endpoint e.g. https://api.mainnet-beta.solana.com |
collections | array | Yes | Array containing configuration settings for each collection . Each collection is an object with the parameters in below table. Multiple collections can be specified. |
Parameter | Datatype | Required | Remark |
---|---|---|---|
name | string | Yes | NFT collection name |
creatorAddress | string | Yes | Wallet address of one of the creators of the NFT collection. This application monitors this address for its transactions. |
startAfterHash | string | No | Transaction hash after which the application will start to monitor NFT sales. |
discordWebhook | string | No | Webhook URL to the Discord channel where NFT sales notification will be posted. |
Run below command to start the application as a background service.
npm start
To stop the application, run below command.
npm stop
A sample Discord post is shown below. The embed content can be customized within src/lib/discord.js.
Solana Wallet: BFSi8WeoE2bLJtMUpB6KVggJZ4Uv5DavVrVsm5kdrQwY