---
title: "Request Signature Challenge"
method: POST
path: "/auth/builder/request-signature"
tags: ["Builder Connect"]
---

# Request Signature Challenge

`POST /auth/builder/request-signature`

Returns a challenge message for the user to sign in their wallet
(Phantom, Rabby, Nami). This is the first step of the builder
connect flow.

The dApp generates an Ed25519 keypair client-side, then sends
the public key along with the user's wallet address, chain,
builder code, and fee approval.

### Validation

- `chain` must be `ethereum`, `solana`, or `cardano`
- `public_key` must be exactly 64 hex characters (Ed25519)
- `code` must reference an existing, active builder
- `fee_share_bps` must be between 0 and 100

The returned `nonce` expires after 5 minutes.

## Request body

- RequestSignatureRequest
  - `address` string, required — User's wallet address.
  - `chain` 'ethereum' | 'solana' | 'cardano', required — Blockchain the user's wallet is on. Must be `ethereum`, `solana`, or `cardano`.
  - `code` string, required — Builder code to connect to. Must exist and be active.
  - `fee_share_bps` integer — Maximum fee rate (in basis points) the user approves the builder to charge on trades. Range 0-100 (0% to 1%). Not required — defaults to 0.
  - `public_key` string, required — Ed25519 public key for the API wallet, encoded as 64 hex characters. The dApp generates this keypair client-side.

## Response `200`

Signature challenge created

- RequestSignatureResponse
  - `nonce` string, uuid — Single-use nonce identifying this challenge. Expires after 5 minutes. Pass this to the verify-signature endpoint.
  - `message_to_sign` string — Canonical payload for the user to sign in their wallet. It is the nonce immediately followed by the challenge timestamp, with no delimiter.
  - `message` string — Human-readable challenge summary for display. Do not sign this field unless it exactly matches `message_to_sign`.

## Other responses

- `400` — Validation error
- `404` — Builder not found

---

[API](https://skmtc.net/strikefinance/apis/strike-finance-staking-api.md) · [All operations](https://skmtc.net/strikefinance/apis/strike-finance-staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/strikefinance/strike-finance-staking-api/revisions/6b7d8bd51050/schema)
