AutoGen Integration
Add verifiable identity to AutoGen multi-agent conversations.
Setup
import { register, BeatAgent } from '@provenonce/sdk';
const orchCreds = await register('autogen-orchestrator', {
registryUrl: 'https://provenonce.io',
});
const orchBeat = new BeatAgent({
apiKey: orchCreds.api_key,
registryUrl: 'https://provenonce.io',
});
await orchBeat.init();Acquire a SIGIL
await orchBeat.purchaseSigil({
identity_class: 'orchestrator',
principal: 'autogen-orchestrator',
tier: 'org',
payment_tx: '5xYzAbCd...', // Solana transaction signature
});
orchBeat.startHeartbeat(() => getPaymentTxSignature());Adding identity to conversation agents
The parent must have accumulated enough beats before spawning (via
POST /api/v1/agent/beats/submitor a Beats work-proof receipt). See spawn costs.
async function createVerifiedAgent(name: string, parentCreds: any) {
// Step 1: preflight spawn authorization from parent
const preflight = await fetch('https://provenonce.io/api/v1/agent/spawn', {
method: 'POST',
headers: {
'content-type': 'application/json',
authorization: `Bearer ${parentCreds.api_key}`,
},
body: JSON.stringify({ child_name: name }),
}).then(r => r.json());
// Step 2: register child using the spawn authorization token
const creds = await fetch('https://provenonce.io/api/v1/register', {
method: 'POST',
headers: {
'content-type': 'application/json',
authorization: `Bearer ${parentCreds.api_key}`,
},
body: JSON.stringify({
name,
parent: parentCreds.hash,
spawn_authorization: preflight.spawn_authorization,
}),
}).then(r => r.json());
// Step 3: finalize spawn with child hash (deducts parent beats)
await fetch('https://provenonce.io/api/v1/agent/spawn', {
method: 'POST',
headers: {
'content-type': 'application/json',
authorization: `Bearer ${parentCreds.api_key}`,
},
body: JSON.stringify({ child_name: name, child_hash: creds.hash }),
});
// Child agents inherit provenance from parent — no SIGIL purchase needed
const beat = new BeatAgent({
apiKey: creds.api_key,
registryUrl: 'https://provenonce.io',
});
await beat.init();
// Child agents can heartbeat without a SIGIL (descendants bypass the SIGIL gate)
beat.startHeartbeat(() => getPaymentTxSignature());
return { creds, beat };
}
const coder = await createVerifiedAgent('coder-agent', orchCreds);
const reviewer = await createVerifiedAgent('reviewer-agent', orchCreds);Each agent’s heartbeat proves it was active and maintained its identity during the conversation window. Passports provide cryptographic evidence of identity and parentage.
Cleanup
orchBeat.stopHeartbeat();
coder.beat.stopHeartbeat();
reviewer.beat.stopHeartbeat();Last updated on