> For the complete documentation index, see [llms.txt](https://docs.unix.market/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unix.market/authentication/request-parameter-structure.md).

# Request Parameter Structure

All write requests contain two kinds of fields:

| Field group         | Meaning                                                                                                                                               |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Business parameters | Endpoint-specific fields, such as order, cancel, leverage, or Agent authorization parameters. Each endpoint page defines its own business parameters. |
| Public parameters   | Shared fields used for signing and permission checks. All write endpoints use this structure.                                                         |

## Public Parameters

| Parameter        | Type    | Required | Participates in signing?    | Meaning                                                                                                                   |
| ---------------- | ------- | :------: | --------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `signer_address` | string  |    Yes   | Yes                         | Signer address. It can be a user wallet address or an Agent Key address.                                                  |
| `target_address` | string  |    No    | When present, Method A only | Target account for this operation. If omitted, the target defaults to `signer_address`. Method B does not use this field. |
| `nonce`          | integer |    Yes   | Yes                         | Millisecond timestamp.                                                                                                    |
| `expires_after`  | integer |    Yes   | Yes                         | Request expiration timestamp in milliseconds.                                                                             |
| `signature`      | object  |    Yes   | No                          | ECDSA signature result `{ r, s, v }`.                                                                                     |
| `signature.r`    | string  |    Yes   | No                          | 32-byte hex string with `0x` prefix.                                                                                      |
| `signature.s`    | string  |    Yes   | No                          | 32-byte hex string with `0x` prefix.                                                                                      |
| `signature.v`    | integer |    Yes   | No                          | Recovery identifier, `27` or `28`.                                                                                        |

`signature` is produced by signing `signing_hash`. The client first computes `signing_hash` with Method A or Method B, signs it with the private key for `signer_address`, and submits the result as `{ r, s, v }`.

## Example — `POST /v1/trade/orders`

```jsonc
{
  // Business parameters
  "symbol_id": 100001,
  "is_buy": true,
  "order_type": "limit",
  "time_in_force": "gtc",
  "quantity": "1.0",
  "price": "67500.00",
  "position_side": "both",
  "margin_mode": "cross",

  // Public parameters: shared by all write endpoints
  "signer_address": "0xSIGNER_ADDRESS",
  "target_address": "0xTARGET_ADDRESS",
  "nonce": 1719500000000,
  "expires_after": 1719500600000,
  "signature": { "r": "0x...", "s": "0x...", "v": 28 }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.unix.market/authentication/request-parameter-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
