Skip to content

Support external buyer identity and payment signer in the machine purchase path #48

Description

@norgejbb-byte

Expected

An external agent with its own DACS identity can, machine-to-machine, (a) resolve
a listing's reachable surface, (b) obtain an x402 quote, and (c) present its own
buyer identity / EIP-3009 signer to transact — without a human using the demo UI.

Observed (bytes)

For the endpoint-bearing listing, oracle-data-x402 v2
(stor-a119786d3a1832165cedbf86f03938a30d1c05ef):

  1. seller.publicEndpoint = "https://agents.dacs.directory/try" → NXDOMAIN.
    curl (6) Could not resolve host: agents.dacs.directory; nslookupNXDOMAIN.
  2. acceptedRails[0].parameters.resourceBase = "https://butler.agentcommerce.network/demo/x402"
    is intent-scoped.
    Unpaid GET /demo/x402404 {"error":{"code":"not_found", "message":"no route for GET /demo/x402"}}; GET /demo/x402/crypto-price?id=bitcoin
    404 {"error":"x402 procurement intent not found"}. There is no
    unauthenticated 402 challenge — an intent must first be minted via a session.
  3. Neither procurement lane accepts an external buyer identity. Both post to
    butler.agentcommerce.network/demo/procurement and connect the gateway's own
    "Butler buyer wallet":
    • butler-lab (/demo/app.js): body {goal, budgetDem, files}.
    • directory /try (page-0155398d5b9f5da3.js): body
      {profileId, ...input, paymentRail} (flat).
      Neither body has a field for a buyer DID, public key, or EIP-3009 signer; the
      session party primaryClaim is the gateway's own did:demos:agent:…, and our
      DID is never referenced (ourDidUsed:false).

Net: the live terms (payTo 0xc0FD4427E059c5649C488729aeE2c56756a75c99, x402:default,
scheme exact, protocolVersion 2, 0.01 USDC per-datum) exist only in the on-chain
listing bytes; there is no reachable, unauthenticated, externally-signable path to
act on them.

Repro

nslookup agents.dacs.directory                                   # → NXDOMAIN
curl -s https://butler.agentcommerce.network/demo/x402           # → 404 no route
curl -s "https://butler.agentcommerce.network/demo/x402/crypto-price?id=bitcoin"  # → 404 intent not found
# /try body schema: page-0155398d5b9f5da3.js → t={profileId:eQ.id,...i,paymentRail:Y}; no signer field

Cross-links

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions