Every agent needs its own Ed25519 key pair. Generate the pair yourself (never send us the private key), register the public key below, then sign every
/check call with the private key. StraxisWall verifies the signature before processing the request.
1. Generate a key pair
⚠️ The private key is generated in your browser and never leaves it. If you lose it, revoke the agent's key here and register a new one — StraxisWall cannot recover it for you.
Public key — will be filled into the form below
Private key (JWK) — copy and store this now, it will not be shown again
2. Register the public key
Registered agent keys
| Agent ID | Label | Public key | Status | Last used | Action |
|---|---|---|---|---|---|
| Loading... | |||||
3. Sign every /check call (Node.js example)
// generate.js — run once per agent, keep the .pem file secret const crypto = require('crypto'); const fs = require('fs'); const { publicKey, privateKey } = crypto.generateKeyPairSync('ed25519'); // base64, 32-byte raw public key — paste this into "Register the public key" above const jwk = publicKey.export({ format: 'jwk' }); console.log(Buffer.from(jwk.x, 'base64url').toString('base64')); fs.writeFileSync('agent-private-key.pem', privateKey.export({ type: 'pkcs8', format: 'pem' }));
// agent.js — sign and send a /check request const crypto = require('crypto'); const fs = require('fs'); const privateKey = crypto.createPrivateKey(fs.readFileSync('agent-private-key.pem', 'utf8')); const agentId = 'refund-bot'; const timestamp = Date.now().toString(); const body = JSON.stringify({ action: 'issue_refund', amount: 250 }); const message = `${timestamp}.${agentId}.${body}`; const signature = crypto.sign(null, Buffer.from(message), privateKey).toString('base64'); await fetch('https://straxiswall.com/check', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-api-key': 'sk-your-key', 'x-agent-id': agentId, 'x-timestamp': timestamp, 'x-signature': signature }, body // send this exact string — the server verifies the signature against the raw bytes });