# Account Verification
Source: https://docs.stackryze.com/account-verification
Verify your account to unlock custom domains, DNSSEC, and API tokens.
Account verification is a one-time step that unlocks the full Stackryze surface — custom domains, DNSSEC signing, API tokens, webhook secrets, and higher rate limits.
## When do I need to verify?
You'll be asked to verify if any of the following apply to your account:
* You want to add a custom domain you don't own through Stackryze Domains
* You want to enable DNSSEC on a delegated zone
* You want to issue API tokens
* Your zones have crossed the free-tier limits
## How to verify
From the dashboard, click your avatar, then **Settings**, then the **Verification** tab.
We send a confirmation link to the address on file. Click it within 24 hours.
You need at least one of:
* A domain you've proven control of (via a DNS TXT record we generate)
* A payment method on file (we charge \$0 and refund immediately)
Most verifications complete automatically within 60 seconds. Manual review (rare) completes within one business day.
## What you get
| Unlocks | Free | Verified |
| ------------------ | ---- | --------- |
| Number of zones | 3 | Unlimited |
| Records per zone | 100 | 1,000 |
| API tokens | — | Yes |
| Webhooks | — | Yes |
| DNSSEC signing | — | Yes |
| Custom nameservers | — | Yes |
Stackryze DNS is **always free** — verification just raises limits and unlocks advanced features. No plan is ever required.
# Introduction
Source: https://docs.stackryze.com/changelog/introduction
Track every Stackryze release, feature, improvement, and platform update.
Welcome to the Stackryze changelog. We log everything that ships — features, fixes, deprecations, even the dashboard polish. Every release includes the date, the highlights, and links to the deeper guides.
If you'd like release notes in your inbox, subscribe at [stackryze.com/changelog/subscribe](https://stackryze.com/changelog/subscribe) (no more than one email per release).
## How to read this
* **Major versions** (X.0.0) ship breaking changes — see the upgrade guide at the top of every major release.
* **Minor versions** (x.X.0) ship features.
* **Patch versions** (x.x.X) ship fixes and platform polish.
## Cadence
We ship a release **every two weeks**. If something is critical (security, data integrity), we ship out-of-band and badge it `HOTFIX` at the top of the entry.
## Subscribe via RSS
The changelog is also available as an RSS feed — useful for AI agents and dashboards:
```text theme={null}
https://stackryze.com/changelog/rss.xml
```
v1.105.0 (June 22, 2026) — Bring Your Own Processor, Rust SDK, Korean wallets, and more.
# v1.101.0
Source: https://docs.stackryze.com/changelog/v1-101-0
**Release date:** June 2, 2026
Automatic subscription payment retries to recover failed renewal revenue, business-level proration defaults with per-product-collection overrides, and business name collection for B2B invoices.
# v1.105.0
Source: https://docs.stackryze.com/changelog/v1-105-0
**Release date:** June 22, 2026
Bring Your Own Processor (BYOP), official Rust SDK release, Korean wallets and Przelewy24 payment methods, `brand_id` on every webhook payload, decimal-aware currency handling, higher entitlement limits, branded recovery emails, analytics v2.1, and dashboard polish.
# v1.87.0
Source: https://docs.stackryze.com/changelog/v1-87-0
**Release date:** March 9, 2026
Webhook signature verification v2 (HMAC-SHA256 with replay protection), zone import from BIND format, per-record comments, audit log export to JSONL, dashboard dark mode polish, and 14 minor bug fixes.
# v1.93.0
Source: https://docs.stackryze.com/changelog/v1-93-0
**Release date:** March 28, 2026
Checkout redesign with improved loading states, net revenue analytics, business-level payment method disabling, payout breakdown, Visa RDR configuration, DoNotBill proration mode, scheduled plan changes, and delete customer payment method API.
# v1.94.0
Source: https://docs.stackryze.com/changelog/v1-94-0
**Release date:** April 8, 2026
Abandoned Cart Recovery, Subscription Dunning, discount metadata, recovery webhooks, Pix payments for Brazil, and WeChat Pay for Chinese customers.
# v1.97.6
Source: https://docs.stackryze.com/changelog/v1-97-6
**Release date:** May 7, 2026
Entitlements launch with five new fulfillment integrations (Discord, GitHub, Telegram, Framer, Notion), subscription cancellation reasons in the customer portal, configurable INR e-mandate floor, adaptive currency fees inclusive setting, Stackryze Desktop app for macOS/Windows/Linux, stablecoin payments (USDC/USDP/USDG), import existing license keys, and `require_phone_number` for checkout sessions.
# v1.99.0
Source: https://docs.stackryze.com/changelog/v1-99-0
**Release date:** May 25, 2026
Stacked discount codes (up to 20 per checkout, payment, or subscription), seven new customer notification emails for refunds and subscription lifecycle events, Sunbit BNPL for US customers, checkout payment page overhaul lifting success rates by 2–3%, product form rework with live preview and autosave, and Business Settings redesign.
# API
Source: https://docs.stackryze.com/features/api
A standards-compliant JSON/REST API for every Stackryze product.
Beta
The Stackryze API exposes every product feature as a JSON/REST endpoint. The same API powers the dashboards, so anything you can click, you can script — and reverse-engineer cleanly with OpenAPI.
## Quickstart
Open Settings → API → **Create token**. Copy the value somewhere safe — we never show it twice.
```bash theme={null}
curl https://api.stackryze.com/v1/zones \
-H "Authorization: Bearer $STACKRYZE_TOKEN"
```
```bash theme={null}
curl -X POST https://api.stackryze.com/v1/zones/example.com/records \
-H "Authorization: Bearer $STACKRYZE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"A","name":"@","value":"192.0.2.1"}'
```
## Endpoints
| Resource | Endpoints |
| ------------ | ------------------------------------------------------------------------------------ |
| **Zones** | `GET/POST /v1/zones`, `GET/PATCH/DELETE /v1/zones/{id}` |
| **Records** | `GET/POST /v1/zones/{id}/records`, `PATCH/DELETE /v1/zones/{id}/records/{record_id}` |
| **Domains** | `GET/POST /v1/domains`, `GET/PATCH/DELETE /v1/domains/{id}` |
| **Webhooks** | `GET/POST /v1/webhooks`, `PATCH/DELETE /v1/webhooks/{id}` |
| **Account** | `GET /v1/account`, `PATCH /v1/account` |
## Conventions
* **Auth:** `Authorization: Bearer ` header on every request.
* **IDs:** UUIDv4 for accounts, domains, zones, records. Slugs for zones (`example.com`).
* **Errors:** RFC 7807 `application/problem+json` with a stable `type` URI.
* **Rate limits:** 600 req/min for verified accounts, 60 req/min unverified.
* **Versioning:** `/v1/` is stable; breaking changes ship in `/v2/`, never silently.
## SDKs
Official SDKs are planned for JavaScript, Python, and Go. Until then, the OpenAPI spec is the source of truth:
```bash theme={null}
curl https://api.stackryze.com/v1/openapi.json > openapi.json
```
Looking for the interactive API reference? It's published at [api.stackryze.com/docs](https://api.stackryze.com/docs) once the API exits beta.
# Billing
Source: https://docs.stackryze.com/features/billing
How Stackryze billing works — fair, transparent, and free by default.
Stackryze's billing model is the simplest you'll find: the **free tier is the product**, and paid plans only unlock higher limits or convenience features.
## The promise
* **No surprise charges.** We email 14 days before any auto-renew.
* **Pause, don't cancel.** Pause your plan and your data stays put.
* **Refund the unused.** Pro-rated, automatic, no support ticket needed.
* **Public pricing.** Always shown before you sign in. No "contact us for a quote".
## What's free
| Feature | Free | Notes |
| ------------------------------------- | ---- | ------- |
| Stackryze DNS, any zone count up to 3 | ✅ | Forever |
| Stackryze Domains, any subdomain | ✅ | Forever |
| Dashboard, all features | ✅ | Forever |
| Email forwarding | ✅ | Forever |
## What's paid
| Feature | Plan | Price |
| ----------------------------- | -------- | ----------- |
| Unlimited zones | **Pro** | \$3 / month |
| API tokens | **Pro** | included |
| Webhooks | **Pro** | included |
| Custom nameservers | **Pro** | included |
| Audit log retention > 30 days | **Team** | \$9 / month |
| SSO + team roles | **Team** | included |
## How we bill
We use [Stripe](https://stripe.com) for card payments — your card never touches our servers. Crypto payments are coming via Coinbase Commerce in Q3 2026.
## Refunds
Cancel any time from **Settings → Billing → Manage subscription**. Your unused portion refunds automatically in 3–5 business days.
Want to keep using free features after cancelling? You can — cancelling only removes the paid features.
# DNS
Source: https://docs.stackryze.com/features/dns
Modern DNS hosting for everyone — fast, free, and security-first.
Stackryze DNS is a free DNS hosting service, designed with security in mind. Running on open-source software, it's free for everyone to use.
The full service lives at [dns.stackryze.com](https://dns.stackryze.com). Status & live metrics are at [status.stackryze.com](https://status.stackryze.com).
## The four pillars
### 1. Modern records
Native support for the record types the modern web actually uses:
* **`SVCB`** — service bindings, doh, ech, ipv4hints, ipv6hints
* **`HTTPS`** — alias for SVCB with mandatory `alpn` and `port`
* **`TLSA`** — DANE TLS association for SMTP, HTTPS, and beyond
Plus the classics: `A`, `AAAA`, `CNAME`, `MX`, `NS`, `TXT`, `SRV`, `CAA`, `PTR`, `DNAME`.
### 2. Simple interface
The easiest way to manage DNS. Clean, fast, intuitive — no upsells, no modal soup, no dark patterns.
### 3. API-first *(under development)*
Full automation using standards-compliant JSON/REST. The same API powers the dashboard, so anything you can click, you can script.
### 4. Open source
100% free and non-profit. Transparent and community-driven. The full DNS engine is MIT-licensed at [github.com/stackryze/DNS](https://github.com/stackryze/DNS).
## Global infrastructure
Strategically located authoritative nameservers ensure low latency and high availability worldwide.
| Hostname | Location |
| ------------------- | ------------------ |
| `ns1.stackryze.com` | New York City, USA |
| `ns2.stackryze.com` | Hyderabad, India |
| `ns3.stackryze.com` | Nuremberg, Germany |
| `ns4.stackryze.com` | São Paulo, Brazil |
## Live metrics
Pulled in real time from the [status page](https://status.stackryze.com).
## Closing line
> No complex enterprise pricing. No hidden fees. Just pure, high-performance DNS.
# Domains
Source: https://docs.stackryze.com/features/domains
A public namespace for everyone to belong online — free, open-source, and yours.
Stackryze Domains gives you a real, public subdomain you can use on any project, portfolio, or side hustle. No credit card, no renewal fees, no surprise captures.
The full service lives at [domain.stackryze.com](https://domain.stackryze.com). This page documents what you can do with a Stackryze Domain.
## Why Stackryze Domains?
* **Free, forever.** No premium tier, no upsell — every feature is free for every user.
* **Open-source.** The registrar tooling is MIT-licensed. Audit it, fork it, run your own.
* **Clean DNS by default.** Every Stackryze Domain comes with a working DNS zone pointing at our global nameservers.
## What's included
Every Stackryze Domain includes, out of the box:
| Feature | Included |
| ----------------------------------------------- | ---------------------------------------------------- |
| A public subdomain (`yourname.stackryze.dev`) | ✅ |
| Editable DNS zone | ✅ |
| Email forwarding (`you@yourname.stackryze.dev`) | ✅ |
| Wildcard records (`*.yourname.stackryze.dev`) | ✅ |
| Custom nameservers | Available with [verification](/account-verification) |
## Use cases
`yourname.stackryze.dev` for your portfolio, blog, or link-in-bio.
A real DNS name for the weekend hack — no need to buy a domain to ship.
`team.stackryze.dev` for shared links, internal tools, or staging environments.
Forward `you@yourname.stackryze.dev` to your real inbox without running a mail server.
Want to use Stackryze DNS with a domain you bought elsewhere? See [Add a custom domain](/guides/add-a-custom-domain).
# Pricing
Source: https://docs.stackryze.com/features/pricing
Public, transparent pricing for Stackryze DNS, Domains, and the API.
Every Stackryze product has a public price list — no "contact us" pages, no hidden enterprise tier.
## Stackryze DNS
| Plan | Zones | Records / zone | Price |
| -------- | --------- | -------------- | --------------- |
| **Free** | 3 | 100 | \$0 |
| **Pro** | Unlimited | 1,000 | **\$3 / month** |
DNSSEC, modern record types, audit log, and the API are included on every plan.
## Stackryze Domains
| TLD | Price |
| ---------------- | ----- |
| `.stackryze.dev` | \$0 |
| `.stackryze.app` | \$0 |
Custom TLDs (your own registrar) are free forever; you only pay your registrar.
## Stackryze API
| Plan | Rate limit | Webhooks | Price |
| -------- | ------------- | -------- | --------------------- |
| **Free** | 60 req/min | — | \$0 |
| **Beta** | 600 req/min | ✅ | \$0 during beta |
| **Pro** | 6,000 req/min | ✅ | included with DNS Pro |
## Add-ons
| Add-on | Price |
| ----------------------------- | ------------------ |
| Audit log retention (forever) | \$2 / month |
| Dedicated nameserver IP | \$5 / month per IP |
| White-label dashboard | \$49 / month |
Looking for higher volume or compliance? Email [sales@stackryze.com](mailto:sales@stackryze.com) — every plan is negotiable above \$100/month.
# Products
Source: https://docs.stackryze.com/features/products
An overview of every Stackryze product — DNS, Domains, and what's coming next.
Stackryze ships a small, focused set of infrastructure products. Each one is free, open-source, and designed to do one thing well.
**Modern DNS hosting for everyone.**
Free, security-first DNS with native support for SVCB, HTTPS, and TLSA records.
Live
**A name for everyone online.**
Free subdomains for projects, portfolios, and side hustles. 100% free, open-source.
Live
**Automate every zone, everywhere.**
Standards-compliant JSON/REST API for the entire Stackryze surface.
Beta
**Coming soon.**
Affordable, transparent hosting with the same Stackryze guarantees.
Planned
## The four pillars
Every Stackryze product is built around the same four guarantees:
* **Trustworthy** — software that does what it says, every time.
* **Affordable** — fair and upfront, no surprise bills.
* **Independent** — no investors, no lock-in.
* **Open by default** — free tiers, public roadmaps, transparent decisions.
## Status
Current product status, in real time:
| Product | Status | Live URL |
| ----------------- | ------- | ---------------------------------------------------- |
| Stackryze DNS | Live | [dns.stackryze.com](https://dns.stackryze.com) |
| Stackryze Domains | Live | [domain.stackryze.com](https://domain.stackryze.com) |
| Stackryze API | Beta | [api.stackryze.com](https://api.stackryze.com) |
| Stackryze Hosting | Planned | — |
For live uptime and query metrics, see [status.stackryze.com](https://status.stackryze.com).
# Security
Source: https://docs.stackryze.com/features/security
How Stackryze keeps your zones and accounts safe — DNSSEC, 2FA, audit logs, and more.
Stackryze treats security as a default, not an upsell. Every account gets strong defaults; verification unlocks advanced controls.
## Defaults for everyone
| Control | Free | Notes |
| --------------------------- | ------- | ---------------------------------------------------- |
| TLS 1.3 on the dashboard | ✅ | HSTS preloaded |
| TOTP-based 2FA | ✅ | Recommended for every account |
| WebAuthn / passkeys | ✅ | First-class, not a beta |
| Per-zone audit log | 30 days | Forever on verified |
| IP allowlist for API tokens | — | Available with [verification](/account-verification) |
## DNSSEC
DNSSEC lets resolvers cryptographically verify that answers actually came from your zone — defeating the kind of cache poisoning that took down whole registrars in 2024.
Stackryze signs every enabled zone with **ECDSA P-256 + SHA-256** by default. NSEC3 with opt-out is enabled to prevent zone-walking.
To turn DNSSEC on for a zone you own:
1. Open the zone in the dashboard
2. Go to **Settings → DNSSEC**
3. Click **Enable**
4. Copy the `DS` record we generate
5. Paste it at your registrar
See the full walkthrough in [Enable DNSSEC](/guides/enable-dnssec).
## Compliance
* **Data residency:** EU and US regions available on request
* **Subprocessors:** [stackryze.com/legal/subprocessors](/legal/subprocessors)
* **Responsible disclosure:** [security@stackryze.com](mailto:security@stackryze.com), PGP key on the website
Found a security issue? Please email [security@stackryze.com](mailto:security@stackryze.com) — we respond within 24 hours and credit valid findings on our [hall of fame](/security/hall-of-fame).
# Add a Custom Domain Integration Guide
Source: https://docs.stackryze.com/guides/add-a-custom-domain
Wire up a domain you already own to a Stackryze-hosted service.
This guide walks you through adding a custom domain — one you bought at any registrar — to a Stackryze product (DNS, Domains, or the API).
## Prerequisites
To add a custom domain, you'll need:
* A Stackryze account (free — see [quickstart](/quickstart))
* A domain you own
* Access to your registrar's DNS settings
## Domain Setup
Open [dns.stackryze.com](https://dns.stackryze.com) and sign in.
Click **Domains → Add Domain**, then enter the apex (for example `example.com`). Stackryze creates an empty zone and provisions four globally-distributed nameservers.
Stackryze assigns four nameservers. Copy them — you'll need them in the next step.
```text theme={null}
ns1.stackryze.com
ns2.stackryze.com
ns3.stackryze.com
ns4.stackryze.com
```
At your registrar (Namecheap, Cloudflare Registrar, GoDaddy, Porkbun, etc.) set the nameservers to the four above. Save.
Propagation typically completes within 30 minutes but can take up to 24 hours.
Run:
```bash theme={null}
dig NS example.com @1.1.1.1 +short
```
You should see the four Stackryze nameservers.
## Next steps
* Add records: see [Configure DNS records](/guides/configure-dns-records)
* Turn on DNSSEC: see [Enable DNSSEC](/guides/enable-dnssec)
* Automate changes: see [API quickstart](/guides/api-quickstart)
# API Quickstart
Source: https://docs.stackryze.com/guides/api-quickstart
Authenticate, make your first call, and add a DNS record via the Stackryze API.
This guide walks you from a fresh account to your first successful API call in under three minutes. Everything below uses `curl` for clarity; the same requests work in any HTTP client.
## Prerequisites
* A Stackryze account ([sign up](https://dns.stackryze.com/signup))
* A verified account (see [Account Verification](/account-verification))
## Step 1 — Get an API token
Open **Settings → API** and click **Create token**. Copy the value — we never show it twice.
```bash theme={null}
export STACKRYZE_TOKEN="sk_live_..."
```
## Step 2 — Make your first call
List all the zones in your account:
```bash theme={null}
curl https://api.stackryze.com/v1/zones \
-H "Authorization: Bearer $STACKRYZE_TOKEN"
```
A successful response looks like:
```json theme={null}
{
"data": [
{
"id": "8c2e…",
"name": "example.com",
"status": "active",
"record_count": 12,
"created_at": "2026-06-12T08:23:11Z"
}
],
"next_cursor": null
}
```
## Step 3 — Add a record
```bash theme={null}
curl -X POST https://api.stackryze.com/v1/zones/example.com/records \
-H "Authorization: Bearer $STACKRYZE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 300
}'
```
## Step 4 — Verify the change
```bash theme={null}
curl https://api.stackryze.com/v1/zones/example.com/records \
-H "Authorization: Bearer $STACKRYZE_TOKEN" | jq '.data[].name'
```
Or run a public lookup:
```bash theme={null}
dig +short @ns1.stackryze.com example.com
```
## Next steps
* Browse the full API surface — every endpoint the dashboard exposes
* Subscribe to webhook events — see [Webhooks](/guides/webhooks)
* Generate SDKs with `openapi-generator-cli` against our [OpenAPI spec](https://api.stackryze.com/v1/openapi.json)
Hit a rate limit? Free accounts get 60 req/min, verified accounts 600 req/min, Pro 6,000 req/min.
# Introduction
Source: https://docs.stackryze.com/guides/billing-introduction
An end-to-end deconstruction of how Stackryze bills you — including the parts nobody talks about.
NEW
Welcome to **Billing Deconstructions** — a series where we pull apart every line of how Stackryze charges you. No fluff, no marketing. The actual math, the actual contracts, the actual retries. If you've ever wondered "why is this \$3 a month?", this is where we answer it.
## What you'll find here
The flat-rate economics behind every Stackryze product.
A break-even analysis of the Pro plan, including Stripe fees.
How automatic pro-rated refunds work under the hood.
How we keep the free tier free without enshittifying it.
## Philosophy
Three rules govern Stackryze billing:
1. **The free tier is the product.** If the free tier is bad, no paid tier can save us. We obsess over the free tier first.
2. **Show the math.** Every line on your invoice links to its own deconstruction page. You should never have to take our word for it.
3. **Easy to leave.** One-click cancel, automatic refunds, full data export, no "are you sure" modals. Friction is for adversarial businesses, not for us.
## Upcoming in this series
* **Why we use Stripe** (and don't roll our own)
* **Geographic pricing** — should DNS in São Paulo cost the same as DNS in Nuremberg?
* **What happens if our bank freezes our account** — the legal mechanics
Got a question we haven't answered? Email [billing@stackryze.com](mailto:billing@stackryze.com) — every deconstruction in this series started as a customer email.
# Configure DNS Records
Source: https://docs.stackryze.com/guides/configure-dns-records
The complete reference for every record type Stackryze supports.
Stackryze supports every standard DNS record type plus the modern ones (SVCB, HTTPS, TLSA) the rest of the industry is still catching up to.
## Classic records
Map a name to an IPv4 (`A`) or IPv6 (`AAAA`) address.
```dns theme={null}
example.com. 3600 IN A 192.0.2.1
api.example.com. 300 IN AAAA 2001:db8::1
```
Alias one name to another. `CNAME` is for the leftmost label; `DNAME` redirects the whole subtree.
```dns theme={null}
www.example.com. 3600 IN CNAME example.com.
```
Mail exchange. Always pair with an `SPF` (TXT) record and sign with DKIM.
```dns theme={null}
example.com. 3600 IN MX 10 mail.example.com.
```
Free-form text. Used for SPF, DKIM, DMARC, domain verification, and DNS-based ACME challenges.
```dns theme={null}
example.com. 3600 IN TXT "v=spf1 include:_spf.stackryze.com ~all"
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
```
Delegation. You almost never edit this by hand — Stackryze manages it for you.
Service locator. Used for XMPP, SIP, Minecraft, Matrix, etc.
```dns theme={null}
_minecraft._tcp.example.com. 3600 IN SRV 0 5 25565 mc.example.com.
```
Restrict which CAs may issue certificates for your domain.
```dns theme={null}
example.com. 3600 IN CAA 0 issue "letsencrypt.org"
```
## Modern records
Service bindings — the modern way to tell clients *how* to connect to your origin. Stackryze has full RFC 9460 + 9461 support including `alpn`, `port`, `ech`, `ipv4hint`, and `ipv6hint`.
```dns theme={null}
example.com. 300 IN HTTPS 1 . alpn="h2,h3" port=443 ipv4hint=192.0.2.1 ech="..."
```
DANE TLS association. Pin a CA, a leaf, or a certificate hash for a service.
```dns theme={null}
_443._tcp.example.com. 3600 IN TLSA 3 1 1 abc123...
```
Publish an OpenPGP key in DNS, so anyone can email you encrypted without a keyserver.
## Editing records
You can edit records from:
1. The dashboard — click any record to inline-edit
2. The API — see [API quickstart](/guides/api-quickstart)
3. The CLI — `stackryze records set --zone example.com ...` (preview)
# Dynamic DNS
Source: https://docs.stackryze.com/guides/dynamic-dns
Keep a hostname pointed at a changing IP — for homes, VPSes, and game servers.
Dynamic DNS (DDNS) keeps a hostname pointed at an IP address that changes. It's perfect for home servers, game servers, surveillance cameras, and anything behind residential internet.
## How it works
1. Your device periodically tells Stackryze its current public IP
2. Stackryze updates the matching `A` / `AAAA` record
3. The world keeps resolving your hostname to the live IP
## Set up dynamic DNS
Open Settings → API → **Create token** with the `ddns:write` scope.
In the zone where you want DDNS, create an `A` record with the placeholder value `0.0.0.0`. Stackryze will treat it as a DDNS target.
The DDNS endpoint is simple:
```bash theme={null}
curl https://ddns.stackryze.com/update \
-d "host=home.example.com" \
-d "token=$STACKRYZE_DDNS_TOKEN"
```
Stackryze auto-detects your public IP from the request source if you don't supply one.
## Compatibility
The Stackryze DDNS endpoint speaks the de-facto `nic/update` protocol, so the same clients that work with dyndns.org, no-ip.com, and afraid.org work with Stackryze:
| Client | URL |
| ------------ | --------------------------------------------------------- |
| **ddclient** | `protocol=dyndns2 server=ddns.stackryze.com` |
| **inadyn** | `--provider dyndns2@ddns.stackryze.com` |
| **ddns-go** | Custom provider, URL: `https://ddns.stackryze.com/update` |
## IPv6
Stackryze DDNS supports IPv6 out of the box. Send the `ipv6` parameter:
```bash theme={null}
curl https://ddns.stackryze.com/update \
-d "host=home.example.com" \
-d "ipv6=2001:db8::1" \
-d "token=$STACKRYZE_DDNS_TOKEN"
```
# Enable DNSSEC
Source: https://docs.stackryze.com/guides/enable-dnssec
Cryptographically verify your zone in three steps.
DNSSEC lets resolvers verify that answers really came from your zone — defeating the kind of cache poisoning that took down whole registrars in 2024. Stackryze supports it on every zone.
## Prerequisites
* A verified Stackryze account (see [Account Verification](/account-verification))
* A domain delegated to Stackryze nameservers
## Steps
Open the zone in the dashboard and navigate to **Settings → DNSSEC**.
Click **Enable**. Stackryze generates an ECDSA P-256 keypair, signs the zone, and computes a `DS` record.
Copy the `DS` record we generate and paste it at your registrar. Example:
```text theme={null}
example.com. 3600 IN DS 35221 2 1 ABC123...
```
The exact UI depends on your registrar — most have a "DNSSEC" or "DS records" panel.
Run:
```bash theme={null}
delv example.com +root
```
You should see `; fully validated`.
## Algorithm support
| Algorithm | Supported |
| -------------------------- | -------------- |
| ECDSA P-256 + SHA-256 (13) | ✅ default |
| ECDSA P-384 + SHA-384 (14) | ✅ |
| Ed25519 (15) | ✅ |
| Ed448 (16) | ✅ |
| RSA-SHA256 (8) | ⚠️ legacy only |
| RSA-SHA1 (5) | ❌ removed |
## NSEC3
We sign zones with NSEC3 by default to prevent zone-walking. Disable NSEC3 from **Settings → DNSSEC → NSEC mode** if you need NSEC (rare).
DNSSEC + DANE + a `CAA` record is the strongest setup possible for a public-facing zone.
# Point Domain to Stackryze
Source: https://docs.stackryze.com/guides/point-domain-to-stackryze
Three ways to point an existing domain at a Stackryze-hosted service.
There are three ways to point a domain you own at a Stackryze service. This page picks the right one for you.
## Option A — Full delegation (recommended)
Delegate the entire zone to Stackryze's nameservers. We host every record type and you manage everything from one dashboard.
* **Best for:** most users, full feature set (DNSSEC, modern records, API).
* **Trade-off:** you can no longer use your registrar's DNS UI.
* **Steps:** see [Add a custom domain](/guides/add-a-custom-domain).
## Option B — Subdomain only (CNAME)
Keep the apex at your registrar and point a single subdomain (`app.example.com`) at Stackryze via a `CNAME`.
```dns theme={null}
app.example.com. 300 IN CNAME edge.stackryze.net.
```
* **Best for:** only one service needs Stackryze, or you want to keep your registrar's DNS UI for everything else.
* **Trade-off:** DNSSEC signing has to happen at your registrar.
## Option C — A-record forwarding
Point an `A` record at one of Stackryze's anycast IPs.
```dns theme={null}
app.example.com. 300 IN A 192.0.2.10
```
* **Best for:** static frontends, single-service domains.
* **Trade-off:** you manage the IP rotation if we change infrastructure.
Pros: full feature set, DNSSEC, modern record types, audit log, API.
Cons: leaves your registrar's DNS UI.
Pros: surgical, keeps your registrar's DNS UI as source of truth.
Cons: no DNSSEC for the subdomain.
Pros: works anywhere, no registrar cooperation needed.
Cons: you own IP maintenance.
Not sure? Start with **full delegation** — it's reversible in two clicks from your registrar, and unlocks every Stackryze feature.
# Transfer Domain
Source: https://docs.stackryze.com/guides/transfer-domain
Move a domain from any registrar to Stackryze, in three steps.
This guide walks you through transferring a domain from any registrar (Namecheap, GoDaddy, Google Domains, Porkbun, etc.) into Stackryze.
Transferring a domain takes **5–7 days** end-to-end because most registries impose a cooldown. Plan accordingly.
## Before you start
Make sure:
* The domain is **at least 60 days old** (ICANN policy)
* The domain is **unlocked** at your current registrar
* You have the **transfer auth code (EPP code)** from your registrar
* The admin contact email is one you can read
## Steps
Most registrars offer WHOIS privacy. Disable it temporarily so the registry can email you.
At your registrar, find the **Transfer domain** section and copy the EPP / auth code.
Open [Stackryze Domains → Transfer](https://domain.stackryze.com/transfer), enter the domain, paste the auth code, and confirm.
The registry emails the current admin contact within minutes. Click the link to approve.
5–7 days later, the domain moves to Stackryze. We email you the moment it lands.
## What happens during the transfer
| Day | What happens |
| --- | ------------------------------------------------------ |
| 0 | Transfer initiated; auth email sent |
| 1 | Registry acknowledges; transfer is "pending" |
| 2–5 | Old registrar has a window to reject (rare) |
| 6 | Transfer completes; DNS now uses Stackryze nameservers |
| 7 | Domain fully active in your Stackryze account |
Your existing DNS keeps working the whole time — the transfer doesn't change nameservers until the very end.
# Webhooks
Source: https://docs.stackryze.com/guides/webhooks
React to zone changes, verification events, and DNSSEC rollovers in real time.
Webhooks let you subscribe to events on your Stackryze account — zone changes, DNSSEC rollovers, API tokens being created, and more.
## Step 1 — Register an endpoint
From the dashboard, go to **Settings → Webhooks** and click **Add endpoint**. Enter your URL:
```text theme={null}
https://api.yourapp.com/stackryze/webhook
```
Stackryze will send a verification `POST` and only deliver real events once it gets a `200 OK`.
## Step 2 — Pick events
Select which events you care about:
| Event | When it fires |
| ------------------------ | -------------------------------- |
| `zone.created` | A new zone is added |
| `zone.deleted` | A zone is removed |
| `record.created` | A new record is published |
| `record.updated` | A record's value or TTL changes |
| `record.deleted` | A record is removed |
| `dnssec.key_rollover` | A DNSSEC signing key is rotating |
| `verification.completed` | Your account has been verified |
| `api_token.created` | A new API token was issued |
## Step 3 — Verify signatures
Every webhook request includes:
```http theme={null}
X-Stackryze-Signature: t=1718903829,v1=abc123...
X-Stackryze-Event: record.updated
X-Stackryze-Delivery: 7c91d8...
```
Verify the signature with your endpoint's signing secret:
```js theme={null}
const crypto = require('crypto');
function verify(req) {
const [tPart, sigPart] = req.headers['x-stackryze-signature'].split(',');
const timestamp = tPart.split('=')[1];
const signature = sigPart.split('=')[1];
const expected = crypto
.createHmac('sha256', process.env.STACKRYZE_WEBHOOK_SECRET)
.update(`${timestamp}.${req.rawBody}`)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
```
## Step 4 — Respond
Always respond within **5 seconds**. Return `2xx` to acknowledge. If we don't get a `2xx`, we retry with exponential backoff up to 24 hours.
Use the `X-Stackryze-Delivery` header as an idempotency key — your endpoint will receive each event at least once.
# Introduction
Source: https://docs.stackryze.com/index
Welcome to Stackryze — affordable software for the modern web.
Stackryze is an independent software company on a mission to ship infrastructure people can actually trust — starting with domains and DNS, free for everyone while we build the next wave of products.
Whether you're a founder, freelancer, small team, or just curious, this is the place to get reliable infrastructure without enterprise pricing or vendor lock-in.
Looking for the products themselves? Stackryze **DNS** is live at [dns.stackryze.com](https://dns.stackryze.com) and Stackryze **Domains** is live at [domain.stackryze.com](https://domain.stackryze.com).
## What's inside
Get from zero to a working DNS zone in under five minutes.
Tour every product pillar — DNS, Domains, Security, Pricing.
Step-by-step recipes for the most common setup paths.
Every release, every fix, every minor improvement.
## Why Stackryze?
* **Trustworthy** — software that does what it says, every time.
* **Affordable** — fair and upfront pricing, never a surprise.
* **Independent** — no investors to please, no lock-in to push.
* **Open by default** — free tiers, public roadmaps, transparent decisions.
> A domain you can trust. A DNS zone you can debug. No surprises.
# Quickstart
Source: https://docs.stackryze.com/quickstart
Get from zero to a working DNS zone in under five minutes.
This quickstart takes you from a fresh Stackryze account to a fully delegated domain with live DNS records. Most people finish in under five minutes.
## Prerequisites
Before you begin, you must have:
* A free [Stackryze](https://dns.stackryze.com/signup) account
* A domain you own (or one of the free subdomains Stackryze Domains provides)
* Five minutes
## Get started
Sign up at [dns.stackryze.com](https://dns.stackryze.com/signup). You can use email or your existing GitHub account.
From the dashboard, click **Add Domain**, then enter the apex (for example `example.com`). Stackryze will create an empty zone and give you the nameservers to delegate to.
At your domain registrar, set the nameservers to the four Stackryze nameservers we provide:
```text theme={null}
ns1.stackryze.com
ns2.stackryze.com
ns3.stackryze.com
ns4.stackryze.com
```
Propagation typically completes within 30 minutes.
Open the zone and add the records you need — `A`, `AAAA`, `CNAME`, `MX`, `TXT`, plus modern record types like `SVCB`, `HTTPS`, and `TLSA`.
Save your records as a draft first — Stackryze validates the whole zone before publishing so syntax mistakes never go live.
Run `dig example.com @ns1.stackryze.com` (or use the built-in lookup from the dashboard) to confirm the zone is live.
## Where to go next
Wire up a domain you already own to a Stackryze-hosted service.
The complete reference for every record type Stackryze supports.
Turn on cryptographic validation for your zone.
Automate your zone changes with the Stackryze API.
Need help? Reach out to us at [support@stackryze.com](mailto:support@stackryze.com) — a real person will reply within one business day.