# IPv6 address offset

`ipv6-address-offset` · version 1.0.0 · URLs & IP addresses · free, no key needed

Add a signed integer offset to an IPv6 address, throwing if the result leaves the IPv6 address space.

**Use when you need to: ipv6 address offset · add offset to ipv6 address · ipv6 address increment.**

## Supported

- ipv6 address offset
- add offset to ipv6 address
- ipv6 address increment

## Not supported

- IPv4
- CIDR-bounded wraparound

## Behavior

- address accepts any RFC 4291 textual form (see ipv6-parse); offset is a canonical signed decimal integer string (may be negative or zero) since it may exceed the safe JSON number range.
- result is address's 128-bit value plus offset, formatted as the RFC 5952 canonical address.
- Throws if the result falls outside 0..340282366920938463463374607431768211455 (::..ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff).

## Input

- `address` (string, required): max length 45
- `offset` (string, required): max length 40; pattern `^-?(0|[1-9][0-9]*)$`

## Output

- `result` (string, required): max length 45

## Limits

- max address length: 45
- offset max abs: 340282366920938463463374607431768211455

## Example

Request input:

```json
{
  "address": "2001:db8::1",
  "offset": "10"
}
```

Response:

```json
{
  "result": {
    "result": "2001:db8::b"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "ipv6-address-offset",
  "version": "1.0.0",
  "input": {
    "address": "2001:db8::1",
    "offset": "10"
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/ipv6-address-offset/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"address":"2001:db8::1","offset":"10"}'
```

The machine-readable contract is at [/v1/tools/ipv6-address-offset/versions/1.0.0](/v1/tools/ipv6-address-offset/versions/1.0.0).

### CLI

```sh
node cli.mjs run ipv6-address-offset 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [IPv4 address offset](/tools/ipv4-address-offset): Add a signed integer offset to an IPv4 address, throwing if the result leaves the IPv4 address space.
- [IPv6 parse](/tools/ipv6-parse): Parse an IPv6 address (any RFC 4291 textual form) into its 8 hextets and a 128-bit integer string.
- [IPv6 range to cidrs](/tools/ipv6-range-to-cidrs): Convert an arbitrary IPv6 address range into the minimal list of CIDR blocks that exactly covers it.
- [IPv4 range to cidrs](/tools/ipv4-range-to-cidrs): Convert an arbitrary IPv4 address range into the minimal list of CIDR blocks that exactly covers it.
- [IPv6 address classify](/tools/ipv6-address-classify): Classify an IPv6 address against the static IANA IPv6 special-purpose address registry.
- [IPv6 address compare](/tools/ipv6-address-compare): Compare two IPv6 addresses by their numeric 128-bit value.
