---
title: "Log in with signed wallet transaction"
method: POST
path: "/v1/auth/login/wallet/transaction"
tags: ["Auth"]
---

# Log in with signed wallet transaction

`POST /v1/auth/login/wallet/transaction`

Handles `POST /v1/auth/login/wallet/transaction` via `post.v1.auth.login.wallet.transaction`.

## Request body

- WalletTransactionLoginRequest
  - `nonce_id` string, required — Echo of the `nonce_id` returned from the challenge endpoint.
  - `signed_transaction` string, required — Base64-encoded fully-signed Solana legacy transaction (bincode wire format). Must be the challenge transaction signed by `wallet_pubkey`. Wallets are permitted to include additional ComputeBudget or Lighthouse instructions before signing (in any position); any other instruction (other than the Memo issued by the server) is rejected. The server verifies the signature, the memo payload, and that the message still uses the issued blockhash so the signed bytes are never broadcastable on-chain.
  - `wallet_pubkey` string, required

## Response `200`

Phoenix JWT pair issued

- AuthResponse
  - `access_token` string, required
  - `expires_in` integer, required
  - `pop_key` string, required
  - `refresh_expires_in` integer, required
  - `refresh_token` string, required
  - `token_type` string, required

## Other responses

- `400` — Standard JSON error payload.
- `403` — Standard JSON error payload.
- `409` — Standard JSON error payload.
- `500` — Standard JSON error payload.
- `503` — Standard JSON error payload.

---

[API](https://skmtc.net/phoenix/apis/phoenix-eternal-api.md) · [All operations](https://skmtc.net/phoenix/apis/phoenix-eternal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phoenix/phoenix-eternal-api/versions/0f598402d680/schema)
