# Net Protocol Subdomain Renewal

> Net Protocol Subdomain Renewal is a paid API for AI agents from netprotocol.app, paid per call via x402, $0.24/call, status unknown (last checked 2026-09-14).

Renews (extends) the lease on an existing .hostedon.net subdomain for a specified duration at $0.01/hour

## Facts

- Endpoint: POST https://netprotocol.app/api/subdomains/v1/renew
- Price: $0.24/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/net-protocol-subdomain-renewal-097be8b4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_s-n077GWVEw0yPQZxXhVG

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 net-protocol-subdomain-renewal-097be8b4 -d '<json body>'
```

Example prompt: Renew my 'myapp' subdomain on hostedon.net for 48 hours so it stays active.

## When to prefer this

Use this endpoint when you need to extend the active lease of an already-registered .hostedon.net subdomain on the Net Protocol onchain data layer. Choose this over a registration endpoint when the subdomain already exists and you simply need to push the expiry date forward. Ideal for automated agents that manage infrastructure subdomains and need to programmatically top up lease time on a per-hour basis ($0.01/hr) without human intervention.

## Known failure modes

- Subdomain name not found or not previously registered — renewal may fail if the subdomain doesn't exist
- durationSeconds exceeds maximum of 1209600 (2 weeks) — request rejected
- Insufficient payment or wallet funding — x402 payment fails, lease not extended
- Subdomain already expired beyond grace period — renewal may not be possible
- Invalid name format — non-alphanumeric or reserved labels rejected

## How this service works

The onchain data layer

## Output

Returns the full hostname (e.g. myapp.hostedon.net), the updated registration object including the owner wallet address (0x...), the unix timestamp when the lease now expires (paidUntil), the epoch, the registration timestamp, and the target routing object.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "name"
 ],
 "properties": {
  "name": {
   "type": "string",
   "description": "subdomain label; resolves at <name>.hostedon.net"
  },
  "durationSeconds": {
   "type": "integer",
   "description": "lease length in seconds; defaults to 86400 (24h), max 1209600 (2 weeks). Price is $0.01/hour."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "hostname",
  "registration"
 ],
 "properties": {
  "hostname": {
   "type": "string",
   "description": "<name>.hostedon.net"
  },
  "registration": {
   "type": "object",
   "required": [
    "name",
    "owner",
    "paidUntil",
    "target"
   ],
   "properties": {
    "name": {
     "type": "string"
    },
    "epoch": {
     "type": "integer"
    },
    "owner": {
     "type": "string",
     "description": "owner wallet, lowercased 0x"
    },
    "target": {
     "type": "object"
    },
    "paidUntil": {
     "type": "integer",
     "description": "unix seconds the lease expires"
    },
    "registeredAt": {
     "type": "integer"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/net-protocol-subdomain-renewal-097be8b4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from netprotocol.app](https://www.zero.xyz/host/netprotocol.app/llms.txt)
