Skip to content

feat(services): add JustaName ENS Resolver#659

Open
mariano-aguero wants to merge 1 commit into
tempoxyz:mainfrom
mariano-aguero:add-justaname-ens-resolver
Open

feat(services): add JustaName ENS Resolver#659
mariano-aguero wants to merge 1 commit into
tempoxyz:mainfrom
mariano-aguero:add-justaname-ens-resolver

Conversation

@mariano-aguero
Copy link
Copy Markdown

Summary

  • Adds JustaName ENS Resolver to the MPP service registry — ENS forward + reverse resolution with on-chain CCIP-Read.
  • Two paid endpoints: GET /ens/v2/resolve and GET /ens/v2/reverse (1000 base units = 0.001 USDC per request, batch up to 50).
  • First entry using method: "evm" — adds an EVM_USDC_BASE_PAYMENT preset (USDC on Base mainnet) alongside the existing TEMPO_PAYMENT and STRIPE_PAYMENT presets.

Why a new preset

The evm payment method is formally specified in mpp-specs/specs/methods/evm/draft-evm-charge-00.md (DiNovi / Swenberg / Scott, 2026) but the schema in this repo didn't yet have a preset for it. EVM_USDC_BASE_PAYMENT mirrors the existing TEMPO_PAYMENT / STRIPE_PAYMENT shape:

export const EVM_USDC_BASE_PAYMENT: PaymentDefaults = {
  method: "evm",
  currency: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC on Base mainnet
  decimals: 6,
};

Happy to rename / restructure if the maintainers prefer a different shape (e.g. a generic EVM_PAYMENT parametrised by chain + token, or per-chain constants EVM_USDC_BASE_PAYMENT / EVM_USDC_OPTIMISM_PAYMENT / etc.).

Live and accepting payments

Two real settlements on Base mainnet today via MPP-charge (draft-evm-charge-00, type="authorization" / EIP-3009 transferWithAuthorization), settled through the Coinbase CDP facilitator:

Endpoint Settlement tx
GET /ens/v2/resolve?ens=vitalik.eth 0xc56fecf6…f909c
GET /ens/v2/reverse?address=0xd8dA…6045&coinType=60 0x254bac08…a089e

Both transferred 0.001 USDC to 0xC529EDD6D47C60923902514C7C0B3993ae42C2ec. The pricing endpoint advertises both x402 and mpp-charge schemes per route:

curl -s https://api.justaname.id/ens/v2/pricing | jq
# { "routes": [
#   { "path": "/ens/v2/resolve", "schemes": ["x402","mpp-charge"], "amount": "1000",
#     "asset": "USDC", "network": "eip155:8453", ... },
#   { "path": "/ens/v2/reverse", "schemes": ["x402","mpp-charge"], ... }
# ]}

Also registered on MPPScan.

Discovery surfaces already live

Checklist

  • Service is live and accepting payments via MPP
  • Entry added to schemas/services.ts
  • pnpm check:types passes
  • pnpm build passes
  • pnpm exec vitest run --mode production schemas/services.test.ts scripts/generate-discovery.test.ts5683/5683 passing
  • pnpm exec biome check schemas/services.ts clean
  • pnpm generate:discovery regenerates correctly (94 services, 848 endpoints, +2 from before)

Notes for reviewers

  • serviceUrl === url (no proxy host) — same pattern as Papercut (Add molty.cash to service registry #600 precedent: molty.cash also lists x402-on-Base as a settlement rail).
  • payments: [EVM_USDC_BASE_PAYMENT] reflects the actual /ens/v2/pricing declaration; we don't accept Tempo today, so we don't claim it.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

@mariano-aguero is attempting to deploy a commit to the Tempo Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown

🔀 Changed Services

✅ Added

  • justaname

@github-actions
Copy link
Copy Markdown

Thanks for submitting a service to the MPP directory!

If you want your service included in the curated mpp.dev/services list, complete this checklist before review:

Required

  • Your service is live and accepting payments via MPP (not a placeholder or coming-soon)
  • You've added your entry to schemas/services.ts following the contributing guide
  • Types pass: pnpm check:types
  • Build succeeds: pnpm build

Recommended

  • Register your service on MPPScan (by Merit Systems) — it follows the standard MPP discovery format and makes your service discoverable by agents immediately, no PR required

Review criteria

We prioritize services that are high quality and novel. We may not approve services that duplicate existing functionality or aren't yet production-ready.


Contributing guide · MPPScan · Protocol docs

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant