MEVSwap is live - The first MEV DEX
mevswap.com
merkle
Dashboard
  • What is merkle
  • Private pool
    • What is Private mempool
    • What is MEV
      • Arbitrage
      • Backruns
      • Sandwiches
    • Wallets
      • Send transactions via RPC
      • Cancel a transaction
      • Transaction status
      • Send transactions via API
      • Programmable privacy
      • Transaction boost
      • Send Solana transaction
      • Solana Transaction Status
      • Solana Boost
    • Searchers
      • Bid on transactions
      • MEVBlocker websocket
      • Bid status
      • Send bundles
    • User Cashback
      • Implementation Guide
      • Dashboard
    • Mempool Explorer
  • MEVSwap
    • What is MEVSwap
    • MEV Bids
    • Swap Signatures
  • Pools
  • MEV Protected Free RPC
    • Ethereum RPC
    • BSC RPC
  • Snapshots
    • Ethereum RETH Snapshots
Powered by GitBook

© merkle 2023-2025

On this page

Was this helpful?

  1. SNIPE
  2. Webhooks

Notification webhook

The Notification Webhook provides real-time updates on the status of intents submitted to the Snipe API. Notifications cover a wide range of events, from intent creation to final transaction outcomes. Below is the reference list of all possible notifications and their payloads.


Notification Types

1. Intent expired

An intent that has been pending for 48 hours without execution is marked as expired.

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_exired",
	"reason": "expired"
	"data": {}
}

2. Intent pending

A launch was detected, and the intent is now pending execution:

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_tx_pending",
	"reason": "launch_detected"
	"data": {
	    "txHash": "0x...", // hash of the pending intent tx 
	}
}

3. Intent ignored

  • Wrong status The intent was not in a pending state when the snipe happened:

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_ignored",
	"reason": "wrong_status"
	"data": {}
}
  • Buy tax too high The intent was ignored because the buy tax was too high:

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_ignored",
	"reason": "buy_tax_too_high"
	"data": {
		"max": 0.2, // max set by the user
		"actual": 0.5 // launch buy tax
	}
}
  • Sell tax too high The intent was ignored because the sell tax was too high:

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_ignored",
	"reason": "min_in_not_met"
	"data": {
		"max": 0.2, // max set by the user
		"actual": 0.5 // launch sell tax
	}
}
  • Minimum in not met Intent ignored because the minimum buy could not be met.

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_ignored",
	"reason": "min_in_too_low"
	"data": {
		"minIn": "20000000000", // max set by the user
		"actual": "4000000000", // max in at launch
	}
}
  • Liquidity minimum not met Intent is ignored because the minimum liquidity was not met.

{
	"intentId": "<id>",
	"chainId": 1,
	"type": "intent_ignored",
	"reason": "liquidity_too_low"
	"data": {
		"minLiquidity": "1000000", // max set by the user $10,000
		"actual": "500000", // liqudity at launch $5,000
	}
}

4. Successful Intent Notification

The intent was successfully executed and included in the blockchain.

{
	"intentId": "<id>",
	"type": "intent_success",
	"reason": "included_in_bundle",
	"txHash": "0x....",
	"chainId": 1,
}

5. Failure notification

The intent was selected but failed.

  • Transaction Failed Onchain: Intent was included but failed onchain (transaction reverted)

{
	"intentId": "<id>",
	"type": "intent_failure",
	"reason": "tx_failure",
	"txHash": "0x....", 
	"chainId": 1,
}
  • Transaction Not Included: Intent was sent but not included (filtered out of bundle by the block builder)

{
	"intentId": "<id>",
	"type": "intent_failure",
	"reason": "not_in_bundle",
	"txHash": "0x....", 
	"chainId": 1,
}

Last updated 4 months ago

Was this helpful?