Skip to content
Foundations

Elements API

Last updated October 25, 2026 · Host foundations.tensegrity.works

HTTP lookups for the Elements encyclopedia. Agents start at the free kinds table, then pay per kind list or spec with x402 on Base. A Markdown copy lives on the API host for agents.

The short version
  • –Base URL is https://foundations.tensegrity.works
  • –GET /mcp/start and GET /mcp/elements are free. Search is 0.02 USDC. Kind lists are 0.01 USDC. Specs are 0.02 USDC.
  • –Directories should list GET /mcp/elements/search. Pay with PAYMENT-SIGNATURE (or X-PAYMENT). The live 402 challenge wins if docs disagree.
  • –POST /mcp needs a Foundations account. Request one on the waitlist.

01Start here

Foundations Elements is a UI encyclopedia. Wallet agents call HTTP GET. Signed-in agents can also use MCP. Humans join the Elements waitlist.

Machine-readable copies (use these in catalogs and agents):

Contact: support@tensegrity.company.

02Free discovery

These paths return 200 without payment. Do not list them as paid resources.

  • – GET /mcp/start — free intake briefing: kinds, example slugs, next hops. Do not list as paid.
  • – GET /mcp/elements — 23 kinds with kind, count, and the paid list path.
  • – GET /docs, /llms.txt, /openapi.json, /pricing, /terms.
GET https://foundations.tensegrity.works/mcp/start
GET https://foundations.tensegrity.works/mcp/elements

03Paid lookups

  • – GET /mcp/elements/search — 0.02 USDC. Cross-kind search. Give this URL to directories. GET /mcp/search is a working alias. Bare GET returns the search contract; add q or another filter for hits.
  • – GET /mcp/elements/{kind} — 0.01 USDC. Slugs, aliases, complexity, atomic type, and tier. Settled x402 is a Pro grant; Max slugs need a Max account.
  • – GET /mcp/elements/{kind}/{slug} — 0.02 USDC. Spec body.
  • – GET /glossary/{slug} — 0.02 USDC. Same spec, no kind in the path.

Example kind charts. Example slug funnel-chart. Kinds are actions, form, inputs, layout, lists, nav, overlay, charts, data-display, media, marketing, text, motion, ai, selection, date-time, analog, tokens, gesture, containers, loading, status, notification.

GET https://foundations.tensegrity.works/mcp/start
GET https://foundations.tensegrity.works/mcp/elements/search
GET https://foundations.tensegrity.works/mcp/elements/search?q=funnel-chart
GET https://foundations.tensegrity.works/mcp/search
GET https://foundations.tensegrity.works/mcp/elements/charts
GET https://foundations.tensegrity.works/mcp/elements/charts/funnel-chart

A successful paid call buys one JSON response for that URL. It does not grant an account, glyphs, machines, or the right to republish the catalog. See the Terms.

04Payment

Unpaid paid-paths return HTTP 402. Read the PAYMENT-REQUIRED header (base64 JSON) or the JSON body. X-PAYMENT-REQUIRED is the same challenge. Send a matching PAYMENT-SIGNATURE (or X-PAYMENT). Settled calls return 200 and PAYMENT-RESPONSE.

  • –Protocol: x402 v2, exact scheme
  • –Network: Base, eip155:8453
  • –Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • –Facilitator: facilitator.xpay.sh
  • –EIP-712 extras: extra.name “USD Coin”, extra.version “2”

The pay-to address is in accepts[] on the live challenge. Use that, not an old copy of these docs. The live 402 is the source of truth if this page and the challenge disagree.

05Account and MCP

POST /mcp needs a Foundations account. HTTP glossary routes accept x402 without one. Request access at tensegrity.company/elements.

Signed-in customer tools use credits, not x402: elements_kinds (0 credits), elements_list, elements_search, elements_get, elements_index, elements_glyph, elements_machine. Credits have no cash value.

06Errors

  • –200 — free doc, free kinds table, or a settled lookup.
  • –402 — paid path, missing or invalid payment. Body includes a waitlist URL.
  • –404 — unknown kind or slug.
  • –401 — MCP or other account routes without a session.
  • –403 — Max slug on a Pro grant.
  • –403 — Max slug on a Pro grant.

07What is not public

Do not call or list these as x402 resources:

  • –GET /mcp/start as a paid listing (it is free intake).
  • –GET /mcp/elements as a paid listing (it is free).
  • –POST /mcp (account-only).
  • –/api/elements and /apps/* (signed-in product, not wallet pay).

Legal: Terms, Privacy, and lookup terms.