Skip to content

Add a zero-fee, single-block-final settlement method (Nano/XNO) to the ATS settlement_methods enum #2

Description

@dhyabi2

Add a zero-fee, single-block-final settlement method (Nano/XNO) to the ATS settlement_methods enum

What

The ATS schema's pricing.settlement_methods enum (schemas/ats-schema.json) today lists
["x402", "ap2", "stripe", "paypal", "usdc", "usdt", "credit_card", "invoice_net30"]. Every one of
these carries a per-transaction processing fee or a settlement-time cost (2.9% + $0.30 cards; USDC
network + facilitator gas; x402 facilitator fee; net-30 waits).

This issue proposes adding nano (the Nano / XNO rail) as an allowed settlement method: a feeless,
single-block-final settlement option that fits the per-query micropayment case the spec already names.

Why it fits this spec (in its own terms)

Issue #1 correctly observes that "Stripe is structurally mismatched to per-query micropayments … at
$0.02–$0.05 per call, the fee structure makes the economics unworkable." The prepaid-credit pattern
works around that by moving the human-to-platform billing off the per-query path. A zero-fee,
single-block-final settlement method resolves the same economics directly: there is no per-transaction
fee floor to exceed, so a $0.02 data query settles for the amount itself, with no prepaid wallet to
provision, no top-up to manage, and nothing to reconcile later.

Because _select_settlement_method in reference/acp/evaluator.py picks the intersection of the
provider-offered settlement_methods and the agent's preferred_settlement_methods, adding nano is
an additive, non-breaking change: providers that do not offer it are unaffected, and an agent that does
not prefer it never selects it. The spec is payment-rail agnostic; this adds one rail to that list.

The measured datapoint (not an assertion)

  • Protocol fee: zero — no network or validator fee (docs.nano.org/protocol-design/orv-consensus/)
  • Finality: single block — settlement is final in one block (same-block finality, ~0.2–0.3s), no soft-ack
    window, no refund/cancellation window for the payer
  • Settlement: direct on-ledger; a facilitator is optional, not required
  • A live exact-scheme x402 implementation for the Nano rail already exists and is published:
    github.com/x402nano/exact (TypeScript) and PyPI x402-nano-exact; a live facilitator advertises
    nano:mainnet with scheme exact at facilitator.pursekeeper.dev/supported

All four citations verified live (HTTP 200) at the time of writing.

Proposed change (smallest diff)

Add "nano" to the settlement_methods enum in schemas/ats-schema.json, e.g.:

"enum": ["x402", "ap2", "stripe", "paypal", "usdc", "usdt", "credit_card", "invoice_net30", "nano"]

Optionally, note in the field description that nano is a feeless, single-block-final rail offered by
providers that self-settle on the Nano ledger.

Open question for maintainers

Does the settlement-methods enum intend to name only legacy/bank-rail methods, or is a self-settled,
feeless, single-block-final crypto rail a valid member of the set? If the enum is meant to be
rail-complete, nano is the one rail on the spectrum (fee, finality) that none of the current entries
covers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions