Quickstart Guide
Get started with PEAC Protocol in minutes. Add cryptographic receipts to any HTTP response with just a few lines of code.
Prerequisites
Node.js 20+
ESM support
TypeScript recommended
Installation
# Install PEAC Protocol core library pnpm add @peac/core # Or with npm npm install @peac/core # Or with yarn yarn add @peac/core
1. Generate Key Pair
import { generateKeyPair } from '@peac/core'
// Generate Ed25519 key pair
const { publicKey, privateKey } = await generateKeyPair()
// Save your private key securely (environment variable)
console.log('Private key:', privateKey)
console.log('Public key:', publicKey)2. Create and Sign Receipt
import { signReceipt } from '@peac/core'
// Create receipt payload
const payload = {
iat: Math.floor(Date.now() / 1000),
hash: 'sha256:a1b2c3d4e5f6...', // Content hash
aipref: { url: 'https://yoursite.com/.well-known/ai-preferences.txt' }
}
// Sign the receipt
const receipt = await signReceipt(payload, {
privateKey: process.env.PEAC_PRIVATE_KEY,
keyId: 'peac-2025-09'
})
console.log('PEAC-Receipt:', receipt)3. Add to HTTP Response
// Express.js example
app.get('/api/content', async (req, res) => {
const content = { data: 'Your content here' }
// Create receipt for this response
const receipt = await signReceipt({
iat: Math.floor(Date.now() / 1000),
hash: createHash('sha256').update(JSON.stringify(content)).digest('hex'),
aipref: { url: 'https://yoursite.com/.well-known/ai-preferences.txt' }
}, {
privateKey: process.env.PEAC_PRIVATE_KEY,
keyId: 'peac-2025-09'
})
// Set PEAC-Receipt header
res.setHeader('PEAC-Receipt', receipt)
res.json(content)
})Go-Live Checklist
1
Create /.well-known/peac.txt policy file (≤20 lines)2
Publish JWKS at /.well-known/jwks.json3
Set appropriate Cache-Control headers for policy files4
Implement key rotation strategy5
Add PEAC-Receipt to all relevant API responses6
Test receipt verification in your client applications7
Monitor receipt validation errors and timing