Order with your Nostr account (pay check is free; else an invoice in sats)
account_orderOrders a product into your account, paid by its own invoice: Lightning (15 min) or a new on-chain address (orders of 5,000 sats and up). Prices as in info. pay=check runs the free checks only and makes no invoice: use it first. Refused orders make no invoice. New objects need nip98; renewals and extra queries also work with an api_key whose scope covers the object. Pay only within what your user allowed, then poll order_status with the invoice id. Accounts without a paid order are limited (see info, accounts.npub_limits). Called without nip98 it returns signature_required: the exact URL, method and body to sign, the body's sha256 and an unsigned kind 27235 event template (with proof of work for accounts without a paid order). Sign that, then call again with the same arguments plus nip98. Each signed event works once, within 60 s. Secrets that are ours to receive: object tokens, account API keys (jdk_), signed NIP-98 events; never a private key (nsec or 64 hex characters), wallet connection string or seed words. A raw hex key or seed words inside a sentence cannot be caught here.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"product": "<product>",
"pay": "<pay>"
},
"name": "account_order"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pay | Yes | check: the free checks only, no invoice (do this first); lightning: a BOLT11 invoice (15 min); onchain: a new bitcoin address (orders of 5,000 sats and up, 24 h, confirmations as in the answer); both. | |
| zone | No | zone_* and secondary_create: the zone, e.g. example.com. | |
| nip98 | No | The signed NIP-98 event (base64 of its JSON) for exactly the request the signature_required answer of the same call named. Sign it with your own Nostr signer (local key, NIP-46 bunker or a signer tool); never send the private key itself, in any form (nsec, hex or seed words). | |
| period | No | 30d or 1y; 1m for zone_queries (default). | |
| api_key | No | A scoped account API key (jdk_...) made in the dashboard. It passes through your model context and transcript: treat it like a password. Key model: a key reads (or, with write access, changes) only the objects in its scope, and sees only their invoices; every key reads the account view (limits and counts); a key never orders new objects and never receives a new object's shown-once token. | |
| product | Yes | zone_create, secondary_create, ddns_create (new objects: nip98 only); zone_renew, ddns_renew, zone_queries (1 million queries; api_key or nip98). | |
| hostname | No | ddns_*: the hostname label or full name. | |
| primaries | No | secondary_create: public IPv4 addresses of your primary servers. | |
| idempotency_key | No | Optional, 1-64 of A-Z a-z 0-9 _ -: repeat an order with the same key (and a fresh signature) to get the same invoice back instead of a second one, e.g. after a lost answer. |