---
title: "POST /pocket.service.Msg/AddService"
method: POST
path: "/pocket.service.Msg/AddService"
tags: ["Msg"]
---

# POST /pocket.service.Msg/AddService

`POST /pocket.service.Msg/AddService`

## Request body

- PocketServiceMsgAddService — MsgAddService defines a message for adding a new message to the network. Services can be added by any actor in the network making them truly permissionless.
  - `owner_address` string — The Bech32 address of the service owner.
  - `service` PocketSharedService — Next free index: 6
    - `compute_units_per_relay` string, uint64 — Compute units required per relay for this service
    - `id` string — Unique identifier for the service
    - `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).
    - `name` string — (Optional) Human readable description of the service
    - `owner_address` string — The owner address that created the service. It is the address that receives rewards based on the Service's onchain usage It is the only address that can update the service configuration (e.g. compute_units_per_relay), or make other updates to it. The Bech32 address of the service owner / creator

## Response `200`

A successful response.

- PocketServiceMsgAddServiceResponse

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