Check if address is a known drainer
const options = {method: 'GET'};
fetch('https://api.haveibeendrained.org/api/v1/drainer/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.haveibeendrained.org/api/v1/drainer/{address}import requests
url = "https://api.haveibeendrained.org/api/v1/drainer/{address}"
response = requests.get(url)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.haveibeendrained.org/api/v1/drainer/{address}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"type": "drainer",
"data": {
"drainerAddress": "<string>",
"reportCount": 123,
"firstSeen": "2023-11-07T05:31:56Z",
"lastSeen": "2023-11-07T05:31:56Z",
"totalSolReported": 123,
"recentReporters": [
"<string>"
]
},
"timestamp": 123,
"message": "<string>"
}{
"success": false,
"error": "Invalid Solana address",
"timestamp": 1702224000000
}{
"success": false,
"error": "Rate limit exceeded",
"message": "You have exceeded the rate limit for this endpoint. Please try again later.",
"retryAfter": 3600,
"timestamp": 1702224000000
}Drainer
Check if address is a known drainer
Quick check to see if an address is a known drainer (faster than full analysis)
GET
/
api
/
v1
/
drainer
/
{address}
Check if address is a known drainer
const options = {method: 'GET'};
fetch('https://api.haveibeendrained.org/api/v1/drainer/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://api.haveibeendrained.org/api/v1/drainer/{address}import requests
url = "https://api.haveibeendrained.org/api/v1/drainer/{address}"
response = requests.get(url)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.haveibeendrained.org/api/v1/drainer/{address}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"type": "drainer",
"data": {
"drainerAddress": "<string>",
"reportCount": 123,
"firstSeen": "2023-11-07T05:31:56Z",
"lastSeen": "2023-11-07T05:31:56Z",
"totalSolReported": 123,
"recentReporters": [
"<string>"
]
},
"timestamp": 123,
"message": "<string>"
}{
"success": false,
"error": "Invalid Solana address",
"timestamp": 1702224000000
}{
"success": false,
"error": "Rate limit exceeded",
"message": "You have exceeded the rate limit for this endpoint. Please try again later.",
"retryAfter": 3600,
"timestamp": 1702224000000
}Path Parameters
Solana wallet address to check
Required string length:
32 - 44Was this page helpful?