---
title: USSD Command
description: "Send a USSD code on a real SIM and verify the network's response. Chain several steps to navigate a full menu, entry code then each choice."
lastUpdated: "2026-09-23"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

Send a USSD code (`#100#`, `*123*1#`) on a real SIM and wait for the network's response. Chain several USSD Command actions to navigate a full menu: send the entry code, verify the menu, send a selection, verify the next screen.

## Parameters

| Parameter | Required | Description |
| ----------- | ---------- | ------------- |
| Access technology | No | Network technology to use (2G, 3G, 4G...). Default: automatic. |
| Command | Yes | The USSD code to send, for example `#100#`. Supports variables. |
| Expected Message | No | The response you expect. The result records how closely the actual response matches. |
| Enable strict text comparison | No | Exact comparison instead of fuzzy matching. Default: off. |
| Execute multiple times | No | Repeat the command 1 to 30 times. |

Like every SIM action, it also supports [assertions, stored variables, and artifacts](/tests/actions/cellular/overview#common-options).

## Results and metrics

In the action report (`result`):

| Field | Description |
|-------|-------------|
| `response` | The text returned by the USSD gateway. |
| `shortcode` | The code that was sent. |
| `session` | Session state: `alive`, `close`, or network errors like `Network Timeout (+CUSD 5)`. |
| `ratio` | Match ratio (0 to 100) between the response and the expected message. |
| `duration` | Total execution time in seconds. |
| `access_technology_report` | The technology actually used, with its setup time. |
| `dynamic_variables` | Values extracted from the response into variables. |

In Analytics, each run feeds the USSD measurement with `duration_seconds`, tagged by status, antenna (MCC, MNC, LAC, cell ID), and access technology.

Assertions can target `message`, `session_status`, `duration`, `access_technology`, or extract a `variable` from the response.

## What's next?

<Columns cols={2}>
  <Card title="Wait USSD Push" icon="flag" href="/tests/actions/cellular/ussd-push">

    Verify network-initiated USSD messages

</Card>
  <Card title="SIM steps overview" icon="sim-card" href="/tests/actions/cellular/overview">

    Assertions, stored variables, and shared options

</Card>
</Columns>
