Please do not share your private keys with any website, individual, or businesses. SolanaFM would never ask for your private keys or to sign any suspicious transactions.


Our webhooks only returns successful, non-vote transactions.

Getting Started

To get things started, hop over to https://portal.solana.fm and log in using a web3 wallet.

The above video walks through the process of subscribing to a webhook on the DevPortal, listening to the OpenBookV2 program.

Sample code used to create an endpoint locally on the port 3000:

const fastify = require("fastify")();

// Define a POST route for the webhook endpoint
fastify.post("/", (req, reply) => {
  // Assuming JSON payload is sent
  const payload = req.body;

  // Process the payload here...
  console.log("Received webhook payload:", payload);

  // Send a response
  reply.code(200).send({ message: "Webhook received successfully" });

// Start the server
fastify.listen(3000, (err, address) => {
  if (err) {
  console.log(`Server listening on ${address}`);

After creating this endpoint, a proxy service is used to to spin up a webhook url that proxies the the data from the webhook to your local server.

Sample response data from the webhook:

  transaction: {
    transaction: { signatures: [Array], message: [Object] },
    meta: {
      err: null,
      status: [Object],
      fee: 8530,
      preBalances: [Array],
      postBalances: [Array],
      innerInstructions: [Array],
      logMessages: [Array],
      preTokenBalances: [Array],
      postTokenBalances: [Array],
      rewards: null,
      computeUnitsConsumed: 188464
    version: 0
  events: {},
  network: 'mainnet',
  block_time: 1716449876