Menu

Explorer & Settings

Tempo Explorer Submit Project
Back to all projects

takjil-agents-mpp

by Shiirookami · Updated 26 days ago

Tempo Agent Chalengger

In the AI payments ecosystem

takjil-agents-mpp is an early-stage JavaScript project in the AI payments / x402 ecosystem, focused on machine-payments, machine-payments-protocol, mpp, payments. It currently has 1 GitHub stars and 0 forks, and sits alongside related tools like mppx, mpp-rs, pympp, awesome-mpp, mpp-swift, MPP-Inspector.

README.md View on GitHub →

Takjil Ultra Shop

Takjil Ultra Shop is an MPP-powered takjil shop on Tempo mainnet.

This service is designed for agent-to-agent commerce over HTTP. A calling agent can discover the menu, talk to the shop agent, receive an invoice-backed buy URL, and complete payment through the Tempo MPP flow.

How Agents Use This Service

  1. Read the sign Your agent starts with GET /llms.txt, GET /llms-full.txt, or GET /openapi.json to understand the menu, pickup options, and payment flow.
  2. Talk to the Takjil Agent Your agent uses POST /chat for the recommended ordering flow. The shop agent can recommend items, collect missing fields, and prepare checkout.
  3. Get the buy URL When the order is ready, the service returns an invoice-backed buyUrl and a structured checkout object.
  4. Pay and confirm The payment target is GET /buy/:slug, which returns an MPP challenge until payment succeeds and the order is confirmed.

Overview

  • GET /buy/:slug is the payment gate
  • POST /chat is the recommended ordering interface
  • POST /order is the one-shot ordering interface
  • GET /llms.txt, GET /llms-full.txt, GET /.well-known/llms.txt, and GET /openapi.json are served directly for agent discovery
  • repeated calls to the same paid invoice-backed URL return the confirmed order instead of charging again

Discovery

Agents should begin with these endpoints:

GET /llms.txt
GET /llms-full.txt
GET /.well-known/llms.txt
GET /openapi.json

/openapi.json is the canonical machine-readable service contract and includes:

  • x-service-info
  • x-payment-info on GET /buy/{slug}

Payment Defaults

  • network: tempo-mainnet
  • chain ID: 4217
  • currency: USDC.e
  • currency address: 0x20c000000000000000000000b9537d11c60e8b50
  • default recipient: 0x5E5feD30117B8Cfe5Ccf7f880Ff8AD0057F24a16
  • preferred payment client: tempo request

Menu

Each menu item costs 0.001 USDC.e.

  1. Kolak Ubi Ungu
  2. Es Cendol
  3. Pisang Goreng
  4. Puding Cokelat
  5. Tahu Goreng

Pickup windows:

  1. pickup-blok-m - Blok M, 17:00-17:30 WIB
  2. pickup-tebet - Tebet, 17:30-18:00 WIB
  3. pickup-gandaria - Gandaria, 18:00-18:30 WIB

Chat Flow

Use POST /chat for the recommended ordering flow.

The response includes:

  • reply
  • session_id
  • suggested_items
  • order_summary
  • missing_fields
  • ready_to_buy
  • invoice
  • buyUrl
  • checkout
  • pickup_options

When ready_to_buy is true, the calling agent should use the returned buyUrl as the payment target.

Use session_id for follow-up turns. Conversation history is available through GET /chat/:session_id.

One-Shot Order

Use POST /order when the item, quantity, customer name, email, and pickup window are already known.

The response includes:

  • ready_to_buy: true
  • invoice
  • buyUrl
  • checkout

Payment Flow

GET /buy/:slug is an MPP-protected route.

If there is no valid payment credential, it returns HTTP 402 with an MPP challenge. If payment is valid, it returns the confirmed order and sets a Payment-Receipt header.

Recommended payment sequence:

  1. read the returned buyUrl
  2. preview with tempo request --dry-run "<buyUrl>"
  3. pay with tempo request "<buyUrl>"
  4. read the confirmed order JSON response

Payment Splitting

Use GET /tx-plan when the caller wants to split a larger order into multiple payment attempts.

This route returns:

  • split_into_transactions
  • preview_transactions
  • grouped_execution

Public Agent Behavior

This service is intended to act as the shop-side agent endpoint. A calling agent should only need the public HTTP contract. It should not need repository setup steps, local development commands, or deployment instructions in order to use the service.

API Summary

Method Endpoint Purpose
GET / Health check, payment config, and discovery links
GET /_health Deployment health check
GET /menu List menu and payment defaults
POST /chat Multi-turn ordering agent
GET /chat/:session_id Read conversation history
POST /order One-shot order creation
GET /tx-plan Transaction splitting helper
GET /buy/:slug Real MPP payment route
GET /orders Confirmed orders in memory
GET /llms.txt Quick LLM guide
GET /llms-full.txt Full LLM guide
GET /.well-known/llms.txt Well-known LLM guide
GET /openapi.json Canonical discovery contract

Notes

  • order storage is still in memory
  • invoice-backed URLs are idempotent after payment
  • /buy without invoice still works, but each request is a fresh charge
  • discovery routes return cacheable metadata and Link headers for agent clients
  • email is required before checkout
  • name is required for pickup orders
  • pickupWindowId is required for pickup orders unless charity=true
All MPP projects →