# Kette Token Restrictions Scanner

> Kette Token Restrictions Scanner is a paid API for AI agents from kette.halowerk.com, paid per call via x402, $0.008/call, status unknown (last checked 2026-09-13).

Scans ERC-20 token bytecode for trading-control function selectors and reads on-chain restriction values, reporting whether taxes, blacklists, or trading pauses are modifiable by the owner

## Facts

- Endpoint: POST https://kette.halowerk.com/token/restrictions
- Price: $0.008/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/kette-token-restrictions-scanner-6d577280
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8Jy3aR0qpfwWR1IJoNDpo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability kette-token-restrictions-scanner-6d577280 -d '<json body>'
```

Example prompt: Before I buy into this token, scan the contract at 0xabc...123 on Ethereum for trading restrictions — specifically whether the owner can modify taxes or freeze trading, and how those were detected (bytecode vs live call).

## When to prefer this

Use this endpoint when you need to assess whether an ERC-20 token's owner retains dangerous trading controls, especially when the current tax appears to be zero or benign. It is superior to simply reading current tax values because it analyzes bytecode for the presence of modification functions — catching risks that on-chain state reads alone would miss. Prefer this over generic contract readers when the key question is 'can the owner change this?' rather than 'what is the current value?'

## Known failure modes

- Contract address not found or not deployed on specified chain — returns not found error
- Address is an EOA (externally owned account) not a contract — returns invalid contract error
- Bytecode is too heavily obfuscated or minimal proxy with no readable selectors — detection may be partial
- RPC connectivity issues to the target chain cause timeout
- Unsupported chain specified — returns unsupported network error

## How this service works

Scans the deployed bytecode for function selectors that grant control over trading, and reads the values that can be read directly. The decisive field is tax_modifiable: a tax of zero that the owner can raise to ninety-nine percent at any time is more dangerous than a fixed five percent, so the ability is reported, not just the current number. detection_method is given per field, because reading a selector out of bytecode is a different kind of evidence than calling the contract. Limits: current

## Output

Returns a structured report per restriction field, including the current value, whether it is modifiable by the owner (tax_modifiable flag), and the detection method used (bytecode selector scan vs direct contract call). Distinguishes between a fixed tax and a zero tax that can be raised to 99% — the latter is flagged as high risk regardless of current value.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "type": "string",
   "description": "Chain identifier, for example ethereum, base, arbitrum, optimism, polygon or bsc."
  },
  "token": {
   "type": "string",
   "description": "ERC-20 contract address, 0x followed by 40 hex characters."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/kette-token-restrictions-scanner-6d577280/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kette.halowerk.com](https://www.zero.xyz/host/kette.halowerk.com/llms.txt)
