---
title: "UpdateGatewayMetadata sets a gateway's card WITHOUT touching its stake."
method: POST
path: "/pocket.gateway.Msg/UpdateGatewayMetadata"
tags: ["Msg"]
---

# UpdateGatewayMetadata sets a gateway's card WITHOUT touching its stake.

`POST /pocket.gateway.Msg/UpdateGatewayMetadata`

## Request body

- PocketGatewayMsgUpdateGatewayMetadata — MsgUpdateGatewayMetadata sets a staked gateway's card. Deliberately separate from MsgStakeGateway, which enforces a strictly-positive stake delta on every call -- folding metadata into it would mean escrowing real POKT to fix a typo. A freshly staked gateway starts with no card and becomes descriptor-complete via a follow-up call. Full replace: the supplied metadata replaces whatever is stored. Omitting it (nil) leaves the stored card untouched, matching MsgAddService's behaviour for services.
  - `address` string — The Bech32 address of the gateway. Must already be staked.
  - `metadata` PocketSharedMetadata — Metadata is a generic container for an onchain actor's descriptor, or "card". The raw bytes are stored onchain and will be base64 encoded in JSON representations. Next free index: 2
    - `card` string, byte — A card: a small, self-describing JSON document. Limited to 256 KiB when decoded. See docs/pocket_service_card.md for the schema. The chain deliberately does NOT validate the content of this payload beyond its size. The card schema is versioned in-band (via its `schema` key) so it can evolve without a consensus change; typed proto fields would freeze it at v1. A full method-level API specification does NOT belong here -- those routinely exceed this cap by an order of magnitude. Point at one via the card's `specs[]`. TODO_FUTURE: promote settled card fields to dedicated proto fields once the schema has stabilized AND something consumes it at runtime (e.g. QoS validating supplier responses against the declared contract).

## Response `200`

A successful response.

- PocketGatewayMsgUpdateGatewayMetadataResponse

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.dev/pokt-network/apis/http-api-console.md) · [All operations](https://skmtc.dev/pokt-network/apis/http-api-console/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pokt-network/http-api-console/revisions/1fc29453a1ef/schema)
