# Geode (remote · mcp.geodeapps.com)

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

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-18

## Components

- remote · `mcp.geodeapps.com`: 66/100 (this document), [markdown](https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp.md), [page](https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp)

## Channel facts

- Endpoint: `https://mcp.geodeapps.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.5`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-18.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (geode_dns_transfer).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 21504 tokens (~155/item across 138 items; 138 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 22 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 139 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Geode MCP server?

Geode is a hosted endpoint at https://mcp.geodeapps.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-geodeapps-mcp-geode 'https://mcp.geodeapps.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-geodeapps-mcp-geode": {
      "url": "https://mcp.geodeapps.com/mcp"
    }
  }
}
```

### VS Code

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

### Codex

```toml
[mcp_servers.com-geodeapps-mcp-geode]
url = "https://mcp.geodeapps.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-geodeapps-mcp-geode": {
      "type": "remote",
      "url": "https://mcp.geodeapps.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-geodeapps-mcp-geode --url 'https://mcp.geodeapps.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-geodeapps-mcp-geode:
    url: "https://mcp.geodeapps.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-geodeapps-mcp-geode": {
      "Transport": "http",
      "Url": "https://mcp.geodeapps.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-geodeapps-mcp-geode -t streamable-http -u 'https://mcp.geodeapps.com/mcp'
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-18 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-17 (score 65)

First indexed and scored.

## MCP tools (138)

### `geode_dns_register` (~120 tokens)

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.

Input parameters:

- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_dns_set_address` (~136 tokens)

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.

Input parameters:

- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `new_address` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_dns_transfer` (~174 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `new_owner` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_dns_get_address` (~88 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_dns_get_owner` (~87 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_exchange_new_listing` (~294 tokens)

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.

Input parameters:

- `asking_coin` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `city` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `country` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `inventory` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `method` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `offer_coin` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_exchange_edit_listing` (~260 tokens)

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.

Input parameters:

- `city` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `country` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `hide` (boolean, required)
- `inventory` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `listing_id` (string, required): 0x-prefixed 32-byte hex id
- `method` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_exchange_browse_all_listings` (~135 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_exchange_view_my_listings` (~63 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_lifeandwork_make_claim_expertise` (~163 tokens)

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.

Input parameters:

- `keywords_or_description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `url_link_to_see_more` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_lifeandwork_make_claim_workhistory` (~164 tokens)

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.

Input parameters:

- `keywords_or_description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `url_link_to_see_more` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_lifeandwork_make_claim_education` (~163 tokens)

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.

Input parameters:

- `keywords_or_description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `url_link_to_see_more` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_lifeandwork_make_claim_gooddeed` (~166 tokens)

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.

Input parameters:

- `keywords_or_description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `url_link_to_see_more` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_lifeandwork_make_claim_intellectualproperty` (~187 tokens)

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.

Input parameters:

- `hash_your_intellectual_property_file_here` (string, required): 0x-prefixed 32-byte hex id
- `keywords_or_description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `url_link_to_see_more` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_lifeandwork_endorse_claim` (~119 tokens)

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.

Input parameters:

- `claim_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_lifeandwork_show_or_hide_claim` (~133 tokens)

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.

Input parameters:

- `claim_id` (string, required): 0x-prefixed 32-byte hex id
- `set_to_show` (boolean, required)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_lifeandwork_get_resume` (~152 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `owner` (string, required): Geode account address (SS58)

### `geode_lifeandwork_get_full_details` (~89 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `claim_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_lifeandwork_get_endorsers` (~139 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `claim_id` (string, required): 0x-prefixed 32-byte hex id
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_lifeandwork_get_matching_claims` (~205 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `claim_type` (integer, required)
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_add_item_to_cart` (~140 tokens)

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.

Input parameters:

- `add_item_id` (string, required): 0x-prefixed 32-byte hex id
- `quantity` (string, required): Non-negative integer as a string of digits
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_bookmark_a_store` (~109 tokens)

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.

Input parameters:

- `seller` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_remove_store_bookmark` (~108 tokens)

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.

Input parameters:

- `seller` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_remove_item_from_cart` (~114 tokens)

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.

Input parameters:

- `item_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_update_cart_item_quantity` (~133 tokens)

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.

Input parameters:

- `item_id` (string, required): 0x-prefixed 32-byte hex id
- `new_quantity` (string, required): Non-negative integer as a string of digits
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_checkout_cart` (~198 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `deliver_to_address` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_market_rate_a_product_or_service` (~161 tokens)

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.

Input parameters:

- `item_id` (string, required): 0x-prefixed 32-byte hex id
- `rating` (string, required): Non-negative integer as a string of digits
- `review` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_report_problem_damaged` (~172 tokens)

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.

Input parameters:

- `message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `problem_photo_or_youtube_url` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_report_problem_wrong_item` (~174 tokens)

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.

Input parameters:

- `message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `problem_photo_or_youtube_url` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_report_problem_not_received` (~174 tokens)

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.

Input parameters:

- `message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `problem_photo_or_youtube_url` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_message_the_seller` (~166 tokens)

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.

Input parameters:

- `message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `photo_or_youtube_url` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_update_buyer_account_settings` (~144 tokens)

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.

Input parameters:

- `location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_update_seller_account_settings` (~232 tokens)

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.

Input parameters:

- `banner_url` (string, required): https:// URL or empty string, at most 512 bytes
- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `external_link` (string, required): https:// URL or empty string, at most 512 bytes
- `location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `youtube_url` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_market_update_order_tracking_information` (~173 tokens)

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.

Input parameters:

- `delivered` (boolean, required)
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `shipped` (boolean, required)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `tracking_update` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters

### `geode_market_refuse_an_order` (~163 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_issue_refund` (~186 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_market_issue_replacement` (~146 tokens)

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.

Input parameters:

- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `tracking` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters

### `geode_market_deny_resolution_request` (~157 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_message_the_buyer` (~166 tokens)

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.

Input parameters:

- `message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `photo_or_youtube_url` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_rate_a_buyer` (~179 tokens)

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.

Input parameters:

- `buyer` (string, required): Geode account address (SS58)
- `order_id` (string, required): 0x-prefixed 32-byte hex id
- `rating` (string, required): Non-negative integer as a string of digits
- `review` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_add_a_product` (~453 tokens)

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.

Input parameters:

- `brand` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `category` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `delivery_info` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `digital` (boolean, required)
- `digital_file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `inventory` (string, required): Non-negative integer as a string of digits
- `more_info_link` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link1` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link2` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link3` (string, required): https:// URL or empty string, at most 512 bytes
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `product_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `title` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `zeno_percent` (string, required): Non-negative integer as a string of digits

### `geode_market_update_product_details` (~397 tokens)

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.

Input parameters:

- `brand` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `category` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `delivery_info` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `digital_file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `inventory` (string, required): Non-negative integer as a string of digits
- `more_info_link` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link1` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link2` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link3` (string, required): https:// URL or empty string, at most 512 bytes
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `product_id` (string, required): 0x-prefixed 32-byte hex id
- `product_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_add_a_service` (~381 tokens)

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.

Input parameters:

- `booking_link` (string, required): https:// URL or empty string, at most 512 bytes
- `category` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `inventory` (string, required): Non-negative integer as a string of digits
- `online` (boolean, required)
- `photo_or_youtube_link1` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link2` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link3` (string, required): https:// URL or empty string, at most 512 bytes
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `service_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `title` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `zeno_percent` (string, required): Non-negative integer as a string of digits

### `geode_market_update_service_details` (~327 tokens)

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.

Input parameters:

- `booking_link` (string, required): https:// URL or empty string, at most 512 bytes
- `category` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `inventory` (string, required): Non-negative integer as a string of digits
- `photo_or_youtube_link1` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link2` (string, required): https:// URL or empty string, at most 512 bytes
- `photo_or_youtube_link3` (string, required): https:// URL or empty string, at most 512 bytes
- `price` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `service_id` (string, required): 0x-prefixed 32-byte hex id
- `service_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_delete_a_product` (~155 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `product_id_to_delete` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_delete_a_service` (~155 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `service_id_to_delete` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_market_search_products_by_keyword` (~137 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_market_search_services_by_keyword` (~137 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_market_search_stores_by_keyword` (~142 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_market_view_my_orders` (~66 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_market_view_my_buyer_account` (~75 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_market_view_my_cart` (~69 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_market_go_to_store` (~82 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `seller` (string, required): Geode account address (SS58)

### `geode_market_view_my_seller_profile` (~72 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_market_view_my_seller_orders_awaiting` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_view_my_seller_orders_shipped` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_view_my_seller_orders_delivered` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_view_my_seller_orders_resolved` (~123 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_view_my_seller_orders_problem` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_market_view_my_seller_orders_refused` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_update_settings` (~194 tokens)

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.

Input parameters:

- `hide_from_search` (boolean, required)
- `my_inbox_fee` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `my_interests` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `my_username` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_send_private_message` (~165 tokens)

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.

Input parameters:

- `file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `to_acct` (string, required): Geode account address (SS58)

### `geode_messaging_send_message_to_group` (~164 tokens)

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.

Input parameters:

- `file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `to_group_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_messaging_allow_account` (~117 tokens)

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.

Input parameters:

- `allow` (array, required): List of Geode account addresses (SS58), at most 50
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_disallow_account` (~114 tokens)

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.

Input parameters:

- `disallow` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_block_account` (~109 tokens)

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.

Input parameters:

- `block` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_unblock_account` (~108 tokens)

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.

Input parameters:

- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `unblock` (string, required): Geode account address (SS58)

### `geode_messaging_delete_single_message_to_account` (~156 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `message_id_to_delete` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_delete_all_messages_to_account` (~156 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `delete_all_messages_to` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_make_a_new_group` (~202 tokens)

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.

Input parameters:

- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `first_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `hide_from_search` (boolean, required)
- `new_group_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_join_a_group` (~112 tokens)

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.

Input parameters:

- `group_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_delete_single_message_to_group` (~158 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `message_id_to_delete` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_delete_all_messages_to_group` (~160 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `delete_my_messages_to_group_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_leave_a_group` (~114 tokens)

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.

Input parameters:

- `group_id_to_leave` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_update_group_settings` (~148 tokens)

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.

Input parameters:

- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `group_id` (string, required): 0x-prefixed 32-byte hex id
- `hide_from_search` (boolean, required)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_send_message_to_list` (~164 tokens)

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.

Input parameters:

- `file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `to_list_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_messaging_make_a_new_list` (~159 tokens)

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.

Input parameters:

- `description` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `hide_from_search` (boolean, required)
- `new_list_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_delete_single_message_to_list` (~158 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `message_id_to_delete` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_delete_an_open_list` (~154 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `delete_list_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_join_an_open_list` (~115 tokens)

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.

Input parameters:

- `list_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_unsubscribe_from_open_list` (~117 tokens)

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.

Input parameters:

- `list_id` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_messaging_send_paid_message` (~232 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `file_url` (string, required): https:// URL or empty string, at most 512 bytes
- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `to_account` (string, required): Geode account address (SS58)
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_messaging_get_my_inbox` (~122 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_get_my_paid_inbox` (~129 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_get_my_allowed_and_blocked_accounts` (~72 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_messaging_get_my_groups` (~117 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_find_groups_by_keyword` (~137 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_messaging_get_my_open_lists` (~118 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_get_my_subscribed_lists` (~121 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_find_lists_by_keyword` (~138 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keywords1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `keywords3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_messaging_get_account_settings_data` (~89 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `get_settings_for` (string, required): Geode account address (SS58)

### `geode_messaging_get_my_inbox_lists` (~72 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_messaging_get_my_inbox_groups` (~120 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_messaging_clear_my_paid_inbox` (~137 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_profile_new_profile` (~364 tokens)

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.

Input parameters:

- `expertise_and_offerings_tags` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `hide_your_profile_from_search` (boolean, required)
- `life_and_work_account` (string, required): Geode account address (SS58)
- `marketplace_seller_account` (string, required): Geode account address (SS58)
- `my_bio` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `my_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `photo_link` (string, required): https:// URL or empty string, at most 512 bytes
- `preferred_display_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `private_messaging_account` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `social_account` (string, required): Geode account address (SS58)
- `website1` (string, required): https:// URL or empty string, at most 512 bytes
- `website2` (string, required): https:// URL or empty string, at most 512 bytes
- `website3` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_profile_update_your_profile` (~355 tokens)

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.

Input parameters:

- `expertise_and_offerings_tags` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `hide_your_profile_from_search` (boolean, required)
- `life_and_work_account` (string, required): Geode account address (SS58)
- `marketplace_seller_account` (string, required): Geode account address (SS58)
- `my_bio` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `my_location` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `photo_link` (string, required): https:// URL or empty string, at most 512 bytes
- `preferred_display_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `private_messaging_account` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `social_account` (string, required): Geode account address (SS58)
- `website1` (string, required): https:// URL or empty string, at most 512 bytes
- `website2` (string, required): https:// URL or empty string, at most 512 bytes
- `website3` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_profile_get_account_profile` (~143 tokens)

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).

Input parameters:

- `account` (string, required): Geode account address (SS58)
- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)

### `geode_social_send_message_public` (~167 tokens)

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.

Input parameters:

- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `photo_or_youtube_link` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `website_or_document_link` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_social_send_paid_message_public` (~323 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `maximum_number_of_paid_endorsers` (string, required): Non-negative integer as a string of digits
- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `payment_per_endorser` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `photo_or_youtube_link` (string, required): https:// URL or empty string, at most 512 bytes
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `target_interests` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `value` (required): GEODE to send with this call (explicit; never inferred)
- `website_or_document_link` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_social_elevate_message` (~119 tokens)

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.

Input parameters:

- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `this_message_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_social_elevate_paid_message` (~136 tokens)

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.

Input parameters:

- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `this_message_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_social_follow_account` (~109 tokens)

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.

Input parameters:

- `follow` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_social_unfollow_account` (~108 tokens)

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.

Input parameters:

- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `unfollow` (string, required): Geode account address (SS58)

### `geode_social_block_account` (~109 tokens)

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.

Input parameters:

- `block` (string, required): Geode account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_social_unblock_account` (~111 tokens)

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.

Input parameters:

- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `unblock` (string, required): Geode account address (SS58)

### `geode_social_update_settings` (~186 tokens)

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.

Input parameters:

- `max_messages_in_my_feed` (string, required): Non-negative integer as a string of digits
- `max_messages_in_my_paid_feed` (string, required): Non-negative integer as a string of digits
- `my_interests` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `my_username` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_social_get_public_feed` (~70 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_social_get_paid_feed` (~96 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `keyword` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters

### `geode_social_get_account_profile` (~86 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `user` (string, required): Geode account address (SS58)

### `geode_social_send_reply_public` (~182 tokens)

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.

Input parameters:

- `new_message` (string, required): UTF-8 text, at most 2048 bytes; no control or invisible characters
- `photo_or_youtube_link` (string, required): https:// URL or empty string, at most 512 bytes
- `replying_to` (string, required): 0x-prefixed 32-byte hex id
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `website_or_document_link` (string, required): https:// URL or empty string, at most 512 bytes

### `geode_social_get_account_paid_messages` (~133 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `user` (string, required): Geode account address (SS58)

### `geode_social_get_account_following` (~132 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `user` (string, required): Geode account address (SS58)

### `geode_social_get_details_for_paid_message` (~90 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `message_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_social_get_details_for_message` (~80 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `message_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_social_get_replies_for_message` (~134 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `limit` (integer): Items to return (default 50, max 200)
- `message_id` (string, required): 0x-prefixed 32-byte hex id
- `offset` (integer): Items to skip (default 0)

### `geode_surveys_make_a_new_survey_5` (~364 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `max_responses` (string, required): Non-negative integer as a string of digits
- `payout` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `public` (boolean, required)
- `question_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_4` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_5` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_surveys_make_a_new_survey_3` (~314 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `max_responses` (string, required): Non-negative integer as a string of digits
- `payout` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `public` (boolean, required)
- `question_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `question_3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_surveys_make_a_new_survey_1` (~264 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `max_responses` (string, required): Non-negative integer as a string of digits
- `payout` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `public` (boolean, required)
- `question_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_name` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `value` (required): GEODE to send with this call (explicit; never inferred)

### `geode_surveys_close_my_survey` (~191 tokens)

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.

Input parameters:

- `confirm_token` (string): Token from the first call, to confirm this irreversible action
- `length` (integer, required)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_surveys_take_a_survey_5` (~255 tokens)

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.

Input parameters:

- `answer_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_4` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_5` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_surveys_take_a_survey_3` (~205 tokens)

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.

Input parameters:

- `answer_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_2` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `answer_3` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_surveys_take_a_survey_1` (~155 tokens)

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.

Input parameters:

- `answer_1` (string, required): UTF-8 text, at most 512 bytes; no control or invisible characters
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `survey_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_surveys_get_survey_responses_5` (~211 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `from_response_number` (string, required): Non-negative integer as a string of digits
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `survey_id` (string, required): 0x-prefixed 32-byte hex id
- `to_response_number` (string, required): Non-negative integer as a string of digits

### `geode_surveys_get_survey_responses_3` (~211 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `from_response_number` (string, required): Non-negative integer as a string of digits
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `survey_id` (string, required): 0x-prefixed 32-byte hex id
- `to_response_number` (string, required): Non-negative integer as a string of digits

### `geode_surveys_get_survey_responses_1` (~211 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `from_response_number` (string, required): Non-negative integer as a string of digits
- `limit` (integer): Items to return (default 50, max 200)
- `offset` (integer): Items to skip (default 0)
- `survey_id` (string, required): 0x-prefixed 32-byte hex id
- `to_response_number` (string, required): Non-negative integer as a string of digits

### `geode_surveys_get_available_surveys` (~80 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_surveys_get_my_surveys` (~63 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as

### `geode_surveys_get_survey_by_id` (~160 tokens)

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).

Input parameters:

- `caller` (string): Optional account address (SS58) to run the query as
- `survey_id` (string, required): 0x-prefixed 32-byte hex id

### `geode_balances_transfer` (~212 tokens)

Send GEODE

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.

Input parameters:

- `amount` (required): Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"}
- `confirm_token` (string): Token from the first call
- `dest` (string, required): Recipient account address (SS58)
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.

### `geode_account_info` (~53 tokens)

Account info

Read-only: whether an address exists on-chain, its free/reserved/frozen balance, the existential deposit (minimum balance), and its nonce.

Input parameters:

- `address` (string, required): Geode account address (SS58)

### `geode_submit_intent` (~102 tokens)

Submit a signed 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.

Input parameters:

- `intent_id` (string, required): intent_id returned by the write tool
- `signature` (string, required): Signature from geode-local-signer sign_intent (0x-prefixed hex)

### `geode_get_intent` (~44 tokens)

Get an intent

Read-only: the status of an intent (pending, submitting, done, failed) and, once submitted, its result.

Input parameters:

- `intent_id` (string, required)

### `geode_accept_terms` (~114 tokens)

Accept the Terms of Use

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.

Input parameters:

- `signature` (string, required): Signature from geode-local-signer accept_terms
- `signer` (string, required): Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer.
- `timestamp` (string, required): ISO 8601 timestamp that was signed (from accept_terms)

### `geode_agent_status` (~50 tokens)

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.

Input parameters:

- `address` (string, required): Account address (SS58)

### `geode_upgrade_packs` (~91 tokens)

Account upgrade packs (USDC on Base)

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.

Input parameters:

- `buyer` (string): Optional Base (EVM) address, 0x…

### `geode_upgrade_prepare` (~240 tokens)

Prepare an account upgrade purchase

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.

Input parameters:

- `buyer` (string, required): Your Base (EVM) address, 0x…: the wallet that holds the USDC, signs, sends the transactions and pays the gas.
- `geode_address` (string, required): The Geode account (SS58) that receives the GEODE. Double-check it: a purchase delivered to a wrong address cannot be reversed.
- `mode` (string): "approve" (default) or "authorization"
- `pack_id` (integer, required): From geode_upgrade_packs (1 = Pebble, 2 = Diamond)

### `geode_upgrade_build` (~210 tokens)

Build a one-transaction upgrade purchase

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.

Input parameters:

- `buyer` (string, required): Your Base (EVM) address, 0x…: the wallet that holds the USDC, signs, sends the transactions and pays the gas.
- `geode_address` (string, required): The Geode account (SS58) that receives the GEODE. Double-check it: a purchase delivered to a wrong address cannot be reversed.
- `pack_id` (integer, required)
- `salt` (string, required): From purchase.salt
- `signature` (string, required): Your EIP-712 signature of typed_data, 0x-prefixed hex
- `valid_after` (string, required): From purchase.valid_after
- `valid_before` (string, required): From purchase.valid_before

### `geode_upgrade_status` (~83 tokens)

Account upgrade purchase 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).

Input parameters:

- `tx_hash` (string, required): Base transaction hash, 0x + 64 hex

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp#diagnostics

## Score history

- 2026-10-18: 66
- 2026-10-17: 65

## Common questions

### What is the Geode MCP server?

Geode is an MCP server listed in the public MCP registry as com.geodeapps.mcp/geode. Use the Geode blockchain's apps: marketplace, social, surveys, messaging, DNS and GEODE transfers. This page covers its hosted endpoint (https://mcp.geodeapps.com/mcp).

### Is the Geode MCP server safe to use?

Geode scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Geode MCP server expose?

Geode exposes 138 tools: geode_dns_register, geode_dns_set_address, geode_dns_transfer, geode_dns_get_address, geode_dns_get_owner, and 133 more. Their descriptions and schemas cost roughly 21,377 tokens of context every time the server is loaded.

### Does the Geode MCP server require authentication?

No. We connected to Geode without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Geode MCP server still maintained?

Geode is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.geodeapps.com/mcp
- Website: https://mcp.geodeapps.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-geodeapps-mcp-geode/mcp
