POST /v1/intents
The /v1/intents
endpoint allows for batch creation of intents for token sniping. This endpoint is useful for setting up multiple intents with varying parameters in a single API call. Same input as POST /v1/intent.
Request
Endpoint
POST https://snipe.merkle.io/v1/intents
Body
[{
// required
"chainId": 1,
"wallet": "<wallet address>",
"tokenAddress": "<token address>",
"bribe": "<bribe amount in wei>",
"buyAmount": "<buy amount in wei>",
"expiry": 2800998888, // expiry timestamp in seconds
// optional
"maxBuyTax": 0.2, // between 0 and 1
"maxSellTax": 0.2, // between 0 and 1
// the minimum this intent wants to buy, if the max buy
// is below the minimum, the intent is ignored
"minIn": "<min in amount in wei>",
// the minimum out required
"minOut": "<min out amount in token units>",
// the minimum liquidity this intent is willing to buy into
"minLiquidity": "<min liquidity in cents>", // for example 10000 is $100
// volume based fees
"feeBps": 100, // 1% fee on the buy amount
"feeRecipient": "<fee recipient address>",
// if FOF, the intent is not included in backup bundle
"firstOrFail": true / false,
// maximum slippage from launch price
"maxSlippageBps": 1000, // 10%
// gas tip in wei (max priority fee per gas)
"gasTip": "1000000000" // 1 gwei
}, ....]
Response:
[{
id: "<uuid>",
status: "pending" | "completed" | "expired" | "cancelled" | "error";
error: "balance_too_low",
| "allowance_too_low",
| "balance_fetch_error",
| "allowance_fetch_error",
| "not_included_in_bundle",
| "unknown"
| null,
txHash: null,
tokenAddress: "0x...",
wallet: "0x...",
chainId: 1,
bribe: "100000000000", // in wei
buyAmount: "100000000000", // in wei
maxBuyTax: 0.5,
maxSellTax: 0.5,
maxSlippageBps: 1000,
minBuy: "1000000", // in wei
minOut: "1000000", // in wei
createdAtMs: 99999999, // in milliseconds
gasTip: 1000000000,
token: {
chainId: 1,
address: "0x...",
deployer: "0x...",
deployerHash: "0x...",
deployerBlocknumber: 190000000,
deployerTimestamp: 99999999, // in seconds
launchedAtBlocknumber: null,
launchBuyTax: null,
launchStatus: "not_launched",
launchLiquidity: null,
launchProcessingTime: null,
launchSellTax: null,
launchedAtTxHash: null,
totalSupply: "9999999999999",
name: "Token name",
iconUrl: "",
symbol: "TKN",
decimals: 9,
launchedAtMs: null,
}
}, {
id: "<uuid>",
status: "pending" | "completed" | "expired" | "cancelled" | "error";
error: "balance_too_low",
| "allowance_too_low",
| "balance_fetch_error",
| "allowance_fetch_error",
| "not_included_in_bundle",
| "unknown"
| null,
txHash: null,
tokenAddress: "0x...",
wallet: "0x...",
chainId: 1,
bribe: "100000000000", // in wei
buyAmount: "100000000000", // in wei
maxBuyTax: 0.5,
maxSellTax: 0.5,
maxSlippageBps: 1000,
minBuy: "1000000", // in wei
minOut: "1000000", // in wei
createdAtMs: 99999999, // in milliseconds
gasTip: 1000000000,
token: {
chainId: 1,
address: "0x...",
deployer: "0x...",
deployerHash: "0x...",
deployerBlocknumber: 190000000,
deployerTimestamp: 99999999, // in seconds
launchedAtBlocknumber: null,
launchBuyTax: null,
launchStatus: "not_launched",
launchLiquidity: null,
launchProcessingTime: null,
launchSellTax: null,
launchedAtTxHash: null,
totalSupply: "9999999999999",
name: "Token name",
iconUrl: "",
symbol: "TKN",
decimals: 9,
launchedAtMs: null,
}
}, ....]
Last updated