MPP
The doma-mpp skill teaches an AI agent how to call HTTP 402 payment-gated APIs for domain registration, using the Machine Payments Protocol and the mppx client library.
At a glance
Manifest URL
https://doma.xyz/.agents/skills/doma-mpp/SKILL.md
Backing protocol
Machine Payments Protocol (HTTP 402)
Backing CLI / library
mppx client
Trigger phrases
MPP, paid API, payment-gated, register domain via MPP, HTTP 402, Doma /register
What MPP is (briefly)
MPP is a protocol for micropayments to APIs. A service exposes endpoints that respond with HTTP 402 Payment Required until the caller attaches a valid payment receipt. The receipt is computed against a payment endpoint advertised in the response headers.
Doma exposes one such endpoint at https://mpp.doma.xyz/register for tokenized domain registration. The skill wraps the HTTP 402 dance: detect the response, request a quote, generate a payment, attach the receipt, retry.
What the skill does
Resolves the MPP endpoint and its supported payment options (currencies, chains).
Asks the user which option to use (e.g.
USDConBase).Computes the price for the requested registration.
Confirms with the user before paying.
Submits the payment, receives a receipt.
Retries the registration request with the receipt attached.
Reports the registration result.
Prerequisites
Node.js ≥ 20
@doma-protocol/clifor ancillary domain operations (optional)mppxclient (the skill installs / invokes it as needed)A wallet with a balance in one of the supported payment currencies on a supported chain
Example prompt
After installing the skill:
"Register
<your-domain>.iovia MPP on Base using USDC."
The agent:
Hits
https://mpp.doma.xyz/registerto discover supported payment options.Confirms the price and currency with you.
Submits the payment via
mppx.Retries the registration with the receipt and reports success / failure.
Cross-references
Doma Marketplace: alternative path for buying already-tokenized domains.
Building on Doma: broader integration overview.
MPP specification: protocol-level details.
The MPP skill is served at .agents/skills/ (not .well-known/skills/ like Doma's other skills) because it predates the standard AgentRoot location. It ships as a git submodule under Doma's published skills tree at apps/doma-xyz/public/.agents/skills/doma-mpp/.
Last updated