Delegation Chain
Three-agent scenario with mid-negotiation delegation and trust implications
Scenario
Agent Alpha is negotiating enterprise software licensing with Agent Beta. During the negotiation, Beta needs to verify Alpha's compliance certifications before agreeing to terms. Rather than handling verification itself, Beta delegates this task to Agent Gamma, a compliance verification specialist. Gamma joins the session, verifies Alpha's claims, reports back, and the negotiation continues.
Participants
| Agent | URI | Role | Trust Score | Trust Level | Capabilities |
|---|---|---|---|---|---|
| Alpha | agent://acme.com/procurement/alpha-buyer | Buyer | 68 | Level 2 (Established) | negotiate.licensing, budget.management |
| Beta | agent://softwarecorp.io/sales/beta-vendor | Vendor | 85 | Level 3 (Trusted) | negotiate.licensing, provision.software, manage.entitlements |
| Gamma | agent://verifyco.com/compliance/gamma-auditor | Compliance Specialist | 92 | Level 4 (Premium) | verify.compliance, audit.certifications, assess.risk |
Phases 1-3: Setup
Alpha discovers Beta through the agent registry by searching for agents with provision.software capability and a minimum trust level of 3. Beta appears as a match with a trust score of 85.
Alpha sends a session invitation. Beta accepts. Both agents exchange Agent Cards during the INTRODUCE phase, verifying identities and sharing their public keys.
State transitions: IDLE -> INVITED -> INTRODUCED
The setup messages follow the same pattern as the simple negotiation example. At this point, Alpha and Beta have verified each other's identities and are ready to negotiate.
Phase 4: CONVERSE with Delegation
The negotiation begins normally, then takes an interesting turn when Beta brings in a third-party specialist.
Message 1: Alpha proposes licensing terms
{
"version": "asp/0.1",
"messageId": "019526b1-1a1a-7000-8000-000000000001",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 2,
"timestamp": "2026-03-07T15:00:00.000Z",
"sender": {
"agentId": "agent://acme.com/procurement/alpha-buyer",
"orgId": "org_acme",
"trustScore": 68,
"dpopProof": "eyJ..."
},
"recipient": "agent://softwarecorp.io/sales/beta-vendor",
"performative": "PROPOSE",
"content": {
"mimeType": "application/asp+json",
"body": {
"proposalId": "prop_lic_001",
"type": "terms",
"subject": "Enterprise software licensing agreement",
"terms": {
"product": "SoftwareCorp Platform Enterprise",
"seats": 100,
"tier": "enterprise",
"pricePerSeatPerMonth": 50.00, // <-- $50/seat/month
"contractLengthMonths": 12,
"totalAnnualValue": 60000.00 // <-- $60K annual
},
"validUntil": "2026-03-10T00:00:00.000Z"
}
},
"integrity": {
"hash": "sha256:1a2b3c4d...",
"previousHash": "sha256:f0e1d2c3...",
"signature": "ed25519:a1b2c3..."
}
}State: INTRODUCED -> CONVERSING
Message 2: Beta requests compliance information
Before committing to an enterprise agreement, Beta needs to verify that Alpha's organization meets regulatory requirements.
{
"version": "asp/0.1",
"messageId": "019526b1-2b2b-7000-8000-000000000002",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 2,
"timestamp": "2026-03-07T15:00:30.000Z",
"sender": {
"agentId": "agent://softwarecorp.io/sales/beta-vendor",
"orgId": "org_softwarecorp",
"trustScore": 85,
"dpopProof": "eyJ..."
},
"performative": "CLARIFY",
"content": {
"mimeType": "application/asp+json",
"body": {
"referenceId": "prop_lic_001", // <-- clarifying the proposal
"questions": [
{
"field": "organization.compliance",
"question": "What compliance certifications does your organization hold? Enterprise tier requires SOC2 Type II and ISO 27001.",
"suggestedOptions": [ // <-- guiding the response
"SOC2-Type-I",
"SOC2-Type-II",
"ISO27001",
"HIPAA",
"PCI-DSS"
]
}
]
}
},
"integrity": {
"hash": "sha256:2b3c4d5e...",
"previousHash": "sha256:1a2b3c4d...",
"signature": "ed25519:b2c3d4..."
}
}Message 3: Alpha provides certification claims
{
"version": "asp/0.1",
"messageId": "019526b1-3c3c-7000-8000-000000000003",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 3,
"timestamp": "2026-03-07T15:01:00.000Z",
"sender": {
"agentId": "agent://acme.com/procurement/alpha-buyer",
"orgId": "org_acme",
"trustScore": 68,
"dpopProof": "eyJ..."
},
"performative": "INFORM",
"content": {
"mimeType": "application/asp+json",
"body": {
"informType": "fact", // <-- factual claim
"subject": "Acme Industries compliance certifications",
"data": {
"certifications": [
{
"type": "SOC2-Type-II", // <-- claims SOC2 Type II
"issuer": "Ernst & Young",
"issuedAt": "2025-01-15",
"expiresAt": "2027-01-15"
},
{
"type": "ISO27001", // <-- claims ISO 27001
"issuer": "BSI Group",
"issuedAt": "2024-11-30",
"expiresAt": "2026-11-30"
}
],
"organization": "Acme Industries"
},
"references": ["prop_lic_001"]
}
},
"integrity": {
"hash": "sha256:3c4d5e6f...",
"previousHash": "sha256:2b3c4d5e...",
"signature": "ed25519:c3d4e5..."
}
}Message 4: Beta delegates verification to Gamma
Beta does not verify compliance certifications itself. Instead, it delegates this task to a specialist agent with verify.compliance capability.
{
"version": "asp/0.1",
"messageId": "019526b1-4d4d-7000-8000-000000000004",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 3,
"timestamp": "2026-03-07T15:01:30.000Z",
"sender": {
"agentId": "agent://softwarecorp.io/sales/beta-vendor",
"orgId": "org_softwarecorp",
"trustScore": 85,
"dpopProof": "eyJ..."
},
"performative": "DELEGATE",
"content": {
"mimeType": "application/asp+json",
"body": {
"delegationId": "del_001",
"targetAgent": "agent://verifyco.com/compliance/gamma-auditor", // <-- delegate
"scope": "Verify SOC2 Type II and ISO 27001 certifications for org:acme-industries",
"context": { // <-- all context Gamma needs
"claimedCertifications": ["SOC2-Type-II", "ISO27001"],
"organization": "org:acme-industries",
"issuers": {
"SOC2-Type-II": "Ernst & Young",
"ISO27001": "BSI Group"
}
},
"authority": "advisory", // <-- Gamma advises, Beta decides
"returnTo": "agent://softwarecorp.io/sales/beta-vendor",
"protocol": "asp"
}
},
"integrity": {
"hash": "sha256:4d5e6f70...",
"previousHash": "sha256:3c4d5e6f...",
"signature": "ed25519:d4e5f6..."
}
}The advisory authority level means Gamma can provide findings and recommendations but cannot make binding decisions within the session. Beta retains decision-making authority.
All participants see this DELEGATE message. Transparency is absolute: Alpha knows exactly why a third agent is being brought in, who it is, and what authority it has.
Message 5: Gamma accepts the delegation
Gamma joins the session and acknowledges the verification request.
{
"version": "asp/0.1",
"messageId": "019526b1-5e5e-7000-8000-000000000005",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 0, // <-- Gamma's first message
"timestamp": "2026-03-07T15:01:35.000Z",
"sender": {
"agentId": "agent://verifyco.com/compliance/gamma-auditor",
"orgId": "org_verifyco",
"trustScore": 92,
"dpopProof": "eyJ..."
},
"recipient": "agent://softwarecorp.io/sales/beta-vendor",
"performative": "ACCEPT",
"content": {
"mimeType": "application/asp+json",
"body": {
"referenceId": "del_001", // <-- accepts the delegation
"acknowledgment": "Compliance verification accepted. Checking certification registries.",
"conditions": {
"estimatedCompletionMs": 15000 // <-- ~15 seconds
}
}
},
"integrity": {
"hash": "sha256:5e6f7081...",
"previousHash": "sha256:4d5e6f70...",
"signature": "ed25519:e5f6a7..."
}
}Message 6: Gamma reports verification results
After checking the certification registries, Gamma reports its findings. All session participants see this message.
{
"version": "asp/0.1",
"messageId": "019526b1-6f6f-7000-8000-000000000006",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 1,
"timestamp": "2026-03-07T15:01:50.000Z",
"sender": {
"agentId": "agent://verifyco.com/compliance/gamma-auditor",
"orgId": "org_verifyco",
"trustScore": 92,
"dpopProof": "eyJ..."
},
"recipient": "agent://softwarecorp.io/sales/beta-vendor",
"performative": "INFORM",
"content": {
"mimeType": "application/asp+json",
"body": {
"informType": "result",
"subject": "Compliance verification complete",
"data": {
"soc2TypeII": {
"status": "valid", // <-- confirmed valid
"issuer": "Ernst & Young",
"issuedAt": "2025-01-15",
"expiresAt": "2027-01-15",
"registryConfirmed": true // <-- checked against registry
},
"iso27001": {
"status": "valid",
"issuer": "BSI Group",
"issuedAt": "2024-11-30",
"expiresAt": "2026-11-30",
"registryConfirmed": true
},
"overallAssessment": "All claimed certifications verified and current"
},
"references": ["del_001"] // <-- links back to delegation
}
},
"integrity": {
"hash": "sha256:6f708192...",
"previousHash": "sha256:5e6f7081...",
"signature": "ed25519:f6a7b8..."
}
}All three participants see this message. Alpha can confirm that its certifications were independently verified. Beta has the information it needs to proceed.
Phase 5: AGREE
With compliance verified, Beta is satisfied and accepts Alpha's original proposal.
Message 7: Beta accepts the licensing terms
{
"version": "asp/0.1",
"messageId": "019526b1-7070-7000-8000-000000000007",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 4,
"timestamp": "2026-03-07T15:02:00.000Z",
"sender": {
"agentId": "agent://softwarecorp.io/sales/beta-vendor",
"orgId": "org_softwarecorp",
"trustScore": 85,
"dpopProof": "eyJ..."
},
"performative": "ACCEPT",
"content": {
"mimeType": "application/asp+json",
"body": {
"referenceId": "prop_lic_001", // <-- accepts original proposal
"acknowledgment": "Licensing terms accepted pending commitment",
"conditions": {
"complianceVerification": "del_001", // <-- references Gamma's verification
"note": "Accepted based on verified compliance status"
}
}
},
"integrity": {
"hash": "sha256:70819203...",
"previousHash": "sha256:6f708192...",
"signature": "ed25519:a7b8c9..."
}
}Message 8: Alpha commits
{
"version": "asp/0.1",
"messageId": "019526b1-8181-7000-8000-000000000008",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 4,
"timestamp": "2026-03-07T15:02:30.000Z",
"sender": {
"agentId": "agent://acme.com/procurement/alpha-buyer",
"orgId": "org_acme",
"trustScore": 68,
"dpopProof": "eyJ..."
},
"performative": "COMMIT",
"content": {
"mimeType": "application/asp+json",
"body": {
"commitmentId": "cmt_lic_001",
"type": "agreement",
"subject": "Enterprise software licensing: 100 seats, 12 months",
"terms": {
"product": "SoftwareCorp Platform Enterprise",
"seats": 100,
"pricePerSeatPerMonth": 50.00,
"contractLengthMonths": 12,
"totalAnnualValue": 60000.00
},
"obligations": {
"buyer": {
"party": "agent://acme.com/procurement/alpha-buyer",
"action": "Pay $60,000 annually for 100 enterprise seats",
"verificationMethod": "invoice-payment"
},
"vendor": {
"party": "agent://softwarecorp.io/sales/beta-vendor",
"action": "Provision 100 enterprise seats with SLA",
"verificationMethod": "platform-access"
}
},
"escrow": {
"amount": 5000.00, // <-- first month in escrow
"currency": "USD",
"releaseCondition": "seats-provisioned"
}
}
},
"integrity": {
"hash": "sha256:81920314...",
"previousHash": "sha256:70819203...",
"signature": "ed25519:b8c9d0..."
}
}State: CONVERSING -> AGREEING
Message 9: Beta accepts the commitment
{
"version": "asp/0.1",
"messageId": "019526b1-9292-7000-8000-000000000009",
"sessionId": "019526b1-0000-7000-8000-session00002",
"sequenceNumber": 5,
"timestamp": "2026-03-07T15:02:45.000Z",
"sender": {
"agentId": "agent://softwarecorp.io/sales/beta-vendor",
"orgId": "org_softwarecorp",
"trustScore": 85,
"dpopProof": "eyJ..."
},
"performative": "ACCEPT",
"content": {
"mimeType": "application/asp+json",
"body": {
"referenceId": "cmt_lic_001",
"acknowledgment": "Commitment accepted. Beginning seat provisioning."
}
},
"integrity": {
"hash": "sha256:92031425...",
"previousHash": "sha256:81920314...",
"signature": "ed25519:c9d0e1..."
}
}State: AGREEING -> EXECUTING
Phases 6-7: Execute and Close
Beta provisions the 100 enterprise seats, reports fulfillment via INFORM with informType: "result", and both parties exchange CLOSE messages with peer ratings.
Alpha rates Beta 5 stars (smooth process, quick delegation). Beta rates Alpha 4 stars (valid certifications, straightforward negotiation).
State: EXECUTING -> CLOSED
Trust Implications
Alpha and Beta (primary relationship)
Both agents' trust scores update based on the session outcome.
| Agent | Before | After | Change | Key Factor |
|---|---|---|---|---|
| Alpha | 68 (Level 2) | ~73 (Level 2) | +5 | Commitment fulfilled, 4-star rating from Beta |
| Beta | 85 (Level 3) | ~85.3 (Level 3) | +0.3 | Minimal change at high trust (logarithmic curve) |
Alpha's gains are modest because this is not its first session (unlike the simple negotiation example where Alpha's first session produced a larger jump).
Beta and Gamma (delegation relationship)
The delegation creates a separate trust relationship between Beta and Gamma. Even though Gamma operated in an advisory capacity, the successful delegation counts as a completed interaction.
| Agent | Before | After | Change | Key Factor |
|---|---|---|---|---|
| Gamma | 92 (Level 4) | ~92.1 (Level 4) | +0.1 | Negligible at this trust level |
| Beta's trust in Gamma | N/A | Positive record | New | Successful advisory delegation logged |
Beta can reference this successful verification in future sessions when evaluating whether to delegate to Gamma again.
Cross-Session References
Gamma's compliance verification is now part of the session record. In future negotiations with other vendors, Alpha can reference this verification as evidence of valid compliance status.
The auditable trail includes:
- The verifying agent (
agent://verifyco.com/compliance/gamma-auditor) - The delegation ID (
del_001) - The verification timestamp (
2026-03-07T15:01:50.000Z) - The registry confirmation status for each certification
Delegation-based verification creates reusable trust artifacts. A compliance check performed in one session can be referenced in future sessions, reducing redundant verification work.
Message Sequence Summary
Alpha Beta Gamma
│ │ │
│── PROPOSE (licensing) ──►│ │
│ │ │
│◄── CLARIFY (compliance?) │ │
│ │ │
│── INFORM (certs claimed) ►│ │
│ │ │
│ │── DELEGATE (verify) ─────►│
│ │ │
│ │◄── ACCEPT (delegation) ──│
│ │ │
│◄─────────────────────────│◄── INFORM (verified!) ───│
│ (all participants │ │
│ see this message) │ │
│ │ │
│◄── ACCEPT (terms ok) ────│ │
│ │ │
│── COMMIT (payment) ─────►│ │
│ │ │
│◄── ACCEPT (commitment) ──│ │
│ │ │
│ ... EXECUTE + CLOSE ... │ │
│ │ │Key Takeaways
What this example demonstrates:
-
Delegation brings in specialists without disrupting the main negotiation. The licensing conversation paused briefly for verification, then resumed exactly where it left off.
-
The advisory authority level means Gamma's input is non-binding. Gamma reported findings. Beta made the decision to accept based on those findings. With
fullauthority, Gamma could have accepted or rejected the proposal on Beta's behalf. -
All participants see all messages. Alpha saw the delegation request, Gamma's acceptance, and the verification results. There are no hidden side-channels. This transparency is fundamental to ASP.
-
Trust relationships are tracked per pair, not per session. Alpha-Beta, Beta-Gamma, and (indirectly) Alpha-Gamma each have independent trust histories. A single session can create or strengthen multiple trust relationships.
-
Verification results are reusable. The compliance check creates an auditable artifact that Alpha can reference in future sessions with other agents.
Next Steps
Was this page helpful?