For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sign Form A

UR's TurnKey wallet signs Form A on the user's behalf after the user consented in your UI; you prove that authorization by echoing the textHash from form-a-info. Returns FORMA_TEXT_MISMATCH (code 20005) if the stored text changed since the last render; re-call form-a-info and resign with the new hash. The returned state stays SignFormA; only submit advances the session.

post
/api/fma/v1/kyc/sign-form
Authorizations
X-Api-SignaturestringRequired

Partner Auth: EIP-191 signature by the partner's registered backend key, with X-Api-Deadline and optional X-Api-PublicKey headers. See the Signature and verify guide.

Header parameters
X-Ur-IdstringOptional

The user's URID. Send at least one of X-Ur-Id or X-External-User-Id.

X-External-User-IdstringOptional

Your partner-side user id. Send at least one of X-Ur-Id or X-External-User-Id.

X-Api-SignaturestringRequired

Partner Auth EIP-191 signature over the canonical message plus the deadline.

X-Api-DeadlinestringRequired

Unix timestamp in seconds after which the signature is no longer valid.

X-Api-PublicKeystringRequired

Partner public key used to verify the signature.

Body
sessionIdstringRequired

The onboarding session UUID returned by create-account.

textHashstringRequired

The textHash from the latest form-a-info render. Must match the current render or the call fails with FORMA_TEXT_MISMATCH (code 20005).

Responses
200

Business result envelope. code 0 means success; business rejections return HTTP 200 with a non-zero code.

application/json
codeintegerOptional

Business result code. 0 means success; business rejections return HTTP 200 with a non-zero code.

messagestringOptional

Human-readable diagnostic for non-zero codes.

post/api/fma/v1/kyc/sign-form
POST /api/fma/v1/kyc/sign-form HTTP/1.1
Host: openapi.ur.app
X-Api-Signature: text
X-Api-Deadline: text
X-Api-PublicKey: text
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "sessionId": "223d567f-ea11-4629-ba2a-94664edc26f6",
  "textHash": "0x5aa556c0a1108e13eaed59014ec80d9c5a14dd659223aa8f3ac2291ca2e6c5bf"
}
200

Business result envelope. code 0 means success; business rejections return HTTP 200 with a non-zero code.

{
  "code": 0,
  "message": "",
  "data": {
    "state": "SignFormA",
    "signature": "0x73bdf33acf3cc17029687da6880694491900ed59a3f9832a355a05d3dacd7fe53cd001defcbc3ddedb5b697b481b892d0e0a448aa6b97aa606ed2fa26bdb7d5a1c",
    "signerAddress": "0xeEdCEC0bCa761c1ecC933E7a01ea34EaA543132a"
  }
}

Last updated