# Vigenere Cipher Encode/Decode

> Vigenere Cipher Encode/Decode is a paid API for AI agents from text-ciphers.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Encodes or decodes text using the Vigenère cipher with a key, or estimates the key length of a ciphertext using the index of coincidence method.

## Facts

- Endpoint: GET https://text-ciphers.x402tookit.com/vigenere?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vigenere-cipher-encode-decode-48bc6da5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vm0Z_st-MHYOhwg75ARJZ

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 vigenere-cipher-encode-decode-48bc6da5
```

Example prompt: Encode the message 'ATTACKATDAWN' using the Vigenère cipher with the key 'LEMON', please.

## When to prefer this

Choose this endpoint when you need to perform Vigenère cipher operations specifically — encoding plaintext with a keyword, decoding ciphertext with a known key, or analyzing an unknown ciphertext to estimate its key length via index of coincidence. Prefer this over Caesar/ROT endpoints when you need a polyalphabetic (keyword-based) cipher rather than a simple shift cipher. It's ideal for puzzle-solving, educational cryptography demos, CTF challenges, and historical cipher tasks involving the Vigenère method.

## Known failure modes

- Missing 'text' query parameter returns an error
- Missing 'key' parameter when mode is encode or decode causes failure
- Text exceeding 3000 characters may be rejected or truncated
- Invalid mode value (not encode, decode, or keylength) causes an error
- Non-alphabetic characters may not be supported depending on mode

## How this service works

Vigenere cipher encode or decode with a key, or estimate the key length of a ciphertext by index of coincidence.

## Output

Returns a JSON object containing the mode used, the input text, the output (encoded or decoded text, or estimated key length), the key (if applicable), and metadata fields such as summary, source, and disclaimer. For keylength mode, the output field contains the estimated key length derived from index of coincidence analysis.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "text"
     ],
     "properties": {
      "key": {
       "type": "string",
       "description": "Key letters (required for encode and decode)"
      },
      "mode": {
       "type": "string",
       "description": "encode (default), decode or keylength"
      },
      "text": {
       "type": "string",
       "description": "Plain or cipher text (up to 3000 characters)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "key": {
       "type": [
        "null",
        "string"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "mode": {
       "type": [
        "null",
        "string"
       ]
      },
      "input": {
       "type": [
        "null",
        "string"
       ]
      },
      "output": {
       "type": [
        "null",
        "string"
       ]
      },
      "secure": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vigenere-cipher-encode-decode-48bc6da5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from text-ciphers.x402tookit.com](https://www.zero.xyz/host/text-ciphers.x402tookit.com/llms.txt)
