---
title: "Initiate marking a USDC address as Trusted Beneficiary"
method: POST
path: "/wallets/beneficiary/address/trust"
tags: ["Trusted Beneficiary"]
---

# Initiate marking a USDC address as Trusted Beneficiary

`POST /wallets/beneficiary/address/trust`

Only `USDC`, `USDC_POLYGON`, and `USDC_SOL` addresses are eligible; other currencies are rejected with `30075` (`CURRENCY_NOT_TRUSTABLE`).

## Request body

- object
  - `userId` string, required
  - `whitelistedAddressId` string, required
  - `verificationMethod` 'sms' | 'totp' | 'passkey' — Defaults to `sms` when omitted.

## Response `200`

Challenge issued. Factor-specific fields populated based on `verificationMethod` (`challengeId`+`dateExpires` for sms, `options`+`allowedOrigins`+`relyingPartyId` for passkey, `ok` for totp).

- object
  - `verificationMethod` 'sms' | 'totp' | 'passkey', required
  - `ok` boolean
  - `challengeId` string
  - `dateExpires` string
  - `options` object — Standard WebAuthn `PublicKeyCredentialRequestOptions`. Base64url-encoded binary fields are passed through to the browser without modification.
    - `challenge` string
    - `timeout` integer
    - `rpId` string
    - `allowCredentials` object[]
      - `type` string
      - `id` string
    - `userVerification` string
  - `allowedOrigins` string[]
  - `relyingPartyId` string

## Other responses

- `400` — Request was rejected. The `errorCode` field disambiguates.
- `401` — Invalid API key or HMAC signature.

---

[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/versions/63e57aa7df45/schema)
