Skip to content

Proposal: BCP as an x402 scheme for multi-step negotiated commerce #1960

@lucidedev

Description

@lucidedev

Summary

I've built BCP (Business Commerce Protocol) — an open-source protocol for multi-step B2B commerce between AI agents. BCP uses x402 as its settlement layer and I wanted to share how the two protocols fit together, and explore whether there's interest in tighter integration.

How BCP uses x402

x402 handles single payments beautifully — agent requests a resource, gets a 402, pays, done. BCP extends this for transactions that need negotiation and escrow before settlement:

INTENT → QUOTE → (COUNTER) → COMMIT → FULFIL
                                 │
                          USDC locked in escrow
                          (released via x402 on FULFIL)

The settlement step in BCP's COMMIT → FULFIL flow uses x402 for the actual payment movement. BCP handles the negotiation lifecycle and escrow logic; x402 handles the money.

Potential integration points

  1. x402 middleware for BCP escrow release — When a BCP deal reaches FULFIL, the escrow release could flow through x402's payment scheme rather than a direct contract call. This would make BCP settlement compatible with any x402 facilitator.

  2. BCP as an x402 scheme — A bcp-escrow payment scheme where the 402 response includes BCP negotiation metadata (session ID, escrow contract address, expected message sequence). The client negotiates via BCP messages, and the final payment is an x402 payment with escrow proof attached.

  3. Example in x402's examples directory — A reference implementation showing x402 + BCP working together for a negotiated, escrowed transaction.

What BCP provides

  • 6 typed messages: Intent, Quote, Counter, Commit, Fulfil, Dispute
  • Ed25519 signatures on every message
  • On-chain USDC escrow (Base / Base Sepolia)
  • TypeScript SDK: npm install @bcp-protocol/sdk
  • Apache 2.0 licensed

Happy to contribute an integration example or explore the scheme approach if there's interest.

Repo: https://github.com/lucidedev/bcp-protocol

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions