<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 4.0.6) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3339 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
<!ENTITY RFC4648 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8259 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
<!ENTITY RFC8785 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
<!ENTITY RFC9457 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9457.xml">
]>


<rfc ipr="noModificationTrust200902" docName="draft-nearintents-charge-01" category="info" submissionType="independent">
  <front>
    <title abbrev="NEAR Intents Charge">NEAR Intents Charge Intent for HTTP Payment Authentication</title>

    <author initials="I." surname="Alustiza" fullname="Iker Alustiza">
      <organization>Near One</organization>
      <address>
        <email>iker.alustiza@nearone.org</email>
      </address>
    </author>

    <date year="2026" month="July" day="29"/>

    
    
    

    <abstract>


<?line 71?>

<t>This document defines the "charge" intent for the "nearintents" payment
method in the Payment HTTP Authentication Scheme
<xref target="I-D.httpauth-payment"/>. It specifies how clients and servers exchange
one-time, cross-chain payments settled through the NEAR Intents 1Click
Swap API <xref target="ONECLICK-API"/>, in which a client pays a specified amount of
a source asset on any supported origin chain and the resource server
(merchant) receives an exact amount of a destination asset on any
supported destination chain, with the NEAR Intents solver network
executing the cross-chain swap in between.</t>

<t>One credential type is supported: <spanx style="verb">type="hash"</spanx> (push mode), where the
client broadcasts the deposit transaction to the origin chain itself and
presents the confirmed transaction hash for server verification. Because
the 1Click backend issues a unique, single-use deposit address for each
challenge, the recipient address is itself challenge-specific, which
strengthens the challenge binding relative to generic hash-based
credentials.</t>



    </abstract>



  </front>

  <middle>


<?line 91?>

<section anchor="introduction"><name>Introduction</name>

<t>HTTP Payment Authentication <xref target="I-D.httpauth-payment"/> defines a
challenge-response mechanism that gates access to resources behind
payments. This document registers the "charge" intent for the
"nearintents" payment method.</t>

<t>NEAR Intents is an intent-based settlement system in which a network of
competing solvers fulfills user-expressed swap intents. The 1Click Swap
API <xref target="ONECLICK-API"/> is a hosted interface to this system: a caller
requests a quote for converting a source asset into a destination asset,
receives a unique deposit address on the origin chain, sends the source
asset to that address, and the solver network delivers the destination
asset to a specified recipient — potentially on a different chain. A
list of supported origin and destination chains is maintained at
<xref target="NEAR-INTENTS-CHAINS"/>.</t>

<t>This document specifies how to use that settlement system to fulfill the
"charge" intent: a one-time payment of a specified amount, as defined in
<xref target="I-D.payment-intent-charge"/>. The server may settle the payment any
time before the challenge <spanx style="verb">expires</spanx> auth-param timestamp.</t>

<t>This specification inherits the shared request semantics of the "charge"
intent from <xref target="I-D.payment-intent-charge"/>. It defines only the NEAR
Intents-specific <spanx style="verb">methodDetails</spanx>, <spanx style="verb">payload</spanx>, verification, and
settlement procedures for the "nearintents" payment method.</t>

<section anchor="push-mode"><name>Push Mode</name>

<t>This method uses a single settlement flow, called "push mode", which
uses <spanx style="verb">type="hash"</spanx> credentials. The client "pushes" the deposit
transaction to the origin chain itself and presents the confirmed
transaction hash; the server verifies the deposit and then drives the
cross-chain swap to completion.</t>

<figure><artwork><![CDATA[
Client                  Server            Origin Chain      1Click / Solvers
  |                        |                    |                  |
  | (1) GET /resource      |                    |                  |
  |----------------------->|                    |                  |
  |                        | (2) quote          |                  |
  |                        |-------------------------------------->|
  |                        |   depositAddress, AmountIn, ...     |
  |                        |<--------------------------------------|
  | (3) 402 Payment Req    |                    |                  |
  |     intent="charge"    |                    |                  |
  |     recipient=deposit  |                    |                  |
  |<-----------------------|                    |                  |
  |                        |                    |                  |
  | (4) Send deposit tx    |                    |                  |
  |------------------------------------------->|                  |
  | (5) Confirmation       |                    |                  |
  |<-------------------------------------------|                  |
  |                        |                    |                  |
  | (6) Authorization:     |                    |                  |
  |     Payment (txHash)   |                    |                  |
  |----------------------->|                    |                  |
  |                        | (7) Verify deposit on origin chain    |
  |                        |--------------------|                  |
  |                        | (8) Submit + await swap finality      |
  |                        |-------------------------------------->|
  |                        |   status: SUCCESS (merchant paid)     |
  |                        |<--------------------------------------|
  | (9) 200 OK + Receipt   |                    |                  |
  |<-----------------------|                    |                  |
]]></artwork></figure>

<t>Unlike methods that offer a server-submitted ("pull") flow for fee
sponsorship, this method has no pull mode: the source asset must be
deposited to the 1Click address before settlement can begin, and the
client therefore always pays its own origin-chain network fee. A future
revision <bcp14>MAY</bcp14> define an additional credential type for clients that hold
balances on the NEAR Intents settlement layer and wish to delegate
submission of a signed intent; such a credential is out of scope for
this document.</t>

</section>
<section anchor="cross-chain-model"><name>Cross-Chain Settlement Model</name>

<t>Single-chain charge methods describe one transfer: the client sends
<spanx style="verb">amount</spanx> of <spanx style="verb">currency</spanx> to <spanx style="verb">recipient</spanx>, and the recipient receives
exactly that. This method describes a payment whose two sides may
diverge across chains and assets.</t>

<t>To remain compatible with the shared "charge" request schema and with
push-mode verification, the standard fields describe the <strong>payment the
client makes on the origin chain</strong>, and the <strong>merchant's destination
leg</strong> is carried in <spanx style="verb">methodDetails</spanx>:</t>

<t><list style="symbols">
  <t><spanx style="verb">recipient</spanx> is the 1Click <strong>deposit address</strong> on the origin chain. It is
the payee of the client's on-chain transfer and the address whose
receipt of funds the server verifies from the transaction hash. It is
controlled by the NEAR Intents settlement system for the duration of the
swap, not by the merchant.</t>
  <t><spanx style="verb">currency</spanx> and <spanx style="verb">amount</spanx> describe the <strong>source asset</strong> and the <strong>deposit
amount</strong> the client sends to <spanx style="verb">recipient</spanx>.</t>
  <t><spanx style="verb">methodDetails.originNetwork</spanx> is the <strong>origin chain</strong> where <spanx style="verb">recipient</spanx> lives
and where the transaction hash is anchored.</t>
  <t><spanx style="verb">methodDetails.destinationNetwork</spanx>, <spanx style="verb">methodDetails.destinationAsset</spanx>,
<spanx style="verb">methodDetails.destinationRecipient</spanx>, and <spanx style="verb">methodDetails.amountOut</spanx>
describe the asset, chain, beneficiary, and exact amount the <strong>merchant</strong>
receives once the swap completes.</t>
</list></t>

<t>This mapping keeps push-mode verification — confirm an on-chain transfer
to <spanx style="verb">recipient</spanx> of the <spanx style="verb">currency</spanx> the client was asked to send — directly
applicable: the verified deposit is the payment, and the cross-chain swap
is an extension that executes afterward and delivers to the merchant.</t>

</section>
<section anchor="relationship-to-the-charge-intent"><name>Relationship to the Charge Intent</name>

<t>This document inherits the shared request semantics of the "charge"
intent from <xref target="I-D.payment-intent-charge"/>. It defines only the NEAR
Intents-specific <spanx style="verb">methodDetails</spanx>, <spanx style="verb">payload</spanx>, and verification procedures
for the "nearintents" payment method.</t>

</section>
</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="terminology"><name>Terminology</name>

<dl>
  <dt>1Click Swap API</dt>
  <dd>
    <t>A hosted interface to the NEAR Intents settlement system <xref target="ONECLICK-API"/>.
Exposes quote generation, deposit notification, and status endpoints used
by this method.</t>
  </dd>
  <dt>Deposit Address</dt>
  <dd>
    <t>A unique address generated by the 1Click backend for a single quote. The
client sends the source asset to this address. Each address corresponds to
exactly one quote and is single-use.</t>
  </dd>
  <dt>Solver Network</dt>
  <dd>
    <t>The set of competing agents that fulfill NEAR Intents swap intents by
sourcing the destination asset and delivering it to the recipient.</t>
  </dd>
  <dt>EXACT_OUTPUT</dt>
  <dd>
    <t>A 1Click quote mode in which the destination output amount is fixed and
the maximum source input amount required to guarantee it is computed by the
quote. This method uses <spanx style="verb">EXACT_OUTPUT</spanx> so the merchant receives a
deterministic amount.</t>
  </dd>
  <dt>Origin Chain</dt>
  <dd>
    <t>The chain on which the client holds the source asset and broadcasts the
deposit transaction. Identified by a CAIP-2 <xref target="CAIP-2"/> network identifier.</t>
  </dd>
  <dt>Destination Chain</dt>
  <dd>
    <t>The chain on which the merchant receives the destination asset.
Identified by a CAIP-2 <xref target="CAIP-2"/> network identifier.</t>
  </dd>
  <dt>Settlement Finality</dt>
  <dd>
    <t>For this method, the point at which the merchant has received the
destination asset, signalled by the 1Click terminal status <spanx style="verb">SUCCESS</spanx>. See
<xref target="settlement"/>.</t>
  </dd>
  <dt>Base Units</dt>
  <dd>
    <t>The smallest transferable unit of an asset, determined by its decimal
precision (e.g., USDC with 6 decimals uses 1,000,000 base units per 1
USDC).</t>
  </dd>
</dl>

</section>
<section anchor="request-schema"><name>Request Schema</name>

<t>The <spanx style="verb">request</spanx> parameter in the <spanx style="verb">WWW-Authenticate</spanx> challenge contains a
base64url-encoded <xref target="RFC4648"/> JSON <xref target="RFC8259"/> object. The JSON <bcp14>MUST</bcp14> be
serialized using JSON Canonicalization Scheme (JCS) <xref target="RFC8785"/> before
base64url encoding, per <xref target="I-D.httpauth-payment"/>.</t>

<t>This specification implements the shared request fields defined in
<xref target="I-D.payment-intent-charge"/>.</t>

<section anchor="shared-fields"><name>Shared Fields</name>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Presence</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">amount</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Deposit amount the client is asked to send, in base units of <spanx style="verb">currency</spanx> (the 1Click quote <spanx style="verb">AmountIn</spanx>): the upper bound that guarantees the merchant receives <spanx style="verb">methodDetails.amountOut</spanx>. A requested/display value — the verifier actually requires <spanx style="verb">methodDetails.minAmountIn</spanx>, not <spanx style="verb">amount</spanx> (see <xref target="verification"/>).</c>
      <c><spanx style="verb">currency</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Source asset the client pays with, as a CAIP-19 <xref target="CAIP-19"/> asset identifier (see <xref target="asset-identifiers"/>); chain component <bcp14>MUST</bcp14> equal <spanx style="verb">methodDetails.originNetwork</spanx>.</c>
      <c><spanx style="verb">recipient</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>1Click deposit address on the origin chain. The payee of the client's on-chain transfer.</c>
      <c><spanx style="verb">description</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Human-readable payment description. <bcp14>MUST NOT</bcp14> be relied upon for verification per <xref target="I-D.httpauth-payment"/>.</c>
      <c><spanx style="verb">externalId</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Merchant reference (order ID, invoice number, etc.).</c>
</texttable>

<t>Challenge expiry is conveyed by the <spanx style="verb">expires</spanx> auth-param in
<spanx style="verb">WWW-Authenticate</spanx> per <xref target="I-D.httpauth-payment"/> (see <xref target="expiry"/>).</t>

</section>
<section anchor="asset-identifiers"><name>Asset Identifiers</name>

<t>Both <spanx style="verb">currency</spanx> and <spanx style="verb">methodDetails.destinationAsset</spanx> <bcp14>MUST</bcp14> be CAIP-19
<xref target="CAIP-19"/> asset identifiers. CAIP-19 encodes the chain and the asset in
one self-describing string, so both legs of the swap use the same
convention and either side can be parsed without external context:</t>

<texttable>
      <ttcol align='left'>Chain type</ttcol>
      <ttcol align='left'>CAIP-19  form</ttcol>
      <ttcol align='left'>Example</ttcol>
      <c>EVM chains</c>
      <c><spanx style="verb">eip155:&lt;chainId&gt;/erc20:&lt;address&gt;</spanx></c>
      <c><spanx style="verb">eip155:42161/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831</spanx></c>
      <c>Solana</c>
      <c><spanx style="verb">solana:&lt;genesisHash&gt;/token:&lt;mint&gt;</spanx></c>
      <c><spanx style="verb">solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v</spanx></c>
      <c>NEAR (NEP-141)</c>
      <c><spanx style="verb">near:mainnet/nep141:&lt;account&gt;</spanx></c>
      <c><spanx style="verb">near:mainnet/nep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1</spanx></c>
      <c>Native assets (no contract)</c>
      <c><spanx style="verb">&lt;caip2&gt;/slip44:&lt;coinType&gt;</spanx></c>
      <c><spanx style="verb">bip122:000000000019d6689c085ae165831e93/slip44:0</spanx> (BTC)</c>
</texttable>

<t>Implementations <bcp14>MUST NOT</bcp14> use informal short identifiers (e.g., <spanx style="verb">"arb"</spanx>,
<spanx style="verb">"BTC"</spanx>) or bare contract addresses without the CAIP-19 chain prefix in
<spanx style="verb">currency</spanx> or <spanx style="verb">destinationAsset</spanx>. The chain component of <spanx style="verb">currency</spanx> <bcp14>MUST</bcp14>
equal <spanx style="verb">methodDetails.originNetwork</spanx>, and the chain component of
<spanx style="verb">destinationAsset</spanx> <bcp14>MUST</bcp14> equal <spanx style="verb">methodDetails.destinationNetwork</spanx>. CAIP-19
identifiers <bcp14>MUST</bcp14> be compared by their parsed components, with the address
or reference component compared in the relevant chain's canonical form
(for example, EVM addresses compared case-insensitively).</t>

</section>
<section anchor="method-details"><name>Method Details</name>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Presence</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">methodDetails.originNetwork</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>CAIP-2 <xref target="CAIP-2"/> identifier of the origin chain (where <spanx style="verb">recipient</spanx> lives and the deposit tx is anchored).</c>
      <c><spanx style="verb">methodDetails.destinationNetwork</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>CAIP-2 <xref target="CAIP-2"/> identifier of the chain where the merchant receives the destination asset.</c>
      <c><spanx style="verb">methodDetails.destinationAsset</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Destination asset the merchant receives, as a CAIP-19 <xref target="CAIP-19"/> asset identifier (see <xref target="asset-identifiers"/>); chain component <bcp14>MUST</bcp14> equal <spanx style="verb">methodDetails.destinationNetwork</spanx>.</c>
      <c><spanx style="verb">methodDetails.destinationRecipient</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Merchant address on the destination chain that receives <spanx style="verb">amountOut</spanx>.</c>
      <c><spanx style="verb">methodDetails.amountOut</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Exact amount the merchant receives, in base units of <spanx style="verb">destinationAsset</spanx>. Guaranteed via <spanx style="verb">EXACT_OUTPUT</spanx>.</c>
      <c><spanx style="verb">methodDetails.minAmountIn</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Minimum deposit the backend accepts, in base units of <spanx style="verb">currency</spanx>. Threshold checked at verification (<xref target="verification"/>, step 3): a confirmed deposit <bcp14>MUST</bcp14> be at least <spanx style="verb">minAmountIn</spanx>. Deposits below it yield <spanx style="verb">INCOMPLETE_DEPOSIT</spanx> and are refunded to <spanx style="verb">refundTo</spanx>.</c>
      <c><spanx style="verb">methodDetails.depositMemo</spanx></c>
      <c>string | null</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Deposit memo required by some origin chains (e.g., Stellar). Absent or <spanx style="verb">null</spanx> when not required.</c>
      <c><spanx style="verb">methodDetails.slippageTolerance</spanx></c>
      <c>number</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Slippage tolerance in basis points (e.g., <spanx style="verb">100</spanx> = 1%).</c>
      <c><spanx style="verb">methodDetails.timeEstimate</spanx></c>
      <c>number</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Estimated swap completion time in seconds, from the 1Click quote.</c>
      <c><spanx style="verb">methodDetails.refundTo</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Address on the origin chain to which the backend refunds the deposit if the swap fails or excess exists.</c>
      <c><spanx style="verb">methodDetails.settlementBackend</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Discloses the settlement backend. Value <spanx style="verb">"near-intents"</spanx> for this method.</c>
      <c><spanx style="verb">methodDetails.credentialTypes</spanx></c>
      <c>array</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Ordered list of accepted credential types. For this method, the only valid value is <spanx style="verb">"hash"</spanx>.</c>
</texttable>

<t>If <spanx style="verb">methodDetails.credentialTypes</spanx> is omitted, servers <bcp14>MUST</bcp14> accept
<spanx style="verb">"hash"</spanx>. Servers <bcp14>MUST NOT</bcp14> advertise credential types other than
<spanx style="verb">"hash"</spanx> for this method.</t>

<t>The server <bcp14>MUST</bcp14> determine <spanx style="verb">methodDetails.refundTo</spanx> before requesting
the executable 1Click quote from the NEAR Intents 1Click Swap API: the
quote that returns the single-use deposit address and can actually be
paid. It <bcp14>SHOULD</bcp14> resolve an origin-chain address controlled by the payer
from authenticated request context. If it instead uses a fixed merchant
address, it <bcp14>MUST</bcp14> disclose the resulting off-band refund-recovery
policy. Transport-specific payer-hint negotiation is outside this
document. Regardless of how the address is obtained, it is carried in
the challenge-bound request, and the client <bcp14>MUST</bcp14> verify that it is an
acceptable refund destination before paying.</t>

<t><strong>Example (decoded <spanx style="verb">request</spanx>):</strong></t>

<figure><sourcecode type="json"><![CDATA[
{
  "amount": "1005000",
  "currency": "eip155:42161/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "recipient": "0x76b4c56085ED136a8744D52bE956396624a730E8",
  "description": "Cross-chain premium data access",
  "externalId": "order_12345",
  "methodDetails": {
    "originNetwork": "eip155:42161",
    "destinationNetwork": "near:mainnet",
    "destinationAsset": "near:mainnet/nep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",
    "destinationRecipient": "merchant.near",
    "amountOut": "1000000",
    "minAmountIn": "1000000",
    "depositMemo": null,
    "slippageTolerance": 100,
    "timeEstimate": 120,
    "refundTo": "0x2527D02599Ba641c19FEa793cD0F9a6e8457C317",
    "settlementBackend": "near-intents",
    "credentialTypes": ["hash"]
  }
}
]]></sourcecode></figure>

<t>This requests a deposit of 1.005 USDC on Arbitrum (<spanx style="verb">eip155:42161</spanx>) so
that the merchant receives exactly 1.00 of the destination asset on NEAR
(<spanx style="verb">near:mainnet</spanx>).</t>

</section>
</section>
<section anchor="credential-schema"><name>Credential Schema</name>

<t>The credential in the <spanx style="verb">Authorization</spanx> header contains a
base64url-encoded JSON object per <xref target="I-D.httpauth-payment"/>.</t>

<section anchor="credential-structure"><name>Credential Structure</name>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Presence</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">challenge</spanx></c>
      <c>object</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Echo of the challenge auth-params from <spanx style="verb">WWW-Authenticate</spanx> per <xref target="I-D.httpauth-payment"/>.</c>
      <c><spanx style="verb">payload</spanx></c>
      <c>object</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>NEAR Intents-specific payload (see <xref target="hash-payload"/>).</c>
      <c><spanx style="verb">source</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Payer DID.</c>
</texttable>

<t>The <spanx style="verb">source</spanx> field, if present, <bcp14>SHOULD</bcp14> use the <spanx style="verb">did:pkh</spanx> method
<xref target="DID-PKH"/> with the CAIP-2 origin network identifier and the payer's
origin-chain address (e.g., <spanx style="verb">did:pkh:eip155:42161:0x2527...</spanx>).</t>

</section>
<section anchor="hash-payload"><name>Hash Payload — Push Mode (type="hash")</name>

<t>In push mode, the client has already broadcast the deposit transaction
to the origin chain. The <spanx style="verb">hash</spanx> field contains the transaction hash for
the server to verify.</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Presence</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">type</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">"hash"</spanx></c>
      <c><spanx style="verb">hash</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Transaction hash of the client's deposit on the origin chain (<spanx style="verb">methodDetails.originNetwork</spanx>). Format is origin-chain-native.</c>
</texttable>

<t>The address the deposit must pay is not repeated in the payload: it is
the challenge <spanx style="verb">recipient</spanx>, which is bound into the challenge <spanx style="verb">id</spanx> (see
<xref target="challenge-binding"/>). The server resolves which deposit to verify from
the echoed challenge.</t>

<t><strong>Example:</strong></t>

<figure><sourcecode type="json"><![CDATA[
{
  "challenge": {
    "id": "qB3wErTyU7iOpAsD9fGhJk",
    "realm": "api.example.com",
    "method": "nearintents",
    "intent": "charge",
    "request": "eyJ...",
    "expires": "2026-06-25T15:10:00Z"
  },
  "payload": {
    "type": "hash",
    "hash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a"
  },
  "source": "did:pkh:eip155:42161:0x2527D02599Ba641c19FEa793cD0F9a6e8457C317"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="expiry"><name>Challenge Expiry and Deposit Deadline</name>

<t>The challenge <spanx style="verb">expires</spanx> auth-param (<xref target="I-D.httpauth-payment"/>) <bcp14>MUST</bcp14> be
set to the 1Click quote deadline, or to a slightly earlier time, so that
a deposit made before <spanx style="verb">expires</spanx> is still within the quote's validity
window.</t>

<t>Clients <bcp14>MUST NOT</bcp14> broadcast a deposit transaction after the challenge
<spanx style="verb">expires</spanx> timestamp. A deposit that arrives at the deposit address after
the quote deadline may be refunded to <spanx style="verb">methodDetails.refundTo</spanx> rather
than swapped.</t>

<t>Servers <bcp14>SHOULD</bcp14> set <spanx style="verb">expires</spanx> such that the remaining window before the
quote deadline accommodates origin-chain confirmation plus
<spanx style="verb">methodDetails.timeEstimate</spanx>. Because the deposit address is
time-limited, servers <bcp14>SHOULD</bcp14> cache the challenge for a given resource
and refund destination until the quote deadline and reissue the same
challenge (including the same <spanx style="verb">recipient</spanx>) for repeated requests,
regenerating when either the deadline or <spanx style="verb">methodDetails.refundTo</spanx>
changes.</t>

</section>
<section anchor="challenge-binding"><name>Challenge Binding</name>

<t>The challenge <spanx style="verb">id</spanx> binds the challenge parameters per
<xref target="I-D.httpauth-payment"/>, including <spanx style="verb">request</spanx>, which carries <spanx style="verb">recipient</spanx>
(the deposit address), <spanx style="verb">amount</spanx>, and <spanx style="verb">currency</spanx>. Servers <bcp14>MUST</bcp14> verify
that the credential echoes a challenge whose recomputed binding matches
the <spanx style="verb">id</spanx> they issued (for example, via the HMAC-SHA256 mechanism in
<xref target="I-D.httpauth-payment"/>), and <bcp14>MUST</bcp14> reject credentials presenting an
unknown, expired, modified, or already-settled <spanx style="verb">id</spanx>.</t>

<t>Because the 1Click backend issues a <strong>unique deposit address per
quote</strong>, the <spanx style="verb">recipient</spanx> in each challenge is challenge-specific. A
deposit transaction observed at that address is therefore implicitly
bound to the single challenge that advertised it — an attacker cannot
present the same deposit against a different challenge, because a
different challenge has a different <spanx style="verb">recipient</spanx>. This gives push mode
under this method a stronger practical binding than hash credentials
whose recipient is a static merchant address shared across many
challenges. See <xref target="hash-binding"/>.</t>

</section>
<section anchor="verification"><name>Verification</name>

<t>Upon receiving a request with a credential, the server <bcp14>MUST</bcp14> first
validate that <spanx style="verb">payload.type</spanx> is <spanx style="verb">"hash"</spanx>, then perform the following
checks. If any check fails, the server <bcp14>MUST</bcp14> return a
<spanx style="verb">verification-failed</spanx> error per <xref target="I-D.httpauth-payment"/> (or a more
specific code from <xref target="error-codes"/>).</t>

<t>If the origin-chain RPC or the 1Click status endpoint is unavailable for
a required check, servers <bcp14>MUST</bcp14> treat this as a server error (HTTP 5xx)
rather than a <spanx style="verb">verification-failed</spanx> response, and <bcp14>MUST NOT</bcp14> settle the
credential.</t>

<t><list style="numbers" type="1">
  <t>The challenge <spanx style="verb">id</spanx> matches an outstanding, unsettled challenge issued by
this server, the recomputed challenge binding matches <spanx style="verb">id</spanx>
(<xref target="challenge-binding"/>), and the current time is before the challenge
<spanx style="verb">expires</spanx> auth-param.</t>
  <t><spanx style="verb">payload.hash</spanx> has not been previously consumed (see <xref target="replay"/>).</t>
  <t>The transaction identified by <spanx style="verb">payload.hash</spanx> exists on
<spanx style="verb">methodDetails.originNetwork</spanx>, is confirmed to that chain's policy
(see <xref target="settlement"/>), and transfers at least <spanx style="verb">methodDetails.minAmountIn</spanx>
of <spanx style="verb">currency</spanx> to the challenge <spanx style="verb">recipient</spanx> (the deposit address),
including <spanx style="verb">methodDetails.depositMemo</spanx> when non-null. This confirmation
<bcp14>MUST</bcp14> be performed either by querying the origin chain directly, or by
querying the 1Click status endpoint and observing that the backend has
detected a qualifying deposit at <spanx style="verb">recipient</spanx>. Relying solely on
client-asserted payload fields does not satisfy this requirement.</t>
  <t>The deposit address (<spanx style="verb">recipient</spanx>) corresponds to an active,
non-expired, non-settled quote in the server's state.</t>
  <t>Claim <spanx style="verb">payload.hash</spanx> as <strong>in-flight</strong> for this challenge, rejecting any
concurrent or later submission of the same hash while settlement runs.
The hash is <strong>permanently consumed only on a terminal settlement state</strong>
(see <xref target="settlement"/> and <xref target="replay"/>); verification alone does not burn the
credential. On a non-success terminal state the client recovers with a
fresh challenge (see <xref target="client-recovery"/>).</t>
</list></t>

<t>Verification confirms that the client has paid the origin-chain leg. The
cross-chain swap that delivers the destination asset to the merchant is
driven during settlement (<xref target="settlement"/>); a <spanx style="verb">Payment-Receipt</spanx> is issued
only after that delivery completes.</t>

</section>
<section anchor="error-codes"><name>Error Codes</name>

<t>This specification defines the following additional error code beyond
those in <xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Code</ttcol>
      <ttcol align='left'>HTTP</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">settlement-failed</spanx></c>
      <c>402</c>
      <c>The deposit was verified but the cross-chain swap did not complete (1Click terminal status <spanx style="verb">FAILED</spanx> or <spanx style="verb">REFUNDED</spanx>); the deposit is refunded to <spanx style="verb">refundTo</spanx>.</c>
</texttable>

<t>Other failure conditions map to the standard problem types of
<xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Condition</ttcol>
      <ttcol align='left'>Problem type</ttcol>
      <c>Challenge unknown, modified, already settled</c>
      <c><spanx style="verb">invalid-challenge</spanx></c>
      <c>Challenge or quote deadline passed</c>
      <c><spanx style="verb">payment-expired</spanx></c>
      <c>Deposit not found, wrong recipient, wrong asset/memo</c>
      <c><spanx style="verb">verification-failed</spanx></c>
      <c>Deposit below <spanx style="verb">methodDetails.minAmountIn</spanx></c>
      <c><spanx style="verb">payment-insufficient</spanx></c>
      <c>Swap failed or refunded after a verified deposit</c>
      <c><spanx style="verb">settlement-failed</spanx></c>
      <c>Credential malformed (bad base64url or JSON)</c>
      <c><spanx style="verb">malformed-credential</spanx></c>
</texttable>

<t>Payment verification failures return HTTP 402 with a fresh
<spanx style="verb">WWW-Authenticate: Payment</spanx> challenge and a Problem Details <xref target="RFC9457"/>
body with <spanx style="verb">Content-Type: application/problem+json</spanx>, as required by
<xref target="I-D.httpauth-payment"/>. A non-success terminal settlement response
follows the additional challenge-recovery rules in <xref target="client-recovery"/>.</t>

</section>
<section anchor="settlement"><name>Settlement Procedure</name>

<t>After successful verification, the server drives the swap to finality
before granting access. The server:</t>

<t><list style="numbers" type="1">
  <t>Notifies the 1Click backend of the deposit (optional but recommended, as
it accelerates processing; the backend also detects deposits
automatically). This corresponds to the 1Click deposit-notification
endpoint, supplying the transaction hash and deposit address.</t>
  <t>Polls the 1Click status endpoint for the deposit address until a
terminal status is reached, or until the time implied by the challenge
<spanx style="verb">expires</spanx> window is exceeded. Terminal statuses are <spanx style="verb">SUCCESS</spanx>,
<spanx style="verb">FAILED</spanx>, <spanx style="verb">REFUNDED</spanx>, and <spanx style="verb">INCOMPLETE_DEPOSIT</spanx>.</t>
  <t>The server <bcp14>MUST</bcp14> confirm, using the origin chain's canonical
transaction identifier rules (<xref target="replay"/>), that <spanx style="verb">payload.hash</spanx> is
among the origin-chain transactions reported for the deposit address.
An unrelated presented hash <bcp14>MUST NOT</bcp14> be consumed, and the quote <bcp14>MUST</bcp14>
remain available for an observed origin-chain transaction.</t>
  <t>On <spanx style="verb">SUCCESS</spanx> — the merchant has received <spanx style="verb">methodDetails.amountOut</spanx> of
<spanx style="verb">methodDetails.destinationAsset</spanx> on <spanx style="verb">methodDetails.destinationNetwork</spanx> —
returns the resource with a <spanx style="verb">Payment-Receipt</spanx> header per <xref target="receipt"/>.</t>
  <t>On <spanx style="verb">FAILED</spanx> or <spanx style="verb">REFUNDED</spanx>, returns a <spanx style="verb">settlement-failed</spanx> error per
<xref target="error-codes"/>. On <spanx style="verb">INCOMPLETE_DEPOSIT</spanx>, returns <spanx style="verb">payment-insufficient</spanx>.
In all non-success terminal cases the backend refunds the deposit to
<spanx style="verb">methodDetails.refundTo</spanx>; the server <bcp14>MUST NOT</bcp14> grant access.</t>
  <t>After a terminal status has been matched to <spanx style="verb">payload.hash</spanx>,
permanently consume that hash (see <xref target="replay"/>). The quote and its
deposit address are spent — the deposit was either delivered
(<spanx style="verb">SUCCESS</spanx>) or refunded — so the same hash <bcp14>MUST NOT</bcp14> be accepted
again.</t>
</list></t>

<section anchor="client-recovery"><name>Client Recovery</name>

<t>A non-success terminal state (<spanx style="verb">FAILED</spanx>, <spanx style="verb">REFUNDED</spanx>, or
<spanx style="verb">INCOMPLETE_DEPOSIT</spanx>) is terminal for this credential: the deposit is
refunded to <spanx style="verb">methodDetails.refundTo</spanx>, and because the quote and deposit
address are single-use, the same <spanx style="verb">payload.hash</spanx> cannot be retried. To
pay again, the client <bcp14>MUST</bcp14> obtain a <strong>fresh challenge</strong> (a new quote,
hence a new deposit address) before sending a new deposit. It <bcp14>MUST NOT</bcp14>
send another deposit against the spent challenge. A server <bcp14>MAY</bcp14> include
the fresh challenge in the terminal 402 response. If the server prepares
<spanx style="verb">WWW-Authenticate</spanx> before settlement retires the quote, the terminal 402
<bcp14>MAY</bcp14> instead repeat the spent challenge. When the terminal 402 repeats
the original challenge <spanx style="verb">id</spanx> or <spanx style="verb">recipient</spanx>, the client <bcp14>MUST</bcp14> re-request
the resource without the spent credential to obtain a fresh challenge,
then send a new deposit and submit a new credential. Burning the original
hash is therefore safe: it can never deliver the resource, and the funds
it represents have been refunded.</t>

<t>A transport failure or settlement polling timeout is not a terminal
backend state. The server <bcp14>MUST</bcp14> release the in-flight claim without
consuming the hash, and the client <bcp14>MAY</bcp14> re-present the same credential
after the backend recovers or settlement progresses, provided the
challenge remains valid.</t>

</section>
<section anchor="finality"><name>Settlement Finality</name>

<t>This method has two candidate finality boundaries: (a) confirmation of
the client's deposit on the origin chain, and (b) delivery of the
destination asset to the merchant. This method defines finality as <strong>(b)
destination delivery</strong> (1Click terminal status <spanx style="verb">SUCCESS</spanx>). The server
<bcp14>MUST NOT</bcp14> return a <spanx style="verb">Payment-Receipt</spanx> before <spanx style="verb">SUCCESS</spanx>.</t>

<t>Per-origin-chain confirmation depth (boundary a) is a policy of the
settlement backend: the 1Click backend applies chain-appropriate
confirmation depth before executing a swap, including on chains with
probabilistic finality (e.g., Bitcoin block depth, Solana commitment
levels). Servers <bcp14>MUST NOT</bcp14> treat a deposit observed below the backend's
confirmation threshold as final; in practice this is automatic, since
<spanx style="verb">SUCCESS</spanx> cannot be reached before the backend confirms the deposit.</t>

<t>The time from deposit to <spanx style="verb">SUCCESS</spanx> varies by origin chain and current
conditions and is approximated by <spanx style="verb">methodDetails.timeEstimate</spanx>. Servers
<bcp14>SHOULD NOT</bcp14> assume a fixed latency, and <bcp14>SHOULD</bcp14> calibrate the challenge
<spanx style="verb">expires</spanx> window per origin chain (short for fast chains, substantially
longer for slow-finality origins such as Bitcoin). For long-running
settlements, servers <bcp14>MAY</bcp14> return <spanx style="verb">202 Accepted</spanx> with a retry location or
offer webhook notification instead of holding the connection open;
specifying such an asynchronous delivery mechanism is otherwise out of
scope for this document.</t>

</section>
</section>
<section anchor="receipt"><name>Receipt</name>

<t>Upon successful settlement, servers <bcp14>MUST</bcp14> return a <spanx style="verb">Payment-Receipt</spanx>
header per <xref target="I-D.httpauth-payment"/>. Servers <bcp14>MUST NOT</bcp14> include a
<spanx style="verb">Payment-Receipt</spanx> header on error responses.</t>

<t>The receipt payload fields:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Presence</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">method</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">"nearintents"</spanx></c>
      <c><spanx style="verb">challengeId</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>The <spanx style="verb">id</spanx> from the original challenge.</c>
      <c><spanx style="verb">reference</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>Settlement reference: the destination-chain transaction hash of the merchant delivery.</c>
      <c><spanx style="verb">status</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">"success"</spanx></c>
      <c><spanx style="verb">timestamp</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><xref target="RFC3339"/> settlement time.</c>
      <c><spanx style="verb">originTxHash</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c>The client's origin-chain deposit transaction hash (<spanx style="verb">payload.hash</spanx>).</c>
      <c><spanx style="verb">destinationNetwork</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>CAIP-2 identifier of the chain where the merchant was paid.</c>
      <c><spanx style="verb">externalId</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c>Echoed from the challenge request.</c>
</texttable>

<t><strong>Example (decoded):</strong></t>

<figure><sourcecode type="json"><![CDATA[
{
  "method": "nearintents",
  "challengeId": "qB3wErTyU7iOpAsD9fGhJk",
  "reference": "FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz",
  "status": "success",
  "timestamp": "2026-06-25T15:12:11Z",
  "originTxHash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a",
  "destinationNetwork": "near:mainnet",
  "externalId": "order_12345"
}
]]></sourcecode></figure>

</section>
<section anchor="replay"><name>Replay Protection</name>

<t>Per <xref target="I-D.httpauth-payment"/>, payment proofs <bcp14>MUST</bcp14> be single-use. This
method enforces replay protection on two layers:</t>

<t><list style="symbols">
  <t><strong>Deposit address as nonce</strong>: each quote yields a unique deposit address,
and the 1Click backend processes at most one swap per address. The server
<bcp14>MUST</bcp14> reject any credential whose <spanx style="verb">recipient</spanx> (deposit address) does not
correspond to an active, non-expired, non-settled quote in its state.</t>
  <t><strong>Single-use transaction hashes</strong>: the server <bcp14>MUST</bcp14> track each
<spanx style="verb">payload.hash</spanx> and reject any hash that is already in-flight or consumed.
At verification the hash is claimed as in-flight (atomically, satisfying
the concurrency requirement below); it is <strong>permanently consumed only
when settlement reaches a terminal state</strong> — <spanx style="verb">SUCCESS</spanx> or any
failure/refund — so a credential is never burned before its outcome is
known and is never reusable afterward. On a non-success terminal state
the client obtains a fresh challenge to retry (see <xref target="client-recovery"/>).
Store-key canonicalization and equality comparison <bcp14>MUST</bcp14> follow the
origin chain's canonical transaction identifier rules;
implementations <bcp14>MUST NOT</bcp14> blindly lowercase identifiers. For
<spanx style="verb">eip155</spanx> and <spanx style="verb">bip122</spanx>, implementations compare the hexadecimal value
case-insensitively and ignore an optional <spanx style="verb">0x</spanx> prefix. For NEAR and
Solana, base58 transaction identifiers are case-sensitive and <bcp14>MUST</bcp14> be
compared exactly. Other namespaces <bcp14>MUST</bcp14> apply their own canonical
rules.</t>
</list></t>

<t>When a single origin transaction is one of several deposits aggregated
by the backend to one address (e.g., a top-up after an under-deposit),
each individual transaction hash remains single-use; the server <bcp14>MAY</bcp14>
accept any one qualifying hash provided the aggregate meets
<spanx style="verb">methodDetails.minAmountIn</spanx>.</t>

<t>Servers <bcp14>MUST</bcp14> also satisfy the concurrency requirement of
<xref target="I-D.httpauth-payment"/>: concurrent requests bearing the same
credential <bcp14>MUST</bcp14> result in at most one settlement and one resource
delivery.</t>

</section>
<section anchor="security"><name>Security Considerations</name>

<section anchor="transport-security"><name>Transport Security</name>

<t>All communication <bcp14>MUST</bcp14> use TLS 1.2 or higher per
<xref target="I-D.httpauth-payment"/>. Credentials and receipts <bcp14>MUST</bcp14> only be
transmitted over HTTPS connections.</t>

</section>
<section anchor="amount-and-asset-verification"><name>Amount and Asset Verification</name>

<t>Before broadcasting a deposit, clients <bcp14>MUST</bcp14> decode and verify the
challenge <spanx style="verb">request</spanx> per <xref target="I-D.httpauth-payment"/>: that <spanx style="verb">amount</spanx>,
<spanx style="verb">currency</spanx>, and <spanx style="verb">recipient</spanx> (the deposit address) are as expected, that
<spanx style="verb">methodDetails.originNetwork</spanx> is the intended origin chain, and that the
destination leg (<spanx style="verb">destinationNetwork</spanx>, <spanx style="verb">destinationAsset</spanx>,
<spanx style="verb">destinationRecipient</spanx>, <spanx style="verb">amountOut</spanx>) matches what the client intends the
merchant to receive. Clients <bcp14>MUST</bcp14> also verify that
<spanx style="verb">methodDetails.refundTo</spanx> is controlled by the payer or is otherwise
acceptable under an explicit merchant recovery policy. Clients <bcp14>MUST NOT</bcp14>
rely on <spanx style="verb">description</spanx>.</t>

</section>
<section anchor="hash-binding"><name>Hash Credential Binding</name>

<t>Hash credentials generally provide weaker challenge binding than
signature-based credentials: the server confirms a matching on-chain
payment exists but, for a static recipient, cannot prove the payment was
created for a specific challenge instance. Under this method that gap is
narrowed by the unique-per-quote deposit address: the <spanx style="verb">recipient</spanx> is
itself challenge-specific and is bound into the challenge <spanx style="verb">id</spanx>
(<xref target="challenge-binding"/>), so a deposit observed at that address is bound
to the one challenge that advertised it. Servers nonetheless <bcp14>MUST</bcp14>
enforce consumed-hash tracking (<xref target="replay"/>) and <bcp14>MUST</bcp14> reject credentials
referencing an unknown, expired, or settled challenge, and <bcp14>SHOULD</bcp14> use
unique <spanx style="verb">externalId</spanx> values per challenge.</t>

</section>
<section anchor="deposit-address-authenticity"><name>Deposit Address Authenticity</name>

<t>Servers <bcp14>MUST</bcp14> only advertise deposit addresses obtained from
authenticated calls to the 1Click API, and <bcp14>MUST NOT</bcp14> relay deposit
addresses from untrusted sources. Because the client pays before
learning whether the resource will be delivered, clients <bcp14>SHOULD</bcp14> apply
heightened scrutiny to the server's identity (origin, TLS certificate)
before depositing, and browser-based wallets <bcp14>SHOULD</bcp14> require explicit
user confirmation per <xref target="I-D.httpauth-payment"/>.</t>

</section>
<section anchor="trust"><name>Trust Model</name>

<t>Settlement in this method is <strong>not trustless</strong>. For the duration of the
swap, the deposited funds are custodied by the NEAR Intents settlement
system, which is trusted to either deliver the destination asset to the
merchant or refund the deposit to <spanx style="verb">methodDetails.refundTo</spanx>. The
<spanx style="verb">recipient</spanx> (deposit address) ↔ merchant pairing is fixed in the quote
and is enforced by the backend, not by an on-chain contract that the
client co-signs. This is comparable to entrusting a payment processor
with a transfer. The automatic refund path bounds the client's downside:
every non-success terminal state refunds the deposit, provided the
client verified that <spanx style="verb">methodDetails.refundTo</spanx> is an acceptable
destination. Clients and autonomous agents applying per-method risk
policies can identify this trust model from the <spanx style="verb">method</spanx>
(<spanx style="verb">nearintents</spanx>) and <spanx style="verb">methodDetails.settlementBackend</spanx>.</t>

</section>
<section anchor="idempotency-and-side-effects"><name>Idempotency and Side Effects</name>

<t>Per <xref target="I-D.httpauth-payment"/>, servers <bcp14>MUST NOT</bcp14> perform side effects for
unpaid requests, and <bcp14>SHOULD</bcp14> honour <spanx style="verb">Idempotency-Key</spanx> for non-idempotent
methods so that transport retries do not repeat protected application
side effects. Payment replay protection and application response
idempotency are separate responsibilities; rejecting a consumed payment
hash does not by itself replay the original protected response.</t>

</section>
</section>
<section anchor="iana"><name>IANA Considerations</name>

<section anchor="payment-method-registration"><name>Payment Method Registration</name>

<t>This document registers the following payment method in the "HTTP
Payment Methods" registry established by <xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Method Identifier</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c><spanx style="verb">nearintents</spanx></c>
      <c>Cross-chain payment settled via the NEAR Intents 1Click Swap API</c>
      <c>This document</c>
</texttable>

<t>Contact: Iker Alustiza (iker.alustiza@nearone.org).</t>

</section>
<section anchor="payment-intent-registration"><name>Payment Intent Registration</name>

<t>This document registers the following payment intent usage in the "HTTP
Payment Intents" registry established by <xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Intent</ttcol>
      <ttcol align='left'>Applicable Methods</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c><spanx style="verb">charge</spanx></c>
      <c><spanx style="verb">nearintents</spanx></c>
      <c>One-time cross-chain payment delivered to the merchant</c>
      <c>This document</c>
</texttable>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC3339;
&RFC4648;
&RFC8174;
&RFC8259;
&RFC8785;
&RFC9457;
<reference anchor="CAIP-2" target="https://chainagnostic.org/CAIPs/caip-2">
  <front>
    <title>CAIP-2: Blockchain ID Specification</title>
    <author >
      <organization>Chain Agnostic Standards Alliance</organization>
    </author>
    <date year="2020"/>
  </front>
</reference>
<reference anchor="CAIP-19" target="https://chainagnostic.org/CAIPs/caip-19">
  <front>
    <title>CAIP-19: Asset Type and Asset ID Specification</title>
    <author >
      <organization>Chain Agnostic Standards Alliance</organization>
    </author>
    <date year="2021"/>
  </front>
</reference>
<reference anchor="I-D.httpauth-payment" target="https://datatracker.ietf.org/doc/draft-ryan-httpauth-payment/">
  <front>
    <title>The 'Payment' HTTP Authentication Scheme</title>
    <author initials="B." surname="Ryan" fullname="Brendan Ryan">
      <organization></organization>
    </author>
    <author initials="J." surname="Moxey" fullname="Jake Moxey">
      <organization></organization>
    </author>
    <date year="2026" month="January"/>
  </front>
</reference>
<reference anchor="I-D.payment-intent-charge" target="https://datatracker.ietf.org/doc/draft-payment-intent-charge/">
  <front>
    <title>'charge' Intent for HTTP Payment Authentication</title>
    <author initials="J." surname="Moxey" fullname="Jake Moxey">
      <organization></organization>
    </author>
    <author initials="B." surname="Ryan" fullname="Brendan Ryan">
      <organization></organization>
    </author>
    <author initials="T." surname="Meagher" fullname="Tom Meagher">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="DID-PKH" target="https://github.com/w3c-ccg/did-pkh">
  <front>
    <title>did:pkh Method Specification</title>
    <author >
      <organization>W3C CCG</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ONECLICK-API" target="https://docs.near-intents.org/integration/distribution-channels/1click-api/about-1click-api">
  <front>
    <title>NEAR Intents 1Click Swap API</title>
    <author >
      <organization>NEAR Intents</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="NEAR-INTENTS-CHAINS" target="https://docs.near-intents.org/resources/chain-support">
  <front>
    <title>NEAR Intents Supported Chains</title>
    <author >
      <organization>NEAR Intents</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 793?>

<section anchor="abnf-collected"><name>ABNF Collected</name>

<figure><sourcecode type="abnf"><![CDATA[
nearintents-charge-challenge = "Payment" 1*SP
  "id=" quoted-string ","
  "realm=" quoted-string ","
  "method=" DQUOTE "nearintents" DQUOTE ","
  "intent=" DQUOTE "charge" DQUOTE ","
  "request=" base64url-nopad
  [ "," "expires=" quoted-string ]

nearintents-charge-credential = "Payment" 1*SP base64url-nopad

; Base64url encoding without padding per RFC 4648 Section 5
base64url-nopad = 1*( ALPHA / DIGIT / "-" / "_" )
]]></sourcecode></figure>

</section>
<section anchor="examples"><name>Examples</name>

<section anchor="cross-chain-charge-usdc-on-arbitrum-to-merchant-on-near"><name>Cross-Chain Charge — USDC on Arbitrum to merchant on NEAR</name>

<t><strong>1. Challenge (402 response):</strong></t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 402 Payment Required
Cache-Control: no-store
Content-Type: application/problem+json
WWW-Authenticate: Payment id="qB3wErTyU7iOpAsD9fGhJk",
  realm="api.example.com",
  method="nearintents",
  intent="charge",
  request="eyJ...",
  expires="2026-06-25T15:10:00Z"

{
  "type": "https://paymentauth.org/problems/payment-required",
  "title": "Payment Required",
  "status": 402,
  "detail": "Payment required for access."
}
]]></sourcecode></figure>

<t>Decoded <spanx style="verb">request</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "amount": "1005000",
  "currency": "eip155:42161/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "recipient": "0x76b4c56085ED136a8744D52bE956396624a730E8",
  "description": "Cross-chain premium data access",
  "externalId": "order_12345",
  "methodDetails": {
    "originNetwork": "eip155:42161",
    "destinationNetwork": "near:mainnet",
    "destinationAsset": "near:mainnet/nep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",
    "destinationRecipient": "merchant.near",
    "amountOut": "1000000",
    "minAmountIn": "1000000",
    "depositMemo": null,
    "slippageTolerance": 100,
    "timeEstimate": 120,
    "refundTo": "0x2527D02599Ba641c19FEa793cD0F9a6e8457C317",
    "settlementBackend": "near-intents",
    "credentialTypes": ["hash"]
  }
}
]]></sourcecode></figure>

<t>The client sends 1.005 USDC to <spanx style="verb">0x76b4c560...</spanx> on Arbitrum, then
presents the deposit hash.</t>

<t><strong>2. Credential:</strong></t>

<figure><sourcecode type="http"><![CDATA[
GET /resource HTTP/1.1
Host: api.example.com
Authorization: Payment eyJ...
]]></sourcecode></figure>

<t>Decoded credential:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "challenge": {
    "id": "qB3wErTyU7iOpAsD9fGhJk",
    "realm": "api.example.com",
    "method": "nearintents",
    "intent": "charge",
    "request": "eyJ...",
    "expires": "2026-06-25T15:10:00Z"
  },
  "payload": {
    "type": "hash",
    "hash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a"
  },
  "source": "did:pkh:eip155:42161:0x2527D02599Ba641c19FEa793cD0F9a6e8457C317"
}
]]></sourcecode></figure>

<t><strong>3. Response (after swap reaches <spanx style="verb">SUCCESS</spanx>):</strong></t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Cache-Control: private
Payment-Receipt: eyJ...
Content-Type: application/json

{"data": "..."}
]]></sourcecode></figure>

<t>Decoded receipt:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "method": "nearintents",
  "challengeId": "qB3wErTyU7iOpAsD9fGhJk",
  "reference": "FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz",
  "status": "success",
  "timestamp": "2026-06-25T15:12:11Z",
  "originTxHash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a",
  "destinationNetwork": "near:mainnet",
  "externalId": "order_12345"
}
]]></sourcecode></figure>

</section>
<section anchor="native-btc-origin"><name>Native BTC origin</name>

<t>A challenge advertising a Bitcoin-origin deposit. The longer <spanx style="verb">expires</spanx>
window accommodates Bitcoin confirmation plus swap time.</t>

<t>Decoded <spanx style="verb">request</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "amount": "38000",
  "currency": "bip122:000000000019d6689c085ae165831e93/slip44:0",
  "recipient": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
  "methodDetails": {
    "originNetwork": "bip122:000000000019d6689c085ae165831e93",
    "destinationNetwork": "near:mainnet",
    "destinationAsset": "near:mainnet/nep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",
    "destinationRecipient": "merchant.near",
    "amountOut": "1000000",
    "minAmountIn": "37500",
    "depositMemo": null,
    "slippageTolerance": 150,
    "timeEstimate": 1800,
    "refundTo": "bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h",
    "settlementBackend": "near-intents",
    "credentialTypes": ["hash"]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="multiple-origin-chains-via-accept-payment"><name>Multiple origin chains via Accept-Payment</name>

<t>A client declares it can pay on Arbitrum or Bitcoin and prefers
Arbitrum:</t>

<figure><sourcecode type="http"><![CDATA[
GET /resource HTTP/1.1
Host: api.example.com
Accept-Payment: nearintents/charge
]]></sourcecode></figure>

<t>The server <bcp14>MAY</bcp14> return several <spanx style="verb">nearintents/charge</spanx> challenges, each on a
different origin <spanx style="verb">methodDetails.originNetwork</spanx> with its own <spanx style="verb">recipient</spanx>
deposit address, allowing the client to choose:</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 402 Payment Required
Cache-Control: no-store
WWW-Authenticate: Payment id="qB3wErTyU7iOpAsD9fGhJk", realm="api.example.com", method="nearintents", intent="charge", request="eyJ...arbitrum...", expires="2026-06-25T15:10:00Z"
WWW-Authenticate: Payment id="nH6xJkLpO3qRtYsA6wDcVb", realm="api.example.com", method="nearintents", intent="charge", request="eyJ...bitcoin...", expires="2026-06-25T15:40:00Z"
]]></sourcecode></figure>

<t>Each challenge corresponds to a distinct 1Click quote and deposit
address. The client selects one and returns a single <spanx style="verb">Authorization:
Payment</spanx> credential per <xref target="I-D.httpauth-payment"/>.</t>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The author thanks the Tempo Labs and Stripe teams for the Machine
Payments Protocol framework, and the NEAR Intents and Near One teams for
the 1Click Swap settlement system.</t>

</section>


  </back>

<!-- ##markdown-source:
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
aR+zl6UPog5QjEbQ44q71NKqMo10tiJKK8TW1D/Oklo9BmzJKuga50goaBjn
aKa5VxxHml1jOMBQ0X/6VE4ocjJkuHaRhf2ibQvYbDAYBAG+X8dnLYQMKJfo
LSp64QuuII68KlyQ4EK0J/UG2f1/dMf+R3ds/Y/u2Mu7YztPDl83H/TERuPd
Ey/2rg25K/c2Ui7fPTT7cR5qn9kLYxsV5vrtKXB65xuyrFa9zIoSuWaFualK
g2vPKZl3VU9+UPryj46d/zU6dm5ubmPnGBbBep0jopRaYvMPfKJ7s4DubW3p
N9/XRfIsj28wA6CWDtq3dLNcUhPRqI9ryGdxpbhBNQkjIbo6kf0jEevvkYj1
xN6F+fziWHwJWFsTlOOL25w9FJKyLdUNvvgLmZ/kfbs0cmmcWu3+aUsGFhp/
SqU6pkl+lvKxfdCoenzu5ZwN2sZw1P1wd9+7vhzfX/6UFx/Knz/00q37fNLb
OdyeHWxfX09+urrbuk2uPk81eCRo//9qDdv7u1+qM+wu0xkOtpqUBtzi6fZO
Uoz2dn+e3e4fJnem2Dv8+frD9HrPmG1zO9n6aX+/2L76jZQGvLUTb+yZJfXr
1NDBwwUObeG6dC5ZwRibUYKFjbayDos/Q3MN9Hl70CJKOUQuWCj7ff9LlYcK
PLAbnjE/ZansVaGgnFMKFGymz2DxtaD/R9HiNEt0rwbdNgU5q9MUKFxA2W+3
aaWrbD07E+u+2RkVxN9ASRtdZVlh+n+r4fplFulSe7TZGl2wReuWaCS7TTrR
QybpapDTl3t3313/MHuz/eFd+WNxtHd7MvrD8NcHechEuxLiHYGYKO202oW2
3rcOb8cCFjUqq33EG6qvO7qivycUmchcc2fboEAy2qr3xPStXjQIkzMfCm/C
6cYoeWLGl1zoJFcC0MiUg3HNpsAFxhL0D9GQ40XnJZi0WFhMF59IbPNVhJkX
TkErKLE6G2UYDIqmBo+Hr0ut+Izxw9ewSeg19IOqINhN7uSw3x0FPDvq/wLq
sTPiDLIAAA==

-->

</rfc>

