---
title: "Get XP Transfer by ID"
method: GET
path: "/xp/transfer/{transfer_id}"
tags: ["XPTransfersV2"]
---

# Get XP Transfer by ID

`GET /xp/transfer/{transfer_id}`

Retrieve details of a specific XP transfer by its ID. This is a public endpoint that does not require authentication. Note: Private transfers will return 404 (not found) to maintain privacy.

## Path parameters

- `transfer_id` string, required

## Response `200`

OK

- ResponsesXPTransfer
  - `amount` integer — Amount of XP transferred
  - `created_at` integer — Creation timestamp (milliseconds since epoch)
  - `fee` integer — Fee charged for the transfer (deducted from sender's balance)
  - `id` string — Unique transfer identifier
  - `is_private` boolean — Whether the transfer is private (not shown on public feeds)
  - `recipient` string — Address of the recipient (gaining XP)
  - `season` string — Season identifier ('season1' for Season 1, 'season2' for Season 2, etc.)
  - `sender` string — Address of the sender (losing XP)

## Other responses

- `400` — Bad Request
- `404` — Not Found

## Changes

- **2026-07-17** `f1370c46e9e8` — 6 warning
  - added the new `BLOCK_TRADE_REPLAYED_SIGNATURE` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - added the new `BLOCK_TRADE_REPLAYED_SIGNATURE` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - added the new `EVM_VAULT_OPERATORS_DISABLED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - added the new `EVM_VAULT_OPERATORS_DISABLED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - …2 more
- **2026-06-09** `43b81de9b079` — 6 info
  - removed the `INVALID_RHINOFI_QUOTE` enum value from the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - removed the `INVALID_RHINOFI_QUOTE` enum value from the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - removed the `INVALID_RHINOFI_QUOTE_COMMIT` enum value from the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - removed the `INVALID_RHINOFI_QUOTE_COMMIT` enum value from the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2/changes/xp/transfer/:transfer_id/get.md)

---

[API](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2.md) · [All operations](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tradeparadex/paradex-rest-api-2/revisions/a73698fdee53/schema)
