Watch a wallet's positions
POST
/lp/watch
const url = 'https://api.getchord.xyz/v1/lp/watch';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"chain":5042,"wallet":"0xb145400da27a2497d9fc2cd5621f2bfd37617af4"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.getchord.xyz/v1/lp/watch \ --header 'Content-Type: application/json' \ --data '{ "chain": 5042, "wallet": "0xb145400da27a2497d9fc2cd5621f2bfd37617af4" }'Turns on in-app alerts for the wallet’s positions (out of range, fees to collect, pool draining) and returns a one-hour Telegram deep link that routes the same alerts to a chat.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
chain
required
integer
wallet
required
EVM address, hex, case-insensitive.
string
Example
{ "chain": 5042, "wallet": "0xb145400da27a2497d9fc2cd5621f2bfd37617af4"}Responses
Section titled “ Responses ”Media typeapplication/json
object
watched
boolean
telegramChats
integer
feeBarUsd
number
drainPct
number
code
string
tgLink
https://t.me/<bot>?start=lp_<code>, valid one hour.
string | null
Examplegenerated
{ "watched": true, "telegramChats": 1, "feeBarUsd": 1, "drainPct": 1, "code": "example", "tgLink": "example"}Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).
Media typeapplication/json
Every non-2xx body.
object
error
required
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
string
message
For humans.
string
statusCode
HTTP status, when included.
integer
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}