POST /v1/wallet/intent

This endpoint allows you to create a new non-custodial wallet intent for token sniping using a custodial bot, specifying conditions and parameters under which the intent will execute during a token launch.


Signature

The signaturefield in the body is the signature of EIP712 message with the following data structure:

export const types = {
  BuyIntent: [
    { name: "token", type: "address" },
    { name: "amount", type: "uint256" },
    { name: "bribe", type: "uint256" },
    { name: "expiry", type: "uint256" },
    { name: "minIn", type: "uint256" },
  ],
};

export const domain = {
  name: "OPL",
  version: "1",
  chainId: <>, // use the right chain id
  verifyingContract: "0x", // use the right router address for the chain
};

Contract addresses can be found here.

Example signing EIP712 messages with Typescript and Viem

Request

Endpoint

Body

Field
Type
Required
Description

chainId

number

Yes

Blockchain network ID (e.g., 1 for Ethereum).

wallet

string

Yes

Wallet address to use for the transaction.

tokenAddress

string

Yes

Address of the token to be purchased.

bribe

string

Yes

Bribe amount in wei for miners or block builders.

signature

string

Yes

EIP712 signature for the intent.

buyAmount

string

Yes

Amount to purchase in wei.

expiry

number

Yes

Expiry timestamp for the intent (UNIX format in seconds).

notificationWebhookUrl

string

No (but recommended)

Notification webhook url for this intent.

maxBuyTax

number

No

Maximum acceptable buy tax (0 to 1).

maxSellTax

number

No

Maximum acceptable sell tax (0 to 1).

minIn

string

No

Minimum input amount in wei.

minOut

string

No

Minimum output amount in token units.

minLiquidity

string

No

Minimum liquidity in cents (e.g., 10000 for $100).

feeBps

number

No

Fee in basis points (e.g., 100 for 1%).

feeRecipient

string

No

Address to receive the fee.

firstOrFail

boolean

No

Whether the intent should only be included in the first bundle.

maxSlippageBps

number

No

Maximum slippage in basis points (e.g., 1000 for 10%).

gasTip

string

No

Gas tip in wei (e.g., 1000000000 for 1 gwei).


Response

Last updated

Was this helpful?