Behaviour labels for many wallets

POST
/wallets/labels/batch

Batch by construction: a transaction table calls this once per page to mark robot, sniper and sandwich makers, where a per-row call would be one request per visible trade.

It is the one wallet read that is a POST, because a list of up to 200 addresses does not belong in a query string. Addresses absent from the response carry no labels.

Header Parameters

Accept-Payment?string

payment methods the client can use, comma-separated, case-insensitive. With x402 in the list, a spent keyless budget answers 402 with the x402 challenge instead of 429.

PAYMENT-SIGNATURE?string

base64 x402 v2 payment payload for this request. A paid request skips the keyless budget and is settled only when it answers 2xx. The v1 header X-PAYMENT is accepted too.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/wallets/labels/batch" \  -H "Content-Type: application/json" \  -d '{    "chain": "string",    "addresses": [      "string"    ]  }'
{  "items": [    {      "address": "string",      "tier": "string",      "labels": [        {          "kind": 0,          "name": "string",          "confidence": 0.1,          "token_address": "string"        }      ],      "copy_eligible": true,      "user_score": 0    }  ]}