Agent Identity
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
});