- –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):
- – /docs — this reference as Markdown
- – /llms.txt — agent index
- – /openapi.json — OpenAPI 3.1
- – /pricing — prices
- – /terms — what one paid call buys
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 withkind,count, and the paid listpath. -
–
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/searchis a working alias. Bare GET returns the search contract; addqor 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/startas a paid listing (it is free intake). - –
GET /mcp/elementsas a paid listing (it is free). - –
POST /mcp(account-only). - –
/api/elementsand/apps/*(signed-in product, not wallet pay).
Legal: Terms, Privacy, and lookup terms.