# Geode

> Use the Geode blockchain's apps: marketplace, social, surveys, messaging, DNS and GEODE transfers.

- name: com.geodeapps.mcp/geode
- version: 0.1.5
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 73/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.geodeapps.mcp%2Fgeode
- tools: https://api.protogrid.dev/v1/servers/com.geodeapps.mcp%2Fgeode/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "geode": {
      "type": "http",
      "url": "https://mcp.geodeapps.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-3d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 138 of 138 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: geode_market_refuse_an_order (idempotentHint); geode_lifeandwork_make_claim_workhistory (idempotentHint); geode_market_remove_store_bookmark (idempotentHint); …
- fail `tools.token_cost`: about 32,905 tokens to load every tool, a large share of an agent's context
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 2 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 138, about 32,905 tokens to load them all
- tool set hash: 244acd4f4cdbb2857bba94a4113bf6e6
- badge: [![protogrid quality](https://protogrid.dev/badge/com.geodeapps.mcp/geode.svg)](https://protogrid.dev/servers/com.geodeapps.mcp/geode)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.geodeapps.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (138)

- `geode_accept_terms`: Record your signed acceptance of the current Terms of Use (required once per Terms version, before your first write). Produce the signature with geode-local-signer accept_terms.
- `geode_account_info`: Read-only: whether an address exists on-chain, its free/reserved/frozen balance, the existential deposit (minimum balance), and its nonce.
- `geode_agent_status`: Read-only: the current Terms of Use (and whether an address has accepted them), the spending caps, and the address's pending intents.
- `geode_balances_transfer`: Send GEODE from `signer` to another account (keep-alive transfer: your account can never be emptied below the minimum balance). Irreversible, so the first call returns a confirm_token and the real cost; call again with it to get the intent. Sign with geode-local-signer, restating the recipient and amount in `expect`, then submit with geode_submit_intent. Sending to a new address creates that account (at least 1 GEODE). Counts toward the per-transaction and rolling 24-hour caps.
- `geode_dns_get_address`: Look up the account address a Geode DNS name points to. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_dns_get_owner`: Look up the account that owns a Geode DNS name. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_dns_register`: Register a Geode DNS name to `signer`. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_dns_set_address`: Point a DNS name you own at an account address. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_dns_transfer`: Transfer ownership of a DNS name you own to another account. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_exchange_browse_all_listings`: Browse all public listings on the Geode private coin exchange (offer coin, asking coin, price, payment method, inventory, location). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_exchange_edit_listing`: Edit one of your exchange listings (price, method, inventory, location) or hide it. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_exchange_new_listing`: Create a listing on the Geode private coin exchange: the coin you offer, the coin you want, price, payment method, inventory and location. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_exchange_view_my_listings`: List the exchange listings created by `caller`. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_get_intent`: Read-only: the status of an intent (pending, submitting, done, failed) and, once submitted, its result.
- `geode_lifeandwork_endorse_claim`: Endorse another account's Life and Work claim. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_get_endorsers`: List the accounts that endorsed a Life and Work claim. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_lifeandwork_get_full_details`: Get full details of one Life and Work claim, including its endorsers. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_lifeandwork_get_matching_claims`: Search Life and Work claims of one claim type by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_lifeandwork_get_resume`: Get an account's Life and Work resume: all its claims (expertise, work history, education, good deeds, intellectual property) with endorsements. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_lifeandwork_make_claim_education`: Add an education claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_make_claim_expertise`: Add an expertise claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_make_claim_gooddeed`: Add a good-deed claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_make_claim_intellectualproperty`: Add an intellectual-property claim to your Life and Work resume, including the hash of your IP file. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_make_claim_workhistory`: Add a work-history claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_lifeandwork_show_or_hide_claim`: Show or hide one of your Life and Work claims on your resume. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_add_a_product`: List a product (digital or physical) in your store: title, price, brand, category, description, inventory, media links, delivery details, and an optional affiliate (zeno) percentage. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_add_a_service`: List a service (online or in person) in your store: title, price, category, description, inventory, media and booking links, and an optional affiliate (zeno) percentage. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_add_item_to_cart`: Add a product or service (by id) to your Marketplace cart with a quantity. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_bookmark_a_store`: Bookmark a seller's store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_checkout_cart`: Buy everything in your cart. `value` must be at least the cart total (see geode_market_view_my_cart). Digital products and services are delivered, and the seller paid, immediately; physical products wait for the seller to ship and deliver. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_delete_a_product`: Delete one of your products from your store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_market_delete_a_service`: Delete one of your services from your store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_market_deny_resolution_request`: Seller: deny a buyer's problem report on an order. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_market_go_to_store`: View a seller's public Marketplace store: seller profile, products and services. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_issue_refund`: Seller: resolve a reported problem by refunding the buyer. `value` is the refund you send from your own balance. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_market_issue_replacement`: Seller: resolve a reported problem by sending a replacement (with new tracking information). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_message_the_buyer`: Seller: send a message about an order to its buyer. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_message_the_seller`: Send a message about one of your orders to its seller. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_rate_a_buyer`: Seller: rate (1 to 5) and review the buyer of one of your orders. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_rate_a_product_or_service`: Rate (1 to 5) and review a product or service. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_refuse_an_order`: Seller: refuse an order that has not shipped yet; the buyer is refunded in full. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_market_remove_item_from_cart`: Remove an item from your cart. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_remove_store_bookmark`: Remove a store bookmark. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_report_problem_damaged`: Report that a delivered order arrived damaged. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_report_problem_not_received`: Report that an order marked delivered was not received. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_report_problem_wrong_item`: Report that a delivered order was the wrong item. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_search_products_by_keyword`: Search Geode Marketplace products by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_search_services_by_keyword`: Search Geode Marketplace services by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_search_stores_by_keyword`: Search Geode Marketplace stores (seller profiles) by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_update_buyer_account_settings`: Set your Marketplace buyer name and location. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_update_cart_item_quantity`: Change the quantity of an item in your cart. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_update_order_tracking_information`: Seller: update an order's tracking and move it forward: awaiting → shipped, then shipped → delivered (delivery releases payment to you). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_update_product_details`: Update one of your products' details (the title cannot change). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_update_seller_account_settings`: Set your store's name, location, description and links. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_update_service_details`: Update one of your services' details (the title cannot change). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_market_view_my_buyer_account`: Get `caller`'s Marketplace buyer account: profile, bookmarked stores, digital downloads and orders. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_view_my_cart`: Get `caller`'s unpaid Marketplace cart: products, services and total. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_view_my_orders`: List the Marketplace orders placed by `caller` as a buyer. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_market_view_my_seller_orders_awaiting`: List `caller`'s seller orders awaiting shipment. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_orders_delivered`: List `caller`'s seller orders that were delivered. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_orders_problem`: List `caller`'s seller orders with a reported problem. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_orders_refused`: List `caller`'s seller orders that were refused. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_orders_resolved`: List `caller`'s seller orders whose problems were resolved. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_orders_shipped`: List `caller`'s seller orders that have shipped. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_market_view_my_seller_profile`: Get `caller`'s own Marketplace seller account, including its products and services. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_allow_account`: Allow accounts to send you private messages. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_block_account`: Block an account from messaging you. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_clear_my_paid_inbox`: Delete every message in your paid inbox. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_all_messages_to_account`: Delete all private messages you sent to an account. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_all_messages_to_group`: Delete all messages you sent to a group. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_an_open_list`: Delete an open list you own. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_single_message_to_account`: Delete one private message you sent. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_single_message_to_group`: Delete one message you sent to a group. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_delete_single_message_to_list`: Delete one message you broadcast to a list. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_messaging_disallow_account`: Stop allowing an account to send you private messages. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_find_groups_by_keyword`: Search public messaging groups by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_find_lists_by_keyword`: Search public open broadcast lists by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_get_account_settings_data`: Get an account's public messaging settings: username, interests, inbox fee, last update. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_get_my_allowed_and_blocked_accounts`: List the accounts `caller` has allowed and blocked for private messaging. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_get_my_groups`: List the messaging groups `caller` belongs to. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_get_my_inbox`: Get `caller`'s private-message inbox, grouped by conversation. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_get_my_inbox_groups`: Get messages delivered to `caller` from its groups. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_get_my_inbox_lists`: Get messages delivered to `caller` from the open lists it subscribes to. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_messaging_get_my_open_lists`: List the open broadcast lists `caller` owns. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_get_my_paid_inbox`: Get `caller`'s paid inbox: messages from non-contacts who paid the inbox fee. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_get_my_subscribed_lists`: List the open broadcast lists `caller` subscribes to. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_messaging_join_a_group`: Join a messaging group. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_join_an_open_list`: Subscribe to an open broadcast list. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_leave_a_group`: Leave a messaging group. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_make_a_new_group`: Create a messaging group with a first message. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_make_a_new_list`: Create an open broadcast list that others can subscribe to. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_send_message_to_group`: Send a message to a group you belong to. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_send_message_to_list`: Broadcast a message to an open list you own. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_send_paid_message`: Send a message to an account's paid inbox (reaches accounts that have not allowed you). `value` must be at least the recipient's inbox fee (see geode_messaging_get_account_settings_data); higher amounts rank higher. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_send_private_message`: Send a private message to an account that has allowed you to message it. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_unblock_account`: Unblock an account. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_unsubscribe_from_open_list`: Unsubscribe from an open broadcast list. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_update_group_settings`: Update a group's description and search visibility. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_messaging_update_settings`: Set your messaging username, interests, paid-inbox fee and search visibility. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_profile_get_account_profile`: Get an account's Geode profile: display name, location, tags, bio, links and linked app accounts. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_profile_new_profile`: Create your Geode profile (once per account; use update_your_profile afterwards). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_profile_update_your_profile`: Update your Geode profile. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_block_account`: Block an account on Geode Social. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_elevate_message`: Endorse (elevate) a public post. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_elevate_paid_message`: Endorse a paid post. If your social interests contain its target interests and payouts remain, you receive the per-endorser payment. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_follow_account`: Follow an account on Geode Social. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_get_account_following`: List the accounts an account follows on Geode Social. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_social_get_account_paid_messages`: List an account's paid (promoted) Social posts. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_social_get_account_profile`: Get an account's Social profile: username, followers, who it follows, and its posts. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_social_get_details_for_message`: Get full details of one Social post. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_social_get_details_for_paid_message`: Get full details of one paid Social post, including endorsers and staked amounts. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_social_get_paid_feed`: Get `caller`'s paid (promoted) Social feed, optionally filtered by a keyword. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_social_get_public_feed`: Get `caller`'s Geode Social feed (posts from accounts it follows). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_social_get_replies_for_message`: List the replies to a Social post. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_social_send_message_public`: Post a public message on Geode Social. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_send_paid_message_public`: Post a promoted (paid) message. `value` funds endorser payouts; set it to maximum_number_of_paid_endorsers × payment_per_endorser. Accounts whose interests contain target_interests are paid when they elevate it. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_send_reply_public`: Reply publicly to a post. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_unblock_account`: Unblock an account on Geode Social. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_unfollow_account`: Stop following an account. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_social_update_settings`: Set your social username, interests, and feed sizes. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_submit_intent`: Broadcast a transaction you prepared with a geode_* write tool and signed with geode-local-signer (sign_intent). The server checks the signature against the exact payload it built, then waits for inclusion in a block and returns the result and decoded contract events.
- `geode_surveys_close_my_survey`: Close one of your surveys (`length` is 1, 3 or 5); its unspent budget is refunded to you. Fails if the budget is already fully paid out. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
- `geode_surveys_get_available_surveys`: List open surveys (1-, 3- and 5-question) with their questions, payout per response and remaining capacity. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_surveys_get_my_surveys`: List the surveys `caller` created. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_surveys_get_survey_by_id`: Look up one survey by its survey_id (from geode_surveys_get_available_surveys, geode_surveys_get_my_surveys or a shared link): its questions, payout per response and remaining capacity. Returns it only while it is open, i.e. funded, payout > 0 and under its response cap; a closed, unfunded or full survey (or an unknown id) comes back as an empty result. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
- `geode_surveys_get_survey_responses_1`: Get responses to one of your 1-question surveys. Only the owner can read them: pass `caller` = the owner. Responses are numbered from 1; returns numbers from..to-1 (at most 100 per call). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_surveys_get_survey_responses_3`: Get responses to one of your 3-question surveys. Only the owner can read them: pass `caller` = the owner. Responses are numbered from 1; returns numbers from..to-1 (at most 100 per call). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_surveys_get_survey_responses_5`: Get responses to one of your 5-question surveys. Only the owner can read them: pass `caller` = the owner. Responses are numbered from 1; returns numbers from..to-1 (at most 100 per call). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
- `geode_surveys_make_a_new_survey_1`: Create a 1-question survey that pays each respondent `payout`. `value` must be at least payout × max_responses (the survey's budget). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_surveys_make_a_new_survey_3`: Create a 3-question survey that pays each respondent `payout`. `value` must be at least payout × max_responses (the survey's budget). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_surveys_make_a_new_survey_5`: Create a 5-question survey that pays each respondent `payout`. `value` must be at least payout × max_responses (the survey's budget). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_surveys_take_a_survey_1`: Answer an open 1-question survey and receive its payout. Each account can answer a survey once. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_surveys_take_a_survey_3`: Answer an open 3-question survey and receive its payout. Each account can answer a survey once. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_surveys_take_a_survey_5`: Answer an open 5-question survey and receive its payout. Each account can answer a survey once. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
- `geode_upgrade_build`: For mode "authorization" only. Pass every field of `purchase` from geode_upgrade_prepare unchanged, plus your EIP-712 signature. The server simulates the purchase for free (a bad signature never costs you gas) and returns one unsigned transaction for you to send from the same wallet.
- `geode_upgrade_packs`: Read-only: the GEODE packs sold for USDC on Base by Sparticle Concepts LLC (Pebble, Diamond), with prices, stock and today's limits. Pass `buyer` to also see how much that Base address may still buy today. Buying a pack gives a Geode account its upgrade tier automatically.
- `geode_upgrade_prepare`: Builds a USDC purchase of a GEODE pack for YOU to sign and send from your own Base wallet (you pay the gas; this server never sends anything). It first checks the Geode address, your USDC and ETH, stock and limits. mode "approve" (default, any wallet): returns two unsigned transactions, an exact-amount USDC approval and the buy. mode "authorization" (wallets that can sign EIP-712 typed data): returns typed data to sign; then call geode_upgrade_build. Nothing is spent until you send a transaction.
- `geode_upgrade_status`: Read-only: given the Base transaction hash of a purchase, reports whether it was paid and whether the GEODE has been delivered on Geode (not_found_or_pending, failed_on_base, paid_waiting_for_base_finality, paid_waiting_for_bridge, delivered).
