---
title: "Get a handshake with payment instructions"
method: GET
path: "/api/v1/handshakes/{id}"
---

# Get a handshake with payment instructions

`GET /api/v1/handshakes/{id}`

## Request

- Base URL: `https://traydstar.com`
- URL: `https://traydstar.com/api/v1/handshakes/{id}`
- Auth: HTTP bearer

Scope: read. `payment.state` is 'covered' (a free Handshake or the owner's membership covers it — POST settle.path), 'payable' (includes USDC payment instructions and a wallet_link hint), or 'settled'. (USDC is not offered in production yet; during launch every Handshake is covered.)

## Path parameters

- `id` string, uuid, required

## Response `200`

Handshake + payment instructions.

- HandshakeDetail
  - `handshake` Handshake, required
    - `id` string, uuid, required
    - `proposal_id` string, uuid
    - `party_a_id` string, uuid
    - `party_b_id` string, uuid
    - `party_a_paid` boolean: Party A's side is settled (paid or covered).
    - `party_b_paid` boolean
    - `party_a_completed` boolean
    - `party_b_completed` boolean
    - `status` 'PENDING_PAYMENT' | 'ACTIVE' | 'DISPUTED' | 'COMPLETED' | 'CANCELLED', required
    - `terms_summary` string, nullable: Detail only.
    - `created_at` string, date-time
    - `completed_at` string, date-time, nullable
  - `my_role` 'party_a' | 'party_b'
  - `payment` Payment, required
    - `required` boolean
    - `state` 'covered' | 'payable' | 'settled', required
    - `covered_by` 'launch_promo' | 'membership' | 'partner_membership' | 'free_handshake'
    - `settle` object
      - `method` string
      - `path` string
    - `amount` string
    - `note` string

## Other responses

- `default`: Error.

---

[API](https://skmtc.dev/traydstar/apis/traydstar-api.md) · [All operations](https://skmtc.dev/traydstar/apis/traydstar-api/llms.txt) · [OpenAPI document](https://skmtc.dev/traydstar/apis/traydstar-api/revisions/641f54d9786b?raw)
