---
title: "Confirm transaction with OTP"
method: POST
path: "/wallets/transaction/confirm"
---

# Confirm transaction with OTP

`POST /wallets/transaction/confirm`

## Headers

- `api-key` string, required
- `Authorization` string, required

## Request body

- object
  - `userId` string, required — The Id of the user who is sending this transaction
  - `challengeId` string, required — The challengeId that you received when initiating the transaction
  - `verificationCode` string, required — 6 characters code. Default code for sandbox "123456".
  - `ip` string, required — IP address collected as the IP address from which the End User is making the withdrawal request. IMPORTANT - This will be a required parameter from the 15th of June 2023 and is optional until then.
  - `verificationMethod` 'sms' | 'totp' | 'passkey' — SCA factor used at initiate time. Defaults to `sms` when omitted. `verificationCode` is required for `sms` and `totp`; `origin` + `passkeyAssertion` are required for `passkey`.
  - `origin` string — Browser-supplied origin from the WebAuthn ceremony (e.g. `https://app.example.com`). Required when `verificationMethod` is `passkey`. Must match an entry in the application's `webAuthn.allowedOrigins`.
  - `passkeyAssertion` object — Signed WebAuthn `PublicKeyCredential` returned by `navigator.credentials.get()` for the assertion challenge issued by `PASSKEY_APPROVAL_START`. Required when `verificationMethod` is `passkey`.
    - `id` string
    - `rawId` string
    - `type` string
    - `response` object
      - `clientDataJSON` string
      - `authenticatorData` string
      - `signature` string
      - `userHandle` string
    - `clientExtensionResults` object

## Response `200`

200

- union
  - object
    - `id` string
    - `accountId` string
    - `syncedOwnerId` string
    - `sourceSyncedOwnerId` string
    - `debit` string
    - `timestamp` string
    - `txType` string
    - `memo` string
    - `currency` string
    - `exchangeRate` string
    - `balanceBefore` object
      - `amount` string
      - `balance` string
    - `balanceAfter` object
      - `amount` string
      - `balance` string
    - `feeEstimate` object
      - `totalFee` string
      - `networkFee` string
      - `ourFee` string
      - `theirFee` string
      - `feeCurrency` string
      - `gasLimit` string
      - `gasPrice` string
      - `fixedFeeDetails` object
        - `amount` string
        - `exchangeRate` string
      - `percentageFeeDetails` object
        - `amount` string
    - `blockchainNetwork` string
  - object
    - `id` string
    - `accountId` string
    - `syncedOwnerId` string
    - `sourceSyncedOwnerId` string
    - `debit` string
    - `timestamp` string
    - `txType` string
    - `memo` string
    - `exchangeRate` string
    - `balanceBefore` object
      - `amount` string
      - `currency` string
    - `balanceAfter` object
      - `amount` string
      - `currency` string
    - `bankingSenderBic` string
    - `bankingSenderIban` string
    - `bankingSenderName` string
  - object
    - `id` string
    - `amount` string
    - `feeSats` string
    - `feeEstimate` object
      - `totalFee` string
      - `networkFee` string
      - `ourFee` string
      - `theirFee` string
      - `feeCurrency` string
      - `fixedFeeDetails` object
        - `amount` string
        - `exchangeRate` string
      - `percentageFeeDetails` object
        - `amount` string
    - `invoice` string
    - `payeeNode` string
    - `accountId` string
    - `syncedOwnerId` string
    - `sourceSyncedOwnerId` string
    - `debit` string
    - `timestamp` string
    - `txType` string
    - `memo` string
    - `otherCryptoIdentifier` string
    - `strigaFee` string
    - `strigaFeeCurrency` string
    - `exchangeRate` string
    - `balanceBefore` object
      - `amount` string
      - `balance` string
      - `currency` string
    - `balanceAfter` object
      - `amount` string
      - `balance` string
      - `currency` string
  - object
    - `id` string
    - `sourceAccountId` string
    - `destinationAccountId` string
    - `memo` string
    - `status` string
    - `txType` string
    - `order` object
      - `price` string
      - `debit` object
        - `currency` string
        - `amountFloat` string
        - `amount` integer
      - `credit` object
        - `currency` string
        - `amountFloat` string
        - `amount` integer
    - `datetime` string
    - `balanceBefore` object
      - `balance` string
      - `currency` string
    - `balanceAfter` object
      - `balance` string
      - `currency` string
    - `sourceSyncedOwnerId` string
    - `destinationSyncedOwnerId` string

---

[API](https://skmtc.net/striga/apis/striga-v1.md) · [All operations](https://skmtc.net/striga/apis/striga-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/striga/striga-v1/revisions/63e57aa7df45/schema)
