> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monad.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Agentic Payments

export const CopyToClipboard = ({value, children}) => {
  const [copied, setCopied] = useState(false);
  const handleCopy = async () => {
    try {
      await navigator.clipboard.writeText(value);
      setCopied(true);
      setTimeout(() => setCopied(false), 1000);
    } catch {
      const textarea = document.createElement("textarea");
      textarea.value = value;
      textarea.style.position = "fixed";
      textarea.style.opacity = "0";
      document.body.appendChild(textarea);
      textarea.select();
      document.execCommand("copy");
      document.body.removeChild(textarea);
      setCopied(true);
      setTimeout(() => setCopied(false), 1000);
    }
  };
  return <span style={{
    display: "inline",
    whiteSpace: "nowrap"
  }}>
      {children}
      <button onClick={handleCopy} title={copied ? "Copied!" : "Copy to clipboard"} style={{
    background: "none",
    border: "none",
    cursor: "pointer",
    padding: "2px",
    display: "inline-flex",
    alignItems: "center",
    verticalAlign: "middle",
    marginLeft: "4px",
    opacity: copied ? 1 : 0.4,
    transition: "opacity 0.15s"
  }} onMouseEnter={e => {
    if (!copied) e.currentTarget.style.opacity = "0.8";
  }} onMouseLeave={e => {
    if (!copied) e.currentTarget.style.opacity = "0.4";
  }}>
        {copied ? <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#22c55e" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
            <polyline points="20 6 9 17 4 12" />
          </svg> : <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
            <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
          </svg>}
      </button>
    </span>;
};

<Note>
  See also the [x402 guide](/guides/x402) for a step-by-step tutorial on building x402-enabled endpoints.
</Note>

## Overview

Agentic payments enable autonomous, machine-to-machine transactions over HTTP. Rather than requiring accounts, subscriptions, or API keys, any HTTP endpoint can become instantly payable using onchain payment authorization.

Monad's high throughput, sub-second finality, and low fees make it an ideal settlement layer for micropayments and agent-to-agent commerce.

## Provider summary

<div class="mintlify-table-wrapper">
  <table class="mintlify-table">
    <thead>
      <tr>
        <th>Service</th>
        <th>Protocol</th>
        <th>Supported (Mainnet)</th>
        <th>Docs</th>
        <th>Notes</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>Monad x402 Facilitator</td>
        <td>[x402](https://www.x402.org/)</td>
        <td>✅</td>
        <td>[Guide](/guides/x402)</td>
        <td>URL: <CopyToClipboard value="https://x402-facilitator.molandak.org">`https://x402-facilitator.molandak.org`</CopyToClipboard></td>
      </tr>

      <tr>
        <td>MPP SDK</td>
        <td>[MPP](https://mpp.dev/)</td>
        <td>✅</td>
        <td>[Reference](/reference/mpp/overview)</td>
        <td>NPM: [`@monad-crypto/mpp`](https://www.npmjs.com/package/@monad-crypto/mpp)</td>
      </tr>
    </tbody>
  </table>
</div>

## Provider details

### Monad x402 Facilitator

The Monad x402 Facilitator is a hosted service that simplifies [x402](https://www.x402.org/) payment flows on Monad. x402 brings the HTTP 402 "Payment Required" status code to life as a minimal protocol for internet-native micropayments.

**How it works:**

1. A client requests a resource from a server.
2. The server responds with HTTP 402 and a JSON payment requirement.
3. The client signs a payment authorization (no onchain transaction needed from the client).
4. The server verifies the signature and serves the content.
5. The facilitator settles the payment onchain, covering gas fees.

**Facilitator URL:** <CopyToClipboard value="https://x402-facilitator.molandak.org">`https://x402-facilitator.molandak.org`</CopyToClipboard>

**Key features:**

* Supports Monad mainnet and testnet
* Handles payment verification and onchain settlement
* Covers gas fees on behalf of clients
* Enables usage-based billing and per-call micropayments
* Works with USDC on Monad

**Facilitator API endpoints:**

* `GET /supported` — Returns supported networks, schemes, and signer addresses
* `POST /verify` — Verifies a payment signature before serving content
* `POST /settle` — Executes the payment onchain after content is served

To get started building x402-enabled endpoints on Monad, see the [x402 guide](/guides/x402).

Learn more at [x402.org](https://www.x402.org/).

### MPP SDK

The MPP SDK ([`@monad-crypto/mpp`](https://www.npmjs.com/package/@monad-crypto/mpp)) is a TypeScript/JavaScript library for integrating [Machine Payments Protocol](https://mpp.dev/) into your applications on Monad. It provides utilities for constructing and managing payment transactions programmatically.

* **NPM package:** [`@monad-crypto/mpp`](https://www.npmjs.com/package/@monad-crypto/mpp)
* **Reference docs:** [`@monad-crypto/mpp` Reference](/reference/mpp/overview)
