> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scripxhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Broker: run a cross desk

> The broker flow on ScripX: match your own exporters and importers inside your book with the cross desk, price a block deal, prepare it, fund it and release it as separate gated steps, net positions across a group, and read your desk earnings and payable.

A broker desk does more than route clients to the open market. On the **cross desk** a desk matches its own seller and buyer directly, at prices it sets on both sides, and settles the deal on ScripX rails. The same endpoints move credit between entities of one group; see the [enterprise guide](/guides/enterprise-group).

<Note>
  Cross desk endpoints require the cross desk to be active on your key. Write to [amin@eximfiles.io](mailto:amin@eximfiles.io) to have it enabled.
</Note>

## Price a cross

Price a block deal or intra-group transfer before you prepare it:

```bash theme={"dark"}
curl -X POST "$BASE_URL/v1/cross/quote" \
  -H "X-ScripX-Key: $SCRIPX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind": "external", "scheme": "RODTEP", "amount_paise": 100000000, "buy_price_bps": 9700, "sell_price_bps": 9650}'
```

The response returns the economics: gross and net spread, the platform fee, what the buyer pays and what the seller gets, all in paise.

## Prepare, fund, release

A cross moves through three deliberate steps so the money step is never accidental:

<Steps>
  <Step title="Prepare (never settles)">
    [`POST /v1/cross`](/api-reference/cross/create) records the deal on your desk with the seller IEC, buyer IEC, amount and both prices. Preparing never moves money. Send `rfq: true` to require the counterparty to accept before you can settle.
  </Step>

  <Step title="Fund (gated money step)">
    [`POST /v1/cross/{cross_id}/settle`](/api-reference/cross/settle) funds the cross. Buyer funds are locked before the scrip moves.
  </Step>

  <Step title="Release (gated terminal step)">
    [`POST /v1/cross/{cross_id}/confirm`](/api-reference/cross/confirm) releases a funded cross. Title transfers on ICEGATE and the seller payout fires with a UTR, [delivery-versus-payment](/core-concepts#delivery-versus-payment-settlement).
  </Step>
</Steps>

Both the fund and release steps require the `orders:write` scope. List your desk's crosses with [`GET /v1/cross`](/api-reference/cross/list) and read one with [`GET /v1/cross/{cross_id}`](/api-reference/cross/get).

## Net a group

For an enterprise group, compute the minimal set of transfers that clears everyone's net position:

```bash theme={"dark"}
curl "$BASE_URL/v1/group/positions" \
  -H "X-ScripX-Key: $SCRIPX_KEY"
```

Feed the book into [`POST /v1/group/net-plan`](/api-reference/group/net-plan) and it returns a summary plus the transfers to book, so intra-group flow nets down before anything hits the open market.

## Read your earnings

```bash theme={"dark"}
curl "$BASE_URL/v1/earnings" \
  -H "X-ScripX-Key: $SCRIPX_KEY"
```

`earnings` returns your desk GMV, broker net, and withdrawable payable in paise. Reconcile against [statements](/api-reference/account/statements) and the [tamper-evident audit export](/api-reference/account/audit-export).

## Related

* [Cross quote](/api-reference/cross/quote)
* [Group net plan](/api-reference/group/net-plan)
* [Earnings](/api-reference/account/earnings)
