Skip to main content

Keys endpoint

Single-call key generation

POST /api/v1/keys/generate returns spending and viewing keypairs plus a meta-address.

Use output in next steps

Feed meta_address into the stealth create endpoint.

Endpoint

POST /api/v1/keys/generate

No request body is required.

Typical flow

01

Call the endpoint

Trigger key generation once per new recipient identity.

02

Store secrets securely

Persist spending_sk and viewing_sk in encrypted storage only.

03

Publish meta-address

Use meta_address with IPFS + ENS/SuiNS registration.

Example calls

curl -s -X POST https://backend.specterpq.com/api/v1/keys/generate | jq .

Response schema

spending_pubstringrequired

Hex-encoded spending public key (33-byte compressed secp256k1).

spending_skstringrequired

Hex-encoded spending secret key (sensitive).

viewing_pkstringrequired

Hex-encoded viewing public key.

viewing_skstringrequired

Hex-encoded viewing secret key (sensitive).

meta_addressstringrequired

Hex-encoded SPECTER meta-address combining spending + viewing public keys (1218 bytes).

protocol_versionintegerrequired

SPECTER protocol version encoded in the meta-address (currently 2).

Warning

Never log or commit spending_sk or viewing_sk.

How `view_tag` is computed here

It is not computed here. Every announcement gets its own per-payment view_tag from the ML-KEM shared secret at stealth creation time.

What this endpoint does not do

It does not persist key material to disk and does not register ENS/SuiNS records.