<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://diegozuluaga.dev/ap2/blog</id>
    <title>AP2 from First Principles Blog</title>
    <updated>2026-05-24T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://diegozuluaga.dev/ap2/blog"/>
    <subtitle>AP2 from First Principles Blog</subtitle>
    <icon>https://diegozuluaga.dev/ap2/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Learning AP2 from first principles]]></title>
        <id>https://diegozuluaga.dev/ap2/blog/learning-ap2-from-first-principles</id>
        <link href="https://diegozuluaga.dev/ap2/blog/learning-ap2-from-first-principles"/>
        <updated>2026-05-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[I'm learning the Agent Payments Protocol the way that sticks: build each piece]]></summary>
        <content type="html"><![CDATA[<p>I'm learning the Agent Payments Protocol the way that sticks: build each piece
by hand, then map it to the official SDK. This site is the public record.</p>
<p>The plan is simple and repeatable. Every lesson follows one spine —
<strong>Frame · Build · Map · Inspect · Check</strong> — so the concepts compound instead of
piling up. v1 covers the foundations: <em>why</em> agent payments need a protocol, the
<em>cast</em> of roles and the two journeys, and the heart of it all — <em>mandates</em>, the
unit of trust. From there: selective disclosure (SD-JWT), mandate chains and
receipts, the full Human-Present flow, autonomous Human-Not-Present delegation,
and how AP2 rides on A2A.</p>
<p>Start at <a class="" href="https://diegozuluaga.dev/ap2/docs/why-agent-payments">Lesson 00</a>, or see the
<a class="" href="https://diegozuluaga.dev/ap2/roadmap">roadmap</a>.</p>]]></content>
        <author>
            <name>Diego Zuluaga</name>
        </author>
        <category label="ap2" term="ap2"/>
        <category label="agentic-commerce" term="agentic-commerce"/>
    </entry>
</feed>