> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List intents

> List intents for an app. Returns a paginated list with each intent's current status and details. Requests authenticated with an app secret can retrieve all intents for the app. Requests authenticated with a user token return only intents that the authenticated user created, must approve, or has signed. Query parameters only narrow this scoped result set.



## OpenAPI

````yaml get /v1/intents
openapi: 3.1.0
info:
  version: 0.0.1
  title: Privy API
  description: >-
    REST API for Privy's wallet infrastructure — provision and manage wallets
    across EVM, Solana, and Bitcoin, authenticate users, sign transactions, and
    configure programmable policies and authorization intents.
  contact:
    name: Privy
    url: https://www.privy.io/
    email: support@privy.io
servers:
  - url: https://api.privy.io
security: []
tags:
  - name: Accounts
    description: Operations related to asset accounts
  - name: Actions
    description: Operations related to looking up wallet actions across an app
  - name: Aggregations
    description: Operations related to aggregations for tracking and measuring metrics
  - name: Apps
    description: Operations related to app settings and allowlist management
  - name: Cards
    description: Operations related to stablecoin-backed card issuing
  - name: Client Auth
    description: OAuth token exchange and device authorization operations
  - name: Condition Sets
    description: Operations related to condition sets
  - name: Embedded wallets
    description: Operations related to embedded wallet creation and authentication
  - name: Fiat
    description: Operations related to fiat onramping and offramping
  - name: Intents
    description: Operations related to authorization intents for wallet actions
  - name: Key quorums
    description: Operations related to key quorums
  - name: Kraken Embed
    description: >-
      Operations for Kraken Embed integration, including quotes, trades, user
      management, and portfolio operations
  - name: OAuth
    description: >-
      OAuth 2.0 endpoints including Device Authorization Grant (RFC 8628) for
      CLI and limited-input device login flows
  - name: Organizations
    description: Operations related to organizations
  - name: Policies
    description: Operations related to policies
  - name: Shared
    description: Common schemas shared across resources
  - name: Swaps
    description: Operations for swapping tokens within wallets
  - name: Teams
    description: Operations related to dashboard team management
  - name: Transactions
    description: Operations related to transactions
  - name: User signers
    description: Operations related to user signers
  - name: Users
    description: Operations related to users
  - name: Wallet Actions
    description: Operations related to wallet actions
  - name: Wallet Automations
    description: Operations related to wallet automations
  - name: Wallets
    description: Operations related to wallets
  - name: Webhooks
    description: >-
      Webhook events that Privy sends to your configured endpoint when specific
      actions occur in your app
  - name: Yield
    description: >-
      Operations for depositing and withdrawing funds from ERC-4626 yield vaults
      (Morpho, Aave)
paths:
  /v1/intents:
    get:
      tags:
        - Intents
      summary: List intents
      description: >-
        List intents for an app. Returns a paginated list with each intent's
        current status and details. Requests authenticated with an app secret
        can retrieve all intents for the app. Requests authenticated with a user
        token return only intents that the authenticated user created, must
        approve, or has signed. Query parameters only narrow this scoped result
        set.
      operationId: listIntents
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 512
            description: Cursor returned by the previous page.
          required: false
          name: cursor
          in: query
        - schema:
            type:
              - number
              - 'null'
            maximum: 100
          required: false
          name: limit
          in: query
        - schema:
            $ref: '#/components/schemas/IntentStatus'
          required: false
          name: status
          in: query
        - schema:
            $ref: '#/components/schemas/IntentType'
          required: false
          name: intent_type
          in: query
        - schema:
            type: string
            description: >-
              Filter by creator user ID. For user-token requests, Privy uses the
              authenticated user ID to scope intent visibility. This filter only
              narrows that scoped result.
          required: false
          description: >-
            Filter by creator user ID. For user-token requests, Privy uses the
            authenticated user ID to scope intent visibility. This filter only
            narrows that scoped result.
          name: created_by_id
          in: query
        - schema:
            type: string
            description: >-
              Filter by a user whose approval is still pending. For user-token
              requests, Privy uses the authenticated user ID to scope intent
              visibility. This filter only narrows that scoped result.
          required: false
          description: >-
            Filter by a user whose approval is still pending. For user-token
            requests, Privy uses the authenticated user ID to scope intent
            visibility. This filter only narrows that scoped result.
          name: pending_member_id
          in: query
        - schema:
            type: string
          required: false
          name: resource_id
          in: query
        - schema:
            type: string
            enum:
              - 'true'
              - 'false'
          required: false
          name: current_user_has_signed
          in: query
        - schema:
            type: string
            enum:
              - created_at_desc
              - expires_at_asc
              - updated_at_desc
          required: false
          name: sort_by
          in: query
        - schema:
            type: string
            description: ID of your Privy app.
          required: true
          name: privy-app-id
          in: header
      responses:
        '200':
          description: List of intents.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/IntentResponse'
                  next_cursor:
                    type:
                      - string
                      - 'null'
                required:
                  - data
      security:
        - appSecretAuth: []
components:
  schemas:
    IntentStatus:
      type: string
      enum:
        - pending
        - processing
        - executed
        - failed
        - expired
        - rejected
        - dismissed
      description: Current status of an intent.
      title: IntentStatus
      x-stainless-model: intents.intent_status
    IntentType:
      type: string
      enum:
        - KEY_QUORUM
        - POLICY
        - RULE
        - RPC
        - TRANSFER
        - WALLET
      description: Type of intent.
      title: IntentType
      x-stainless-model: intents.intent_type
    IntentResponse:
      oneOf:
        - $ref: '#/components/schemas/RpcIntentResponse'
        - $ref: '#/components/schemas/TransferIntentResponse'
        - $ref: '#/components/schemas/WalletIntentResponse'
        - $ref: '#/components/schemas/PolicyIntentResponse'
        - $ref: '#/components/schemas/RuleIntentResponse'
        - $ref: '#/components/schemas/KeyQuorumIntentResponse'
      discriminator:
        propertyName: intent_type
        mapping:
          RPC: '#/components/schemas/RpcIntentResponse'
          TRANSFER: '#/components/schemas/TransferIntentResponse'
          WALLET: '#/components/schemas/WalletIntentResponse'
          POLICY: '#/components/schemas/PolicyIntentResponse'
          RULE: '#/components/schemas/RuleIntentResponse'
          KEY_QUORUM: '#/components/schemas/KeyQuorumIntentResponse'
      description: Response for an intent object
      title: IntentResponse
      x-stainless-model: intents.intent_response
    RpcIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - RPC
            request_details:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - POST
                url:
                  type: string
                body:
                  $ref: '#/components/schemas/WalletRpcRequestBody'
              required:
                - method
                - url
                - body
              description: >-
                The original RPC request that would be sent to the wallet
                endpoint
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/Wallet'
                - description: >-
                    Current state of the wallet before any changes. If
                    undefined, the resource was deleted and no longer exists
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      $ref: '#/components/schemas/WalletRpcResponse'
                  required:
                    - response_body
              description: >-
                Result of RPC execution (only present if status is 'executed' or
                'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for an RPC intent
      title: RpcIntentResponse
      example:
        intent_id: clpq1234567890abcdefghij
        intent_type: RPC
        created_by_display_name: developer@example.com
        created_by_id: did:privy:clabcd123
        created_at: 1741834854578
        resource_id: xs76o3pi0v5syd62ui1wmijw
        authorization_details:
          - members:
              - type: user
                user_id: did:privy:clabcd123
                signed_at: null
            threshold: 1
            display_name: Admin Key Quorum
        status: pending
        custom_expiry: false
        expires_at: 1741921254578
        request_details:
          method: POST
          url: https://api.privy.io/v1/wallets/xs76o3pi0v5syd62ui1wmijw/rpc
          body:
            method: eth_sendTransaction
            caip2: eip155:8453
            chain_type: ethereum
            params:
              transaction:
                to: '0x0000000000000000000000000000000000000000'
                value: 1
      x-stainless-model: intents.rpc_intent_response
    TransferIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - TRANSFER
            request_details:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - POST
                url:
                  type: string
                body:
                  $ref: '#/components/schemas/TransferRequestBody'
              required:
                - method
                - url
                - body
              description: >-
                The original transfer request that would be sent to the wallet
                transfer endpoint
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/Wallet'
                - description: >-
                    Current state of the wallet before any changes. If
                    undefined, the resource was deleted and no longer exists
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      $ref: '#/components/schemas/TransferActionResponse'
                  required:
                    - response_body
              description: >-
                Result of transfer execution (only present if intent status is
                'executed' or 'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for a transfer intent
      title: TransferIntentResponse
      x-stainless-model: intents.transfer_intent_response
    WalletIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - WALLET
            request_details:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - PATCH
                url:
                  type: string
                body:
                  type: object
                  properties:
                    display_name:
                      type:
                        - string
                        - 'null'
                      maxLength: 100
                    external_id:
                      type: string
                      maxLength: 64
                      pattern: ^[a-zA-Z0-9_-]+$
                    policy_ids:
                      $ref: '#/components/schemas/PolicyInput'
                    authorization_key_ids:
                      type: array
                      items:
                        type: string
                    authorization_threshold:
                      type: number
                    additional_signers:
                      $ref: '#/components/schemas/AdditionalSignerInput'
                    owner:
                      $ref: '#/components/schemas/OwnerInput'
                    owner_id:
                      $ref: '#/components/schemas/OwnerIdInput'
                  additionalProperties: false
              required:
                - method
                - url
                - body
              description: >-
                The original wallet update request that would be sent to the
                wallet endpoint
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/Wallet'
                - description: >-
                    Current state of the wallet before any changes. If
                    undefined, the resource was deleted and no longer exists
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      $ref: '#/components/schemas/Wallet'
                    prior_state:
                      allOf:
                        - $ref: '#/components/schemas/Wallet'
                        - description: State of the wallet immediately before execution
                  required:
                    - response_body
                    - prior_state
              description: >-
                Result of wallet update execution (only present if status is
                'executed' or 'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for a wallet intent
      title: WalletIntentResponse
      x-stainless-model: intents.wallet_intent_response
    PolicyIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - POLICY
            request_details:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - PATCH
                url:
                  type: string
                body:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Name to assign to policy.
                    rules:
                      type: array
                      items:
                        $ref: '#/components/schemas/PolicyRuleRequestBody'
                    owner:
                      $ref: '#/components/schemas/OwnerInput'
                    owner_id:
                      $ref: '#/components/schemas/OwnerIdInput'
                  additionalProperties: false
              required:
                - method
                - url
                - body
              description: >-
                The original policy update request that would be sent to the
                policy endpoint
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/Policy'
                - description: >-
                    Current state of the policy before any changes. If
                    undefined, the resource was deleted and no longer exists
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      $ref: '#/components/schemas/Policy'
                    prior_state:
                      allOf:
                        - $ref: '#/components/schemas/Policy'
                        - description: State of the policy immediately before execution
                  required:
                    - response_body
                    - prior_state
              description: >-
                Result of policy update execution (only present if status is
                'executed' or 'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for a policy intent
      title: PolicyIntentResponse
      x-stainless-model: intents.policy_intent_response
    RuleIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - RULE
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/PolicyRuleResponse'
                - description: >-
                    Current state of the rule before any changes. Undefined for
                    create intents or if the rule was deleted
            policy:
              allOf:
                - $ref: '#/components/schemas/Policy'
                - description: >-
                    Parent policy containing this rule, including sibling rules
                    for contextual display
            request_details:
              $ref: '#/components/schemas/RuleIntentRequestDetails'
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      anyOf:
                        - $ref: '#/components/schemas/PolicyRuleResponse'
                        - $ref: '#/components/schemas/SuccessResponse'
                    prior_state:
                      allOf:
                        - $ref: '#/components/schemas/PolicyRuleResponse'
                        - description: >-
                            State of the rule immediately before execution.
                            Undefined for create intents
              description: >-
                Result of rule execution (only present if status is 'executed'
                or 'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for a rule intent
      title: RuleIntentResponse
      x-stainless-model: intents.rule_intent_response
    KeyQuorumIntentResponse:
      allOf:
        - $ref: '#/components/schemas/BaseIntentResponse'
        - type: object
          properties:
            intent_type:
              type: string
              enum:
                - KEY_QUORUM
            request_details:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - PATCH
                url:
                  type: string
                body:
                  allOf:
                    - $ref: '#/components/schemas/KeyQuorumUpdateRequestBody'
                    - additionalProperties: false
              required:
                - method
                - url
                - body
              description: >-
                The original key quorum update request that would be sent to the
                key quorum endpoint
            current_resource_data:
              allOf:
                - $ref: '#/components/schemas/KeyQuorum'
                - description: >-
                    Current state of the key quorum before any changes. If
                    undefined, the resource was deleted and no longer exists
            action_result:
              allOf:
                - $ref: '#/components/schemas/BaseActionResult'
                - type: object
                  properties:
                    response_body:
                      $ref: '#/components/schemas/KeyQuorum'
                    prior_state:
                      allOf:
                        - $ref: '#/components/schemas/KeyQuorum'
                        - description: State of the key quorum immediately before execution
                  required:
                    - response_body
                    - prior_state
              description: >-
                Result of key quorum update execution (only present if status is
                'executed' or 'failed')
              title: BaseActionResult
              x-stainless-model: intents.base_action_result
          required:
            - intent_type
            - request_details
      description: Response for a key quorum intent
      title: KeyQuorumIntentResponse
      x-stainless-model: intents.key_quorum_intent_response
    BaseIntentResponse:
      type: object
      properties:
        intent_id:
          type: string
          description: Unique ID for the intent
        created_by_display_name:
          type: string
          description: Display name of the user who created the intent
        created_by_id:
          type: string
          description: >-
            ID of the user who created the intent. If undefined, the intent was
            created using the app secret
        created_at:
          type: number
          description: Unix timestamp when the intent was created
        resource_id:
          type: string
          description: ID of the resource being modified (wallet_id, policy_id, etc)
        authorization_details:
          type: array
          items:
            $ref: '#/components/schemas/IntentAuthorization'
          description: >-
            Detailed authorization information including key quorum members,
            thresholds, and signature status
        status:
          $ref: '#/components/schemas/IntentStatus'
        custom_expiry:
          type: boolean
          description: >-
            Whether this intent has a custom expiry time set by the client. If
            false, the intent expires after a default duration.
        expires_at:
          type: number
          description: Unix timestamp when the intent expires
        rejected_at:
          type: number
          description: >-
            Unix timestamp when the intent was rejected, present when status is
            'rejected'
        dismissed_at:
          type: number
          description: >-
            Unix timestamp when the intent was dismissed, present when status is
            'dismissed'
        dismissal_reason:
          type: string
          description: >-
            Human-readable reason for dismissal, present when status is
            'dismissed'
      required:
        - intent_id
        - created_by_display_name
        - created_at
        - resource_id
        - authorization_details
        - status
        - custom_expiry
        - expires_at
      description: Common fields shared by all intent response types.
      title: BaseIntentResponse
      x-stainless-model: intents.base_intent_response
    WalletRpcRequestBody:
      oneOf:
        - $ref: '#/components/schemas/EthereumSignTransactionRpcInput'
        - $ref: '#/components/schemas/EthereumSendTransactionRpcInput'
        - $ref: '#/components/schemas/EthereumPersonalSignRpcInput'
        - $ref: '#/components/schemas/EthereumSignTypedDataRpcInput'
        - $ref: '#/components/schemas/EthereumSecp256k1SignRpcInput'
        - $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcInput'
        - $ref: '#/components/schemas/EthereumSignUserOperationRpcInput'
        - $ref: '#/components/schemas/EthereumSendCallsRpcInput'
        - $ref: '#/components/schemas/AptosSignTransactionRpcInput'
        - $ref: '#/components/schemas/SolanaSignTransactionRpcInput'
        - $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcInput'
        - $ref: '#/components/schemas/SolanaSignMessageRpcInput'
        - $ref: '#/components/schemas/SparkTransferRpcInput'
        - $ref: '#/components/schemas/SparkGetBalanceRpcInput'
        - $ref: '#/components/schemas/SparkTransferTokensRpcInput'
        - $ref: '#/components/schemas/SparkGetStaticDepositAddressRpcInput'
        - $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcInput'
        - $ref: '#/components/schemas/SparkClaimStaticDepositRpcInput'
        - $ref: '#/components/schemas/SparkCreateLightningInvoiceRpcInput'
        - $ref: '#/components/schemas/SparkPayLightningInvoiceRpcInput'
        - $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcInput'
        - $ref: '#/components/schemas/SparkWithdrawRpcInput'
        - $ref: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcInput'
        - $ref: '#/components/schemas/TronSignTransactionRpcInput'
        - $ref: '#/components/schemas/TronSendTransactionRpcInput'
        - $ref: '#/components/schemas/XrplSignTransactionRpcInput'
        - $ref: '#/components/schemas/NearSignTransactionRpcRequestBody'
        - $ref: '#/components/schemas/ExportPrivateKeyRpcInput'
        - $ref: '#/components/schemas/ExportSeedPhraseRpcInput'
      discriminator:
        propertyName: method
        mapping:
          eth_signTransaction: '#/components/schemas/EthereumSignTransactionRpcInput'
          eth_sendTransaction: '#/components/schemas/EthereumSendTransactionRpcInput'
          personal_sign: '#/components/schemas/EthereumPersonalSignRpcInput'
          eth_signTypedData_v4: '#/components/schemas/EthereumSignTypedDataRpcInput'
          secp256k1_sign: '#/components/schemas/EthereumSecp256k1SignRpcInput'
          eth_sign7702Authorization: '#/components/schemas/EthereumSign7702AuthorizationRpcInput'
          eth_signUserOperation: '#/components/schemas/EthereumSignUserOperationRpcInput'
          wallet_sendCalls: '#/components/schemas/EthereumSendCallsRpcInput'
          aptos_signTransaction: '#/components/schemas/AptosSignTransactionRpcInput'
          signTransaction: '#/components/schemas/SolanaSignTransactionRpcInput'
          signAndSendTransaction: '#/components/schemas/SolanaSignAndSendTransactionRpcInput'
          signMessage: '#/components/schemas/SolanaSignMessageRpcInput'
          transfer: '#/components/schemas/SparkTransferRpcInput'
          getBalance: '#/components/schemas/SparkGetBalanceRpcInput'
          transferTokens: '#/components/schemas/SparkTransferTokensRpcInput'
          getStaticDepositAddress: '#/components/schemas/SparkGetStaticDepositAddressRpcInput'
          getClaimStaticDepositQuote: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcInput'
          claimStaticDeposit: '#/components/schemas/SparkClaimStaticDepositRpcInput'
          createLightningInvoice: '#/components/schemas/SparkCreateLightningInvoiceRpcInput'
          payLightningInvoice: '#/components/schemas/SparkPayLightningInvoiceRpcInput'
          signMessageWithIdentityKey: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcInput'
          withdraw: '#/components/schemas/SparkWithdrawRpcInput'
          getWithdrawalFeeQuote: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcInput'
          tron_signTransaction: '#/components/schemas/TronSignTransactionRpcInput'
          tron_sendTransaction: '#/components/schemas/TronSendTransactionRpcInput'
          xrpl_signTransaction: '#/components/schemas/XrplSignTransactionRpcInput'
          near_signTransaction: '#/components/schemas/NearSignTransactionRpcRequestBody'
          exportPrivateKey: '#/components/schemas/ExportPrivateKeyRpcInput'
          exportSeedPhrase: '#/components/schemas/ExportSeedPhraseRpcInput'
      description: Request body for wallet RPC operations, discriminated by method.
      title: WalletRpcRequestBody
      x-stainless-model: wallets.wallet_rpc_request_body
    Wallet:
      type: object
      properties:
        id:
          type: string
          description: >-
            Unique ID of the wallet. This will be the primary identifier when
            using the wallet in the future.
        address:
          type: string
          description: Address of the wallet.
        display_name:
          type: string
          description: A human-readable label for the wallet.
        external_id:
          type: string
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
          description: >-
            A customer-provided identifier for mapping to external systems.
            URL-safe characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once:
            cannot be changed once set.
        public_key:
          type: string
          description: >-
            The compressed, raw public key for the wallet along the chain
            cryptographic curve.
        created_at:
          type: number
          description: Unix timestamp of when the wallet was created in milliseconds.
        chain_type:
          $ref: '#/components/schemas/WalletChainType'
        policy_ids:
          type: array
          items:
            type: string
          description: List of policy IDs for policies that are enforced on the wallet.
        owner_id:
          type:
            - string
            - 'null'
          format: cuid2
          description: The key quorum ID of the owner of the wallet.
        entity:
          default: null
          description: The entity the wallet is attributed to.
          anyOf:
            - $ref: '#/components/schemas/WalletEntity'
            - type: 'null'
        additional_signers:
          $ref: '#/components/schemas/WalletAdditionalSigner'
        exported_at:
          type:
            - number
            - 'null'
          description: >-
            Unix timestamp of when the wallet was exported in milliseconds, if
            the wallet was exported.
        imported_at:
          type:
            - number
            - 'null'
          description: >-
            Unix timestamp of when the wallet was imported in milliseconds, if
            the wallet was imported.
        authorization_threshold:
          type: number
          description: The number of keys that must sign for an action to be valid.
        automations:
          type: array
          items:
            $ref: '#/components/schemas/AttachedWalletAutomation'
          description: Automations attached to the wallet, including disabled ones.
        archived_at:
          type:
            - number
            - 'null'
          default: null
          description: >-
            Unix timestamp of when the wallet was archived in milliseconds, or
            null if the wallet is active.
        chain:
          allOf:
            - $ref: '#/components/schemas/CustodialWalletChain'
            - description: The chain of this wallet, only present for custodial wallets.
        custody:
          $ref: '#/components/schemas/WalletCustodian'
      required:
        - id
        - address
        - created_at
        - chain_type
        - policy_ids
        - owner_id
        - additional_signers
        - exported_at
        - imported_at
      description: A wallet managed by Privy's wallet infrastructure.
      title: Wallet
      example:
        id: id2tptkqrxd39qo9j423etij
        address: '0xF1DBff66C993EE895C8cb176c30b07A559d76496'
        display_name: Treasury
        external_id: my-order-123
        chain_type: ethereum
        policy_ids: []
        additional_signers: []
        owner_id: rkiz0ivz254drv1xw982v3jq
        entity:
          id: jorpjo4rfxj62nx1itt8y1zt
          type: user
        created_at: 1741834854578
        exported_at: null
        imported_at: null
        archived_at: null
      x-stainless-model: wallets.wallet
    BaseActionResult:
      type: object
      properties:
        status_code:
          type: number
          description: HTTP status code from the action execution
        executed_at:
          type: number
          description: Unix timestamp when the action was executed
        authorized_by_display_name:
          type: string
          description: Display name of the key quorum that authorized execution
        authorized_by_id:
          type: string
          description: ID of the key quorum that authorized execution
      required:
        - status_code
        - executed_at
      description: Common fields for intent action execution results.
      title: BaseActionResult
      x-stainless-model: intents.base_action_result
    WalletRpcResponse:
      oneOf:
        - $ref: '#/components/schemas/EthereumPersonalSignRpcResponse'
        - $ref: '#/components/schemas/EthereumSignTypedDataRpcResponse'
        - $ref: '#/components/schemas/EthereumSignTransactionRpcResponse'
        - $ref: '#/components/schemas/EthereumSendTransactionRpcResponse'
        - $ref: '#/components/schemas/EthereumSignUserOperationRpcResponse'
        - $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcResponse'
        - $ref: '#/components/schemas/EthereumSecp256k1SignRpcResponse'
        - $ref: '#/components/schemas/EthereumSendCallsRpcResponse'
        - $ref: '#/components/schemas/AptosSignTransactionRpcResponse'
        - $ref: '#/components/schemas/SolanaSignMessageRpcResponse'
        - $ref: '#/components/schemas/SolanaSignTransactionRpcResponse'
        - $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcResponse'
        - $ref: '#/components/schemas/SparkTransferRpcResponse'
        - $ref: '#/components/schemas/SparkGetBalanceRpcResponse'
        - $ref: '#/components/schemas/SparkTransferTokensRpcResponse'
        - $ref: '#/components/schemas/SparkGetStaticDepositAddressRpcResponse'
        - $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcResponse'
        - $ref: '#/components/schemas/SparkClaimStaticDepositRpcResponse'
        - $ref: '#/components/schemas/SparkCreateLightningInvoiceRpcResponse'
        - $ref: '#/components/schemas/SparkPayLightningInvoiceRpcResponse'
        - $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcResponse'
        - $ref: '#/components/schemas/SparkWithdrawRpcResponse'
        - $ref: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcResponse'
        - $ref: '#/components/schemas/TronSignTransactionRpcResponse'
        - $ref: '#/components/schemas/TronSendTransactionRpcResponse'
        - $ref: '#/components/schemas/XrplSignTransactionRpcResponse'
        - $ref: '#/components/schemas/NearSignTransactionRpcResponse'
        - $ref: '#/components/schemas/ExportPrivateKeyRpcResponse'
        - $ref: '#/components/schemas/ExportSeedPhraseRpcResponse'
      discriminator:
        propertyName: method
        mapping:
          personal_sign: '#/components/schemas/EthereumPersonalSignRpcResponse'
          eth_signTypedData_v4: '#/components/schemas/EthereumSignTypedDataRpcResponse'
          eth_signTransaction: '#/components/schemas/EthereumSignTransactionRpcResponse'
          eth_sendTransaction: '#/components/schemas/EthereumSendTransactionRpcResponse'
          eth_signUserOperation: '#/components/schemas/EthereumSignUserOperationRpcResponse'
          eth_sign7702Authorization: '#/components/schemas/EthereumSign7702AuthorizationRpcResponse'
          secp256k1_sign: '#/components/schemas/EthereumSecp256k1SignRpcResponse'
          wallet_sendCalls: '#/components/schemas/EthereumSendCallsRpcResponse'
          aptos_signTransaction: '#/components/schemas/AptosSignTransactionRpcResponse'
          signMessage: '#/components/schemas/SolanaSignMessageRpcResponse'
          signTransaction: '#/components/schemas/SolanaSignTransactionRpcResponse'
          signAndSendTransaction: '#/components/schemas/SolanaSignAndSendTransactionRpcResponse'
          transfer: '#/components/schemas/SparkTransferRpcResponse'
          getBalance: '#/components/schemas/SparkGetBalanceRpcResponse'
          transferTokens: '#/components/schemas/SparkTransferTokensRpcResponse'
          getStaticDepositAddress: '#/components/schemas/SparkGetStaticDepositAddressRpcResponse'
          getClaimStaticDepositQuote: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcResponse'
          claimStaticDeposit: '#/components/schemas/SparkClaimStaticDepositRpcResponse'
          createLightningInvoice: '#/components/schemas/SparkCreateLightningInvoiceRpcResponse'
          payLightningInvoice: '#/components/schemas/SparkPayLightningInvoiceRpcResponse'
          signMessageWithIdentityKey: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcResponse'
          withdraw: '#/components/schemas/SparkWithdrawRpcResponse'
          getWithdrawalFeeQuote: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcResponse'
          tron_signTransaction: '#/components/schemas/TronSignTransactionRpcResponse'
          tron_sendTransaction: '#/components/schemas/TronSendTransactionRpcResponse'
          xrpl_signTransaction: '#/components/schemas/XrplSignTransactionRpcResponse'
          near_signTransaction: '#/components/schemas/NearSignTransactionRpcResponse'
          exportPrivateKey: '#/components/schemas/ExportPrivateKeyRpcResponse'
          exportSeedPhrase: '#/components/schemas/ExportSeedPhraseRpcResponse'
      description: Response body for wallet RPC operations, discriminated by method.
      title: WalletRpcResponse
      example:
        method: eth_sendTransaction
        data:
          hash: '0x0775aeed9c9ce6e0fbc4db25c5e4e6368029651c905c286f813126a09025a21e'
          caip2: eip155:8453
          transaction_request:
            nonce: 1
            to: '0xF1DBff66C993EE895C8cb176c30b07A559d76496'
            from: '0x38Bc05d7b69F63D05337829fA5Dc4896F179B5fA'
            value: '0x1'
            gas_limit: '0x5208'
            max_fee_per_gas: '0xfc328'
            max_priority_fee_per_gas: '0xf4240'
            type: 2
            chain_id: '1'
      x-stainless-model: wallets.wallet_rpc_response
    TransferRequestBody:
      type: object
      properties:
        amount:
          type: string
          maxLength: 100
          description: >-
            Amount as a decimal string in the token's standard unit (e.g. "1.5"
            for 1.5 USDC). For exact_input, the amount to send. For
            exact_output, the exact amount to receive. Takes precedence over
            source.amount when both are provided.
        amount_type:
          $ref: '#/components/schemas/AmountType'
        source:
          $ref: '#/components/schemas/TokenTransferSource'
        destination:
          $ref: '#/components/schemas/TokenTransferDestination'
        slippage_bps:
          type: integer
          minimum: 0
          maximum: 10000
          description: >-
            Maximum allowed slippage in basis points (1 bps = 0.01%). Only
            applicable for cross-chain or cross-asset transfers; omit to use the
            provider default.
        fee_configuration:
          allOf:
            - $ref: '#/components/schemas/FeeConfiguration'
            - description: >-
                Optional fee configuration for the transfer. If omitted,
                cross-chain transfers will not charge additional fees.
        custody_options:
          $ref: '#/components/schemas/TransferCustodyOptions'
        nonce:
          $ref: '#/components/schemas/WalletActionNonce'
        reference_id:
          type: string
          minLength: 1
          maxLength: 64
          description: >-
            Developer-provided identifier for this request. Must be unique per
            app.
      required:
        - source
        - destination
      additionalProperties: false
      description: >-
        Request body for initiating a sponsored token transfer from an embedded
        wallet.
      title: TransferRequestBody
      example:
        amount: '10.5'
        source:
          asset: ousd
          amount: '10.5'
          chain: tempo
        destination:
          address: '0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2'
      x-stainless-model: wallets.transfer_request_body
    TransferActionResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the wallet action.
        status:
          allOf:
            - $ref: '#/components/schemas/WalletActionStatus'
            - description: The current status of the wallet action.
        wallet_id:
          type: string
          description: The ID of the wallet involved in the action.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the wallet action was created.
        reference_id:
          type:
            - string
            - 'null'
          description: Developer-provided reference ID, if one was included in the request.
        failure_reason:
          allOf:
            - $ref: '#/components/schemas/FailureReason'
            - description: >-
                Top-level failure context for the wallet action. Present on
                rejected or failed actions when available.
        steps:
          type: array
          items:
            $ref: '#/components/schemas/WalletActionStep'
          description: >-
            The steps of the wallet action. Only returned if `?include=steps` is
            provided.
        type:
          type: string
          enum:
            - transfer
        amount_type:
          $ref: '#/components/schemas/AmountType'
        source_asset:
          type: string
          description: >-
            Asset identifier (e.g. "usdc", "eth"). Present when the transfer was
            initiated with a named asset; omitted for custom-token transfers.
        source_asset_address:
          type: string
          description: >-
            Token contract address (EVM) or mint address (Solana). Present when
            the transfer was initiated with `asset_address`.
        source_asset_decimals:
          type: integer
          description: >-
            Number of decimals for the transferred token. Present when the
            transfer was initiated with `asset_address` and the decimals were
            resolved on-chain.
        source_amount:
          type: string
          description: >-
            Decimal amount sent on the source chain (e.g. "1.5"). For
            exact_output cross-chain transfers, null until fill confirmation.
        source_chain:
          type: string
          description: Chain name (e.g. "tempo", "base").
        destination_address:
          type: string
          description: Recipient address.
        destination_asset:
          type: string
          description: >-
            Destination asset for cross-asset transfers. Omitted for same-asset
            transfers.
        destination_chain:
          type: string
          description: >-
            Destination chain for cross-chain transfers. Omitted for same-chain
            transfers.
        destination_amount:
          type:
            - string
            - 'null'
          description: >-
            Amount received on the destination chain. For exact_output
            cross-chain transfers, set at creation (the guaranteed exact
            amount). For exact_input cross-chain transfers, null until fill
            confirmation.
        estimated_fees:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/FeeLineItem'
          description: >-
            Estimated fee breakdown from the provider quote. Only present for
            cross-chain or cross-asset transfers. Populated after on-chain
            confirmation.
        estimated_gas:
          description: >-
            Estimated source-chain gas cost from the provider quote. Only
            present for cross-chain or cross-asset transfers. Populated after
            on-chain confirmation.
          anyOf:
            - $ref: '#/components/schemas/Gas'
            - type: 'null'
        fees:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/FeeLineItem'
          description: >-
            Actual fees paid for the transfer. Populated after on-chain
            confirmation. Only present for cross-chain transfers.
        gas:
          description: >-
            Actual source-chain gas cost. Populated after on-chain confirmation.
            Only present for cross-chain transfers.
          anyOf:
            - $ref: '#/components/schemas/Gas'
            - type: 'null'
      required:
        - id
        - status
        - wallet_id
        - created_at
        - type
        - source_chain
        - destination_address
        - destination_amount
      description: Response for a transfer action.
      title: TransferActionResponse
      x-stainless-model: wallets.actions.transfer_action_response
    PolicyInput:
      type: array
      items:
        type: string
        minLength: 24
        maxLength: 24
        format: cuid2
      maxItems: 1
      description: An optional list of up to one policy ID to enforce on the wallet.
      title: PolicyInput
      x-stainless-model: wallets.policy_input
    AdditionalSignerInput:
      type: array
      items:
        $ref: '#/components/schemas/AdditionalSignerItemInput'
      description: Additional signers for the wallet.
      title: AdditionalSignerInput
      x-stainless-model: wallets.additional_signer_input
    OwnerInput:
      anyOf:
        - $ref: '#/components/schemas/OwnerInputUser'
        - $ref: '#/components/schemas/OwnerInputPublicKey'
        - type: 'null'
        - type: 'null'
      description: >-
        The owner of the resource, specified as a Privy user ID, a P-256 public
        key, or null to remove the current owner.
      title: OwnerInput
      x-stainless-model: shared.owner_input
    OwnerIdInput:
      type:
        - string
        - 'null'
      format: cuid2
      description: >-
        The key quorum ID to set as the owner of the resource. If you provide
        this, do not specify an owner.
      title: OwnerIdInput
      x-stainless-model: shared.owner_id_input
    PolicyRuleRequestBody:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 50
        method:
          $ref: '#/components/schemas/PolicyMethod'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/PolicyCondition'
        action:
          $ref: '#/components/schemas/PolicyAction'
      required:
        - name
        - method
        - conditions
        - action
      additionalProperties: false
      description: The rules that apply to each method the policy covers.
      title: PolicyRuleRequestBody
      x-stainless-model: policies.policy_rule_request_body
    Policy:
      type: object
      properties:
        version:
          type: string
          enum:
            - '1.0'
          description: Version of the policy. Currently, 1.0 is the only version.
        name:
          type: string
          minLength: 1
          maxLength: 50
          description: Name to assign to policy.
        chain_type:
          $ref: '#/components/schemas/WalletChainType'
        id:
          type: string
          minLength: 24
          maxLength: 24
          description: >-
            Unique ID of the created policy. This will be the primary identifier
            when using the policy in the future.
        owner_id:
          description: The key quorum ID of the owner of the policy.
          anyOf:
            - $ref: '#/components/schemas/KeyQuorumId'
            - type: 'null'
        created_at:
          type: number
          description: Unix timestamp of when the policy was created in milliseconds.
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PolicyRuleResponse'
      required:
        - version
        - name
        - chain_type
        - id
        - owner_id
        - created_at
        - rules
      additionalProperties: false
      description: A policy for controlling wallet operations.
      title: Policy
      example:
        id: tb54eps4z44ed0jepousxi4n
        name: Allowlisted stablecoins
        chain_type: ethereum
        rules:
          - id: bdyfoa65pro1eez6iwtzanol
            name: Allowlist USDC contract on Base
            method: eth_sendTransaction
            conditions:
              - field_source: ethereum_transaction
                field: to
                operator: eq
                value: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
            action: ALLOW
        owner_id: null
        version: '1.0'
        created_at: 1741833088894
      x-stainless-model: policies.policy
    PolicyRuleResponse:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 50
        method:
          $ref: '#/components/schemas/PolicyMethod'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/PolicyCondition'
        action:
          $ref: '#/components/schemas/PolicyAction'
        id:
          type: string
      required:
        - name
        - method
        - conditions
        - action
        - id
      additionalProperties: false
      description: >-
        A rule that defines the conditions and action to take if the conditions
        are true.
      title: PolicyRuleResponse
      example:
        id: rule_123
        name: Allowlist USDC contract on Base
        method: eth_sendTransaction
        conditions:
          - field_source: ethereum_transaction
            field: to
            operator: eq
            value: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        action: ALLOW
      x-stainless-model: policies.policy_rule_response
    RuleIntentRequestDetails:
      oneOf:
        - $ref: '#/components/schemas/RuleIntentCreateRequestDetails'
        - $ref: '#/components/schemas/RuleIntentUpdateRequestDetails'
        - $ref: '#/components/schemas/RuleIntentDeleteRequestDetails'
      discriminator:
        propertyName: method
        mapping:
          POST: '#/components/schemas/RuleIntentCreateRequestDetails'
          PATCH: '#/components/schemas/RuleIntentUpdateRequestDetails'
          DELETE: '#/components/schemas/RuleIntentDeleteRequestDetails'
      description: >-
        The original rule request. Method is POST (create), PATCH (update), or
        DELETE (delete)
      title: RuleIntentRequestDetails
      x-stainless-model: intents.rule_intent_request_details
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
      required:
        - success
      description: A simple success response.
      title: SuccessResponse
      x-stainless-model: shared.success_response
    KeyQuorumUpdateRequestBody:
      type: object
      properties:
        public_keys:
          type: array
          items:
            type: string
          description: >-
            List of P-256 public keys of the keys that should be authorized to
            sign on the key quorum, in base64-encoded DER format.
        authorization_threshold:
          type: number
          description: >-
            The number of keys that must sign for an action to be valid. Must be
            less than or equal to total number of key quorum members.
        display_name:
          type: string
          maxLength: 50
        user_ids:
          type: array
          items:
            type: string
          description: >-
            List of user IDs of the users that should be authorized to sign on
            the key quorum.
        key_quorum_ids:
          type: array
          items:
            type: string
          maxItems: 5
          description: >-
            List of key quorum IDs that should be members of this key quorum.
            Key quorums can only be nested 1 level deep.
      description: >-
        Request input for updating an existing key quorum. At least one field
        must be provided.
      title: KeyQuorumUpdateRequestBody
      x-stainless-model: key_quorums.key_quorum_update_request_body
    KeyQuorum:
      type: object
      properties:
        id:
          type: string
          format: cuid2
        display_name:
          type:
            - string
            - 'null'
          maxLength: 50
        authorization_threshold:
          type:
            - number
            - 'null'
          minimum: 1
        authorization_keys:
          type: array
          items:
            $ref: '#/components/schemas/AuthorizationKey'
        user_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        key_quorum_ids:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 5
          description: List of nested key quorum IDs that are members of this key quorum.
      required:
        - id
        - display_name
        - authorization_threshold
        - authorization_keys
        - user_ids
      description: A key quorum for authorizing wallet operations.
      title: KeyQuorum
      example:
        id: tb54eps4z44ed0jepousxi4n
        display_name: Prod key quorum
        authorization_threshold: 1
        authorization_keys:
          - public_key: |-
              MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEx4aoeD72yykviK+f/ckqE2CItVIG
              1rCnvC3/XZ1HgpOcMEMialRmTrqIK4oZlYd1RfxU3za/C9yjhboIuoPD3g==
            display_name: null
          - public_key: |-
              MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErzZtQr/bMIh3Y8f9ZqseB9i/AfjQ
              hu+agbNqXcJy/TfoNqvc/Y3Mh7gIZ8ZLXQEykycx4mYSpqrxp1lBKqsZDQ==
            display_name: null
        user_ids: null
      x-stainless-model: key_quorums.key_quorum
    IntentAuthorization:
      type: object
      properties:
        members:
          type: array
          items:
            $ref: '#/components/schemas/IntentAuthorizationMember'
          description: Members in this authorization quorum
        threshold:
          type: number
          description: Number of signatures required to satisfy this quorum
        display_name:
          type: string
          description: Display name of the key quorum
      required:
        - members
        - threshold
      description: Authorization quorum for an intent
      title: IntentAuthorization
      x-stainless-model: intents.intent_authorization
    EthereumSignTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signTransaction
        params:
          $ref: '#/components/schemas/EthereumSignTransactionRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Executes the EVM `eth_signTransaction` RPC to sign a transaction.
      title: EthereumSignTransactionRpcInput
      x-stainless-model: wallets.ethereum_sign_transaction_rpc_input
    EthereumSendTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_sendTransaction
        caip2:
          $ref: '#/components/schemas/CAIP2'
        params:
          $ref: '#/components/schemas/EthereumSendTransactionRpcInputParams'
        sponsor:
          type: boolean
        sponsor_options:
          $ref: '#/components/schemas/RpcSponsorOptions'
        reference_id:
          type: string
          minLength: 1
          maxLength: 64
          description: >-
            Developer-provided identifier for this request. Must be unique per
            app.
        experimental_data_suffix:
          $ref: '#/components/schemas/Hex'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - caip2
        - params
      additionalProperties: false
      description: >-
        Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a
        transaction.
      title: EthereumSendTransactionRpcInput
      x-stainless-model: wallets.ethereum_send_transaction_rpc_input
    EthereumPersonalSignRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - personal_sign
        params:
          $ref: '#/components/schemas/EthereumPersonalSignRpcInputParams'
        caip2:
          $ref: '#/components/schemas/CAIP2'
        signature_options:
          $ref: '#/components/schemas/SignatureOptions'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
      title: EthereumPersonalSignRpcInput
      x-stainless-model: wallets.ethereum_personal_sign_rpc_input
    EthereumSignTypedDataRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signTypedData_v4
        params:
          $ref: '#/components/schemas/EthereumSignTypedDataRpcInputParams'
        caip2:
          $ref: '#/components/schemas/CAIP2'
        signature_options:
          $ref: '#/components/schemas/SignatureOptions'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed
        data object.
      title: EthereumSignTypedDataRpcInput
      x-stainless-model: wallets.ethereum_sign_typed_data_rpc_input
    EthereumSecp256k1SignRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - secp256k1_sign
        params:
          $ref: '#/components/schemas/EthereumSecp256k1SignRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Signs a raw hash on the secp256k1 curve.
      title: EthereumSecp256k1SignRpcInput
      x-stainless-model: wallets.ethereum_secp_256k_1_sign_rpc_input
    EthereumSign7702AuthorizationRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_sign7702Authorization
        params:
          $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Signs an EIP-7702 authorization.
      title: EthereumSign7702AuthorizationRpcInput
      x-stainless-model: wallets.ethereum_sign_7702_authorization_rpc_input
    EthereumSignUserOperationRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signUserOperation
        params:
          $ref: '#/components/schemas/EthereumSignUserOperationRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Executes an RPC method to hash and sign a UserOperation.
      title: EthereumSignUserOperationRpcInput
      x-stainless-model: wallets.ethereum_sign_user_operation_rpc_input
    EthereumSendCallsRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - wallet_sendCalls
        caip2:
          $ref: '#/components/schemas/CAIP2'
        params:
          $ref: '#/components/schemas/EthereumSendCallsRpcInputParams'
        sponsor:
          type: boolean
        sponsor_options:
          $ref: '#/components/schemas/RpcSponsorOptions'
        experimental_data_suffix:
          $ref: '#/components/schemas/Hex'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - ethereum
        wallet_id:
          type: string
      required:
        - method
        - caip2
        - params
      additionalProperties: false
      description: >-
        Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls
        into a single atomic transaction.
      title: EthereumSendCallsRpcInput
      x-stainless-model: wallets.ethereum_send_calls_rpc_input
    AptosSignTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - aptos_signTransaction
        params:
          $ref: '#/components/schemas/AptosSignTransactionRpcInputParams'
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the Aptos `aptos_signTransaction` RPC to sign a legacy
        single-signer Ed25519 RawTransaction. The caller is responsible for
        broadcasting.
      title: AptosSignTransactionRpcInput
      x-stainless-model: wallets.aptos_sign_transaction_rpc_input
    SolanaSignTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - signTransaction
        params:
          $ref: '#/components/schemas/SolanaSignTransactionRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - solana
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Executes the SVM `signTransaction` RPC to sign a transaction.
      title: SolanaSignTransactionRpcInput
      x-stainless-model: wallets.solana_sign_transaction_rpc_input
    SolanaSignAndSendTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - signAndSendTransaction
        caip2:
          $ref: '#/components/schemas/CAIP2'
        params:
          $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcInputParams'
        sponsor:
          type: boolean
        sponsor_options:
          $ref: '#/components/schemas/RpcSponsorOptions'
        reference_id:
          type: string
          minLength: 1
          maxLength: 64
          description: >-
            Developer-provided identifier for this request. Must be unique per
            app.
        optimistic_broadcast:
          type: boolean
        address:
          type: string
        chain_type:
          type: string
          enum:
            - solana
        wallet_id:
          type: string
      required:
        - method
        - caip2
        - params
      additionalProperties: false
      description: >-
        Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a
        transaction.
      title: SolanaSignAndSendTransactionRpcInput
      x-stainless-model: wallets.solana_sign_and_send_transaction_rpc_input
    SolanaSignMessageRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - signMessage
        params:
          $ref: '#/components/schemas/SolanaSignMessageRpcInputParams'
        address:
          type: string
        chain_type:
          type: string
          enum:
            - solana
        wallet_id:
          type: string
      required:
        - method
        - params
      additionalProperties: false
      description: Executes the SVM `signMessage` RPC to sign a message.
      title: SolanaSignMessageRpcInput
      x-stainless-model: wallets.solana_sign_message_rpc_input
    SparkTransferRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - transfer
        params:
          $ref: '#/components/schemas/SparkTransferRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Transfers satoshis to a Spark address.
      title: SparkTransferRpcInput
      x-stainless-model: wallets.spark_transfer_rpc_input
    SparkGetBalanceRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - getBalance
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
      additionalProperties: false
      description: Gets the balance of the Spark wallet.
      title: SparkGetBalanceRpcInput
      x-stainless-model: wallets.spark_get_balance_rpc_input
    SparkTransferTokensRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - transferTokens
        params:
          $ref: '#/components/schemas/SparkTransferTokensRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Transfers tokens to a Spark address.
      title: SparkTransferTokensRpcInput
      x-stainless-model: wallets.spark_transfer_tokens_rpc_input
    SparkGetStaticDepositAddressRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - getStaticDepositAddress
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
      additionalProperties: false
      description: Gets a static deposit address for the Spark wallet.
      title: SparkGetStaticDepositAddressRpcInput
      x-stainless-model: wallets.spark_get_static_deposit_address_rpc_input
    SparkGetClaimStaticDepositQuoteRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - getClaimStaticDepositQuote
        params:
          $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Gets a quote for claiming a static deposit.
      title: SparkGetClaimStaticDepositQuoteRpcInput
      x-stainless-model: wallets.spark_get_claim_static_deposit_quote_rpc_input
    SparkClaimStaticDepositRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - claimStaticDeposit
        params:
          $ref: '#/components/schemas/SparkClaimStaticDepositRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Claims a static deposit into the Spark wallet.
      title: SparkClaimStaticDepositRpcInput
      x-stainless-model: wallets.spark_claim_static_deposit_rpc_input
    SparkCreateLightningInvoiceRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - createLightningInvoice
        params:
          $ref: '#/components/schemas/SparkCreateLightningInvoiceRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Creates a Lightning invoice for the Spark wallet.
      title: SparkCreateLightningInvoiceRpcInput
      x-stainless-model: wallets.spark_create_lightning_invoice_rpc_input
    SparkPayLightningInvoiceRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - payLightningInvoice
        params:
          $ref: '#/components/schemas/SparkPayLightningInvoiceRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Pays a Lightning invoice from the Spark wallet.
      title: SparkPayLightningInvoiceRpcInput
      x-stainless-model: wallets.spark_pay_lightning_invoice_rpc_input
    SparkSignMessageWithIdentityKeyRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - signMessageWithIdentityKey
        params:
          $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Signs a message with the Spark identity key.
      title: SparkSignMessageWithIdentityKeyRpcInput
      x-stainless-model: wallets.spark_sign_message_with_identity_key_rpc_input
    SparkWithdrawRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - withdraw
        params:
          $ref: '#/components/schemas/SparkWithdrawRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Withdraws from Spark to a Bitcoin L1 address (cooperative exit).
      title: SparkWithdrawRpcInput
      x-stainless-model: wallets.spark_withdraw_rpc_input
    SparkGetWithdrawalFeeQuoteRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - getWithdrawalFeeQuote
        params:
          $ref: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcInputParams'
        network:
          allOf:
            - $ref: '#/components/schemas/SparkNetwork'
            - default: MAINNET
      required:
        - method
        - params
      additionalProperties: false
      description: Gets a fee quote for withdrawing from Spark to a Bitcoin L1 address.
      title: SparkGetWithdrawalFeeQuoteRpcInput
      x-stainless-model: wallets.spark_get_withdrawal_fee_quote_rpc_input
    TronSignTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - tron_signTransaction
        params:
          $ref: '#/components/schemas/TronSignTransactionRpcInputParams'
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the Tron `tron_signTransaction` RPC to sign a transaction. The
        caller is responsible for broadcasting.
      title: TronSignTransactionRpcInput
      x-stainless-model: wallets.tron_sign_transaction_rpc_input
    TronSendTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - tron_sendTransaction
        caip2:
          $ref: '#/components/schemas/CAIP2'
        params:
          $ref: '#/components/schemas/TronSendTransactionRpcInputParams'
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the Tron `tron_sendTransaction` RPC to sign and broadcast a
        transaction.
      title: TronSendTransactionRpcInput
      x-stainless-model: wallets.tron_send_transaction_rpc_input
    XrplSignTransactionRpcInput:
      type: object
      properties:
        method:
          type: string
          enum:
            - xrpl_signTransaction
        params:
          $ref: '#/components/schemas/XrplSignTransactionRpcInputParams'
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the XRPL `xrpl_signTransaction` RPC to sign a transaction. The
        caller is responsible for broadcasting.
      title: XrplSignTransactionRpcInput
      x-stainless-model: wallets.xrpl_sign_transaction_rpc_input
    NearSignTransactionRpcRequestBody:
      type: object
      properties:
        method:
          type: string
          enum:
            - near_signTransaction
        params:
          $ref: '#/components/schemas/NearSignTransactionRpcRequestBodyParams'
      required:
        - method
        - params
      additionalProperties: false
      description: >-
        Executes the NEAR `near_signTransaction` RPC to sign a transaction. The
        caller is responsible for broadcasting.
      title: NearSignTransactionRpcRequestBody
      x-stainless-model: wallets.near_sign_transaction_rpc_request_body
    ExportPrivateKeyRpcInput:
      type: object
      properties:
        address:
          type: string
        method:
          type: string
          enum:
            - exportPrivateKey
        params:
          $ref: '#/components/schemas/PrivateKeyExportInput'
      required:
        - address
        - method
        - params
      additionalProperties: false
      description: Exports the private key of the wallet.
      title: ExportPrivateKeyRpcInput
      x-stainless-model: wallets.export_private_key_rpc_input
    ExportSeedPhraseRpcInput:
      type: object
      properties:
        address:
          type: string
        method:
          type: string
          enum:
            - exportSeedPhrase
        params:
          $ref: '#/components/schemas/SeedPhraseExportInput'
      required:
        - address
        - method
        - params
      additionalProperties: false
      description: Exports the seed phrase of the wallet.
      title: ExportSeedPhraseRpcInput
      x-stainless-model: wallets.export_seed_phrase_rpc_input
    WalletChainType:
      type: string
      enum:
        - ethereum
        - solana
        - cosmos
        - stellar
        - sui
        - aptos
        - movement
        - tron
        - bitcoin-segwit
        - bitcoin-taproot
        - pearl
        - near
        - ton
        - starknet
        - xrpl
        - spark
      description: The wallet chain types.
      title: WalletChainType
      x-stainless-model: wallets.wallet_chain_type
    WalletEntity:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/EntityId'
        type:
          $ref: '#/components/schemas/WalletEntityType'
      required:
        - id
        - type
      additionalProperties: false
      description: The entity a wallet is attributed to.
      title: WalletEntity
      example:
        id: jorpjo4rfxj62nx1itt8y1zt
        type: user
      x-stainless-model: wallets.wallet_entity
    WalletAdditionalSigner:
      type: array
      items:
        $ref: '#/components/schemas/WalletAdditionalSignerItem'
      description: Additional signers for the wallet.
      title: WalletAdditionalSigner
      x-stainless-model: wallets.wallet_additional_signer
    AttachedWalletAutomation:
      type: object
      properties:
        id:
          type: string
          description: ID of the automation.
        enabled:
          type: boolean
          description: >-
            Whether this attachment is currently active — true only if both the
            attachment and the underlying automation are enabled.
      required:
        - id
        - enabled
      additionalProperties: false
      description: A summary of an automation attached to a wallet.
      title: AttachedWalletAutomation
      example:
        id: id2tptkqrxd39qo9j423etij
        enabled: true
      x-stainless-model: wallets.attached_wallet_automation
    CustodialWalletChain:
      type: string
      enum:
        - base
        - solana
        - tempo
      description: The chain of the custodial wallet.
      title: CustodialWalletChain
      example: tempo
      x-stainless-model: wallets.custodial_wallet_chain
    WalletCustodian:
      type: object
      properties:
        provider:
          type: string
          description: The custodian responsible for the wallet.
        provider_user_id:
          type: string
          description: The resource ID of the beneficiary of the custodial wallet.
      required:
        - provider
        - provider_user_id
      description: Information about the custodian managing this wallet.
      title: WalletCustodian
      x-stainless-model: wallets.wallet_custodian
    EthereumPersonalSignRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - personal_sign
        data:
          $ref: '#/components/schemas/EthereumPersonalSignRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `personal_sign` RPC.
      title: EthereumPersonalSignRpcResponse
      x-stainless-model: wallets.ethereum_personal_sign_rpc_response
    EthereumSignTypedDataRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signTypedData_v4
        data:
          $ref: '#/components/schemas/EthereumSignTypedDataRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `eth_signTypedData_v4` RPC.
      title: EthereumSignTypedDataRpcResponse
      x-stainless-model: wallets.ethereum_sign_typed_data_rpc_response
    EthereumSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signTransaction
        data:
          $ref: '#/components/schemas/EthereumSignTransactionRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `eth_signTransaction` RPC.
      title: EthereumSignTransactionRpcResponse
      x-stainless-model: wallets.ethereum_sign_transaction_rpc_response
    EthereumSendTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_sendTransaction
        data:
          $ref: '#/components/schemas/EthereumSendTransactionRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `eth_sendTransaction` RPC.
      title: EthereumSendTransactionRpcResponse
      x-stainless-model: wallets.ethereum_send_transaction_rpc_response
    EthereumSignUserOperationRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_signUserOperation
        data:
          $ref: '#/components/schemas/EthereumSignUserOperationRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `eth_signUserOperation` RPC.
      title: EthereumSignUserOperationRpcResponse
      x-stainless-model: wallets.ethereum_sign_user_operation_rpc_response
    EthereumSign7702AuthorizationRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - eth_sign7702Authorization
        data:
          $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `eth_sign7702Authorization` RPC.
      title: EthereumSign7702AuthorizationRpcResponse
      x-stainless-model: wallets.ethereum_sign_7702_authorization_rpc_response
    EthereumSecp256k1SignRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - secp256k1_sign
        data:
          $ref: '#/components/schemas/EthereumSecp256k1SignRpcResponseData'
      required:
        - method
        - data
      description: Response to the EVM `secp256k1_sign` RPC.
      title: EthereumSecp256k1SignRpcResponse
      x-stainless-model: wallets.ethereum_secp_256k_1_sign_rpc_response
    EthereumSendCallsRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - wallet_sendCalls
        data:
          $ref: '#/components/schemas/EthereumSendCallsRpcResponseData'
      required:
        - method
        - data
      description: Response to the `wallet_sendCalls` RPC.
      title: EthereumSendCallsRpcResponse
      x-stainless-model: wallets.ethereum_send_calls_rpc_response
    AptosSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - aptos_signTransaction
        data:
          $ref: '#/components/schemas/AptosSignTransactionRpcResponseData'
      required:
        - method
        - data
      additionalProperties: false
      description: Response to the Aptos `aptos_signTransaction` RPC.
      title: AptosSignTransactionRpcResponse
      x-stainless-model: wallets.aptos_sign_transaction_rpc_response
    SolanaSignMessageRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - signMessage
        data:
          $ref: '#/components/schemas/SolanaSignMessageRpcResponseData'
      required:
        - method
        - data
      description: Response to the SVM `signMessage` RPC.
      title: SolanaSignMessageRpcResponse
      x-stainless-model: wallets.solana_sign_message_rpc_response
    SolanaSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - signTransaction
        data:
          $ref: '#/components/schemas/SolanaSignTransactionRpcResponseData'
      required:
        - method
        - data
      description: Response to the SVM `signTransaction` RPC.
      title: SolanaSignTransactionRpcResponse
      x-stainless-model: wallets.solana_sign_transaction_rpc_response
    SolanaSignAndSendTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - signAndSendTransaction
        data:
          $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcResponseData'
      required:
        - method
        - data
      description: Response to the SVM `signAndSendTransaction` RPC.
      title: SolanaSignAndSendTransactionRpcResponse
      x-stainless-model: wallets.solana_sign_and_send_transaction_rpc_response
    SparkTransferRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - transfer
        data:
          $ref: '#/components/schemas/SparkTransfer'
      required:
        - method
      description: Response to the Spark `transfer` RPC.
      title: SparkTransferRpcResponse
      x-stainless-model: wallets.spark_transfer_rpc_response
    SparkGetBalanceRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - getBalance
        data:
          $ref: '#/components/schemas/SparkBalance'
      required:
        - method
      description: Response to the Spark `getBalance` RPC.
      title: SparkGetBalanceRpcResponse
      x-stainless-model: wallets.spark_get_balance_rpc_response
    SparkTransferTokensRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - transferTokens
        data:
          $ref: '#/components/schemas/SparkTransferTokensRpcResponseData'
      required:
        - method
      description: Response to the Spark `transferTokens` RPC.
      title: SparkTransferTokensRpcResponse
      x-stainless-model: wallets.spark_transfer_tokens_rpc_response
    SparkGetStaticDepositAddressRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - getStaticDepositAddress
        data:
          $ref: '#/components/schemas/SparkGetStaticDepositAddressRpcResponseData'
      required:
        - method
      description: Response to the Spark `getStaticDepositAddress` RPC.
      title: SparkGetStaticDepositAddressRpcResponse
      x-stainless-model: wallets.spark_get_static_deposit_address_rpc_response
    SparkGetClaimStaticDepositQuoteRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - getClaimStaticDepositQuote
        data:
          $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcResponseData'
      required:
        - method
      description: Response to the Spark `getClaimStaticDepositQuote` RPC.
      title: SparkGetClaimStaticDepositQuoteRpcResponse
      x-stainless-model: wallets.spark_get_claim_static_deposit_quote_rpc_response
    SparkClaimStaticDepositRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - claimStaticDeposit
        data:
          $ref: '#/components/schemas/SparkClaimStaticDepositRpcResponseData'
      required:
        - method
      description: Response to the Spark `claimStaticDeposit` RPC.
      title: SparkClaimStaticDepositRpcResponse
      x-stainless-model: wallets.spark_claim_static_deposit_rpc_response
    SparkCreateLightningInvoiceRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - createLightningInvoice
        data:
          $ref: '#/components/schemas/SparkLightningReceiveRequest'
      required:
        - method
      description: Response to the Spark `createLightningInvoice` RPC.
      title: SparkCreateLightningInvoiceRpcResponse
      x-stainless-model: wallets.spark_create_lightning_invoice_rpc_response
    SparkPayLightningInvoiceRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - payLightningInvoice
        data:
          anyOf:
            - $ref: '#/components/schemas/SparkTransfer'
            - $ref: '#/components/schemas/SparkLightningSendRequest'
      required:
        - method
      description: Response to the Spark `payLightningInvoice` RPC.
      title: SparkPayLightningInvoiceRpcResponse
      x-stainless-model: wallets.spark_pay_lightning_invoice_rpc_response
    SparkSignMessageWithIdentityKeyRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - signMessageWithIdentityKey
        data:
          $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcResponseData'
      required:
        - method
      description: Response to the Spark `signMessageWithIdentityKey` RPC.
      title: SparkSignMessageWithIdentityKeyRpcResponse
      x-stainless-model: wallets.spark_sign_message_with_identity_key_rpc_response
    SparkWithdrawRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - withdraw
        data:
          $ref: '#/components/schemas/SparkCoopExitRequest'
      required:
        - method
      description: Response to the Spark `withdraw` RPC.
      title: SparkWithdrawRpcResponse
      x-stainless-model: wallets.spark_withdraw_rpc_response
    SparkGetWithdrawalFeeQuoteRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - getWithdrawalFeeQuote
        data:
          $ref: '#/components/schemas/SparkCoopExitFeeQuote'
      required:
        - method
      description: Response to the Spark `getWithdrawalFeeQuote` RPC.
      title: SparkGetWithdrawalFeeQuoteRpcResponse
      x-stainless-model: wallets.spark_get_withdrawal_fee_quote_rpc_response
    TronSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - tron_signTransaction
        data:
          $ref: '#/components/schemas/TronSignTransactionRpcResponseData'
      required:
        - method
        - data
      additionalProperties: false
      description: Response to the Tron `tron_signTransaction` RPC.
      title: TronSignTransactionRpcResponse
      x-stainless-model: wallets.tron_sign_transaction_rpc_response
    TronSendTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - tron_sendTransaction
        data:
          $ref: '#/components/schemas/TronSendTransactionRpcResponseData'
      required:
        - method
        - data
      additionalProperties: false
      description: Response to the Tron `tron_sendTransaction` RPC.
      title: TronSendTransactionRpcResponse
      x-stainless-model: wallets.tron_send_transaction_rpc_response
    XrplSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - xrpl_signTransaction
        data:
          $ref: '#/components/schemas/XrplSignTransactionRpcResponseData'
      required:
        - method
        - data
      additionalProperties: false
      description: Response to the XRPL `xrpl_signTransaction` RPC.
      title: XrplSignTransactionRpcResponse
      x-stainless-model: wallets.xrpl_sign_transaction_rpc_response
    NearSignTransactionRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - near_signTransaction
        data:
          $ref: '#/components/schemas/NearSignTransactionRpcResponseData'
      required:
        - method
        - data
      additionalProperties: false
      description: Response to the NEAR `near_signTransaction` RPC.
      title: NearSignTransactionRpcResponse
      x-stainless-model: wallets.near_sign_transaction_rpc_response
    ExportPrivateKeyRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - exportPrivateKey
        data:
          $ref: '#/components/schemas/PrivateKeyExportInput'
      required:
        - method
        - data
      description: Response to the `exportPrivateKey` RPC.
      title: ExportPrivateKeyRpcResponse
      x-stainless-model: wallets.export_private_key_rpc_response
    ExportSeedPhraseRpcResponse:
      type: object
      properties:
        method:
          type: string
          enum:
            - exportSeedPhrase
        data:
          $ref: '#/components/schemas/SeedPhraseExportResponse'
      required:
        - method
        - data
      description: Response to the `exportSeedPhrase` RPC.
      title: ExportSeedPhraseRpcResponse
      x-stainless-model: wallets.export_seed_phrase_rpc_response
    AmountType:
      type: string
      enum:
        - exact_input
        - exact_output
      description: Whether the amount refers to the input token or output token.
      title: AmountType
      x-stainless-model: wallets.amount_type
    TokenTransferSource:
      anyOf:
        - $ref: '#/components/schemas/NamedTokenTransferSource'
        - $ref: '#/components/schemas/CustomTokenTransferSource'
      description: >-
        The source asset, amount, and chain for a token transfer. Specify either
        `asset` (named) or `asset_address` (custom), not both.
      title: TokenTransferSource
      example:
        asset: ousd
        amount: '10.5'
        chain: tempo
      x-stainless-model: wallets.token_transfer_source
    TokenTransferDestination:
      type: object
      properties:
        address:
          anyOf:
            - type: string
            - type: string
            - $ref: '#/components/schemas/TronAddress'
          description: >-
            Recipient address (hex for EVM, base58 for Solana, base58check for
            Tron)
        asset:
          type: string
          description: >-
            The destination asset. Required for cross-asset transfers (e.g.,
            source 'usdt' to destination 'usdc').
        chain:
          type: string
          description: >-
            The destination blockchain network. Required for cross-chain
            transfers (e.g., source 'tempo' to destination 'base').
      required:
        - address
      additionalProperties: false
      description: >-
        The destination address for a token transfer. Optionally specify a
        different asset or chain for cross-asset or cross-chain transfers.
      title: TokenTransferDestination
      example:
        address: '0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2'
      x-stainless-model: wallets.token_transfer_destination
    FeeConfiguration:
      oneOf:
        - $ref: '#/components/schemas/TotalFeeConfigurationBps'
      discriminator:
        propertyName: type
        mapping:
          total_fee_bps: '#/components/schemas/TotalFeeConfigurationBps'
      description: >-
        How transfer fees are specified. If omitted, a default fee configuration
        is applied.
      title: FeeConfiguration
      example:
        type: total_fee_bps
        value: 50
      x-stainless-model: wallets.fee_configuration
    TransferCustodyOptions:
      type: object
      properties:
        initiation:
          $ref: '#/components/schemas/TransferInitiation'
      required:
        - initiation
      additionalProperties: false
      description: Options for a transfer from a custodial wallet.
      title: TransferCustodyOptions
      example:
        initiation:
          channel: other_mobile_payment
          subchannel: remote
          attestations:
            sca:
              outcome: not_applicable
      x-stainless-model: wallets.transfer_custody_options
    WalletActionNonce:
      type: string
      minLength: 24
      maxLength: 255
      description: >-
        Unique caller-generated nonce used to prevent replaying a signed wallet
        action request. Must be at least 24 characters (e.g. a cuid2 or UUID).
      title: WalletActionNonce
      x-stainless-model: wallets.wallet_action_nonce
    WalletActionStatus:
      type: string
      enum:
        - pending
        - succeeded
        - rejected
        - failed
      description: Status of a wallet action.
      title: WalletActionStatus
      x-stainless-model: wallets.actions.wallet_action_status
    FailureReason:
      type: object
      properties:
        message:
          type: string
          description: Human-readable failure message.
        details:
          description: Additional error details, if available.
          x-stainless-any: true
      required:
        - message
      description: >-
        A description of why a wallet action (or a step within a wallet action)
        failed.
      title: FailureReason
      x-stainless-model: wallets.actions.failure_reason
    WalletActionStep:
      oneOf:
        - $ref: '#/components/schemas/EVMTransactionWalletActionStep'
        - $ref: '#/components/schemas/EVMUserOperationWalletActionStep'
        - $ref: '#/components/schemas/SVMTransactionWalletActionStep'
        - $ref: '#/components/schemas/TVMTransactionWalletActionStep'
        - $ref: '#/components/schemas/ExternalTransactionWalletActionStep'
        - $ref: '#/components/schemas/CustodianTransactionWalletActionStep'
        - $ref: '#/components/schemas/TempoZoneSettlementWalletActionStep'
      discriminator:
        propertyName: type
        mapping:
          evm_transaction: '#/components/schemas/EVMTransactionWalletActionStep'
          evm_user_operation: '#/components/schemas/EVMUserOperationWalletActionStep'
          svm_transaction: '#/components/schemas/SVMTransactionWalletActionStep'
          tvm_transaction: '#/components/schemas/TVMTransactionWalletActionStep'
          external_transaction: '#/components/schemas/ExternalTransactionWalletActionStep'
          custodian_transaction: '#/components/schemas/CustodianTransactionWalletActionStep'
          tempo_zone_settlement: '#/components/schemas/TempoZoneSettlementWalletActionStep'
      description: A step within a wallet action, representing a single onchain action.
      title: WalletActionStep
      x-stainless-model: wallets.actions.wallet_action_step
    FeeLineItem:
      oneOf:
        - $ref: '#/components/schemas/RelayerFee'
        - $ref: '#/components/schemas/PrivyFee'
        - $ref: '#/components/schemas/DeveloperFee'
      discriminator:
        propertyName: type
        mapping:
          relayer: '#/components/schemas/RelayerFee'
          privy: '#/components/schemas/PrivyFee'
          developer: '#/components/schemas/DeveloperFee'
      description: An individual fee assessed on a transfer.
      title: FeeLineItem
      example:
        type: privy
        amount: '0.20'
      x-stainless-model: wallets.fee_line_item
    Gas:
      type: object
      properties:
        base_amount:
          type: string
          description: Gas cost in the gas token's base units (e.g. wei).
        amount:
          type: string
          description: >-
            Gas cost in the gas token as a human-readable decimal string (e.g.
            "0.0001").
        gas_asset:
          type: string
          description: Gas token symbol (e.g. "ETH", "USDC").
      required:
        - base_amount
        - amount
        - gas_asset
      additionalProperties: false
      description: >-
        Gas cost for a blockchain action. Includes both raw base-unit amount and
        a human-readable decimal string, plus the gas token symbol.
      title: Gas
      example:
        base_amount: '100000000000000'
        amount: '0.0001'
        gas_asset: ETH
      x-stainless-model: wallets.gas
    AdditionalSignerItemInput:
      type: object
      properties:
        signer_id:
          $ref: '#/components/schemas/KeyQuorumId'
        override_policy_ids:
          $ref: '#/components/schemas/PolicyInput'
      required:
        - signer_id
      additionalProperties: false
      description: >-
        A single additional signer for a wallet, with an optional policy
        override.
      title: AdditionalSignerItemInput
      x-stainless-model: wallets.additional_signer_item_input
    OwnerInputUser:
      type: object
      properties:
        user_id:
          type: string
      required:
        - user_id
      additionalProperties: false
      description: Owner input specifying a Privy user ID.
      title: OwnerInputUser
      x-stainless-model: shared.owner_input_user
    OwnerInputPublicKey:
      type: object
      properties:
        public_key:
          $ref: '#/components/schemas/P256PublicKey'
      required:
        - public_key
      additionalProperties: false
      description: Owner input specifying a P-256 public key.
      title: OwnerInputPublicKey
      x-stainless-model: shared.owner_input_public_key
    PolicyMethod:
      type: string
      enum:
        - eth_sendTransaction
        - eth_signTransaction
        - eth_signUserOperation
        - eth_signTypedData_v4
        - personal_sign
        - eth_sign7702Authorization
        - wallet_sendCalls
        - signTransaction
        - signAndSendTransaction
        - signMessage
        - exportPrivateKey
        - exportSeedPhrase
        - signTransactionBytes
        - signRawMessageBytes
        - tron_sendTransaction
        - tron_signTransaction
        - xrpl_signTransaction
        - earn_deposit
        - earn_withdraw
        - transfer
        - '*'
      description: Method the rule applies to.
      title: PolicyMethod
      x-stainless-model: policies.policy_method
    PolicyCondition:
      oneOf:
        - $ref: '#/components/schemas/EthereumTransactionCondition'
        - $ref: '#/components/schemas/EthereumCalldataCondition'
        - $ref: '#/components/schemas/EthereumTypedDataDomainCondition'
        - $ref: '#/components/schemas/EthereumTypedDataMessageCondition'
        - $ref: '#/components/schemas/Ethereum7702AuthorizationCondition'
        - $ref: '#/components/schemas/TempoTransactionCondition'
        - $ref: '#/components/schemas/SolanaProgramInstructionCondition'
        - $ref: '#/components/schemas/SolanaInstructionDataCondition'
        - $ref: '#/components/schemas/SolanaSystemProgramInstructionCondition'
        - $ref: '#/components/schemas/SolanaTokenProgramInstructionCondition'
        - $ref: '#/components/schemas/SystemCondition'
        - $ref: '#/components/schemas/TronTransactionCondition'
        - $ref: '#/components/schemas/TronCalldataCondition'
        - $ref: '#/components/schemas/XrplTransactionCondition'
        - $ref: '#/components/schemas/SuiTransactionCommandCondition'
        - $ref: '#/components/schemas/SuiTransferObjectsCommandCondition'
        - $ref: '#/components/schemas/ActionRequestBodyCondition'
        - $ref: '#/components/schemas/AggregationCondition'
        - $ref: '#/components/schemas/MessageSigningCondition'
      discriminator:
        propertyName: field_source
        mapping:
          ethereum_transaction: '#/components/schemas/EthereumTransactionCondition'
          ethereum_calldata: '#/components/schemas/EthereumCalldataCondition'
          ethereum_typed_data_domain: '#/components/schemas/EthereumTypedDataDomainCondition'
          ethereum_typed_data_message: '#/components/schemas/EthereumTypedDataMessageCondition'
          ethereum_7702_authorization: '#/components/schemas/Ethereum7702AuthorizationCondition'
          tempo_transaction: '#/components/schemas/TempoTransactionCondition'
          solana_program_instruction: '#/components/schemas/SolanaProgramInstructionCondition'
          solana_instruction_data: '#/components/schemas/SolanaInstructionDataCondition'
          solana_system_program_instruction: '#/components/schemas/SolanaSystemProgramInstructionCondition'
          solana_token_program_instruction: '#/components/schemas/SolanaTokenProgramInstructionCondition'
          system: '#/components/schemas/SystemCondition'
          tron_transaction: '#/components/schemas/TronTransactionCondition'
          tron_trigger_smart_contract_data: '#/components/schemas/TronCalldataCondition'
          xrpl_transaction: '#/components/schemas/XrplTransactionCondition'
          sui_transaction_command: '#/components/schemas/SuiTransactionCommandCondition'
          sui_transfer_objects_command: '#/components/schemas/SuiTransferObjectsCommandCondition'
          action_request_body: '#/components/schemas/ActionRequestBodyCondition'
          reference: '#/components/schemas/AggregationCondition'
          message: '#/components/schemas/MessageSigningCondition'
      description: A condition that must be true for the rule action to be applied.
      title: PolicyCondition
      x-stainless-model: policies.policy_condition
    PolicyAction:
      type: string
      enum:
        - ALLOW
        - DENY
      description: The action to take when a policy rule matches.
      title: PolicyAction
      x-stainless-model: policies.policy_action
    KeyQuorumId:
      type: string
      format: cuid2
      description: A unique identifier for a key quorum.
      title: KeyQuorumId
      x-stainless-model: shared.key_quorum_id
    RuleIntentCreateRequestDetails:
      type: object
      properties:
        method:
          type: string
          enum:
            - POST
        url:
          type: string
          pattern: >-
            (?:https:\/\/(?:[^/]+\.privy\.io|privy\.io|[^/]+\.privy-preview\.app|privy-preview\.app)(?:\/api)?|http:\/\/localhost(?::\d+)?(?:\/api)?)\/v1\/policies\/[0-9a-z]{24,32}\/rules$
        body:
          $ref: '#/components/schemas/PolicyRuleRequestBody'
      required:
        - method
        - url
        - body
      additionalProperties: false
      description: Request details for creating a rule via intent.
      title: RuleIntentCreateRequestDetails
      x-stainless-model: intents.rule_intent_create_request_details
    RuleIntentUpdateRequestDetails:
      type: object
      properties:
        method:
          type: string
          enum:
            - PATCH
        url:
          type: string
          pattern: >-
            (?:https:\/\/(?:[^/]+\.privy\.io|privy\.io|[^/]+\.privy-preview\.app|privy-preview\.app)(?:\/api)?|http:\/\/localhost(?::\d+)?(?:\/api)?)\/v1\/policies\/[0-9a-z]{24,32}\/rules\/[0-9a-z]{24,32}$
        body:
          $ref: '#/components/schemas/PolicyRuleRequestBody'
      required:
        - method
        - url
        - body
      additionalProperties: false
      description: Request details for updating a rule via intent.
      title: RuleIntentUpdateRequestDetails
      x-stainless-model: intents.rule_intent_update_request_details
    RuleIntentDeleteRequestDetails:
      type: object
      properties:
        method:
          type: string
          enum:
            - DELETE
        url:
          type: string
          pattern: >-
            (?:https:\/\/(?:[^/]+\.privy\.io|privy\.io|[^/]+\.privy-preview\.app|privy-preview\.app)(?:\/api)?|http:\/\/localhost(?::\d+)?(?:\/api)?)\/v1\/policies\/[0-9a-z]{24,32}\/rules\/[0-9a-z]{24,32}$
        body:
          allOf:
            - $ref: '#/components/schemas/RuleIntentDeleteRequestBody'
            - default: {}
      required:
        - method
        - url
      additionalProperties: false
      description: Request details for deleting a rule via intent.
      title: RuleIntentDeleteRequestDetails
      x-stainless-model: intents.rule_intent_delete_request_details
    AuthorizationKey:
      type: object
      properties:
        public_key:
          type: string
        display_name:
          type:
            - string
            - 'null'
          maxLength: 50
      required:
        - public_key
        - display_name
      additionalProperties: false
      description: A public key authorized to sign on a key quorum.
      title: AuthorizationKey
      x-stainless-model: key_quorums.authorization_key
    IntentAuthorizationMember:
      oneOf:
        - $ref: '#/components/schemas/IntentAuthorizationUserMember'
        - $ref: '#/components/schemas/IntentAuthorizationKeyMember'
        - $ref: '#/components/schemas/IntentAuthorizationKeyQuorum'
      discriminator:
        propertyName: type
        mapping:
          user: '#/components/schemas/IntentAuthorizationUserMember'
          key: '#/components/schemas/IntentAuthorizationKeyMember'
          key_quorum: '#/components/schemas/IntentAuthorizationKeyQuorum'
      description: >-
        A member of an intent authorization quorum. Can be a user, key, or
        nested key quorum.
      title: IntentAuthorizationMember
      x-stainless-model: intents.intent_authorization_member
    EthereumSignTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/UnsignedEthereumTransaction'
      required:
        - transaction
      additionalProperties: false
      description: Parameters for the EVM `eth_signTransaction` RPC.
      title: EthereumSignTransactionRpcInputParams
      x-stainless-model: wallets.ethereum_sign_transaction_rpc_input_params
    CAIP2:
      type: string
      pattern: ^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$
      description: >-
        A valid CAIP-2 chain ID (e.g. 'eip155:4217' for Tempo, 'eip155:1' for
        Ethereum).
      title: CAIP2
      x-stainless-model: apps.caip_2
    EthereumSendTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/UnsignedEthereumTransaction'
      required:
        - transaction
      additionalProperties: false
      description: Parameters for the EVM `eth_sendTransaction` RPC.
      title: EthereumSendTransactionRpcInputParams
      x-stainless-model: wallets.ethereum_send_transaction_rpc_input_params
    RpcSponsorOptions:
      type: object
      properties:
        asset:
          $ref: '#/components/schemas/RpcSponsorAsset'
      required:
        - asset
      additionalProperties: false
      description: >-
        Options for user-pays gas sponsorship on the RPC endpoint. When provided
        alongside `sponsor: true`, controls which token asset the user pays gas
        with.
      title: RpcSponsorOptions
      x-stainless-model: wallets.rpc_sponsor_options
    Hex:
      type: string
      maxLength: 300002
      description: >-
        A hex-encoded string prefixed with '0x', capped at 300002 characters
        (150,000 bytes).
      title: Hex
      x-stainless-model: wallets.hex
    EthereumPersonalSignRpcInputParams:
      type: object
      properties:
        message:
          type: string
          maxLength: 300002
        encoding:
          anyOf:
            - type: string
              enum:
                - utf-8
            - type: string
              enum:
                - hex
      required:
        - message
        - encoding
      additionalProperties: false
      description: Parameters for the EVM `personal_sign` RPC.
      title: EthereumPersonalSignRpcInputParams
      x-stainless-model: wallets.ethereum_personal_sign_rpc_input_params
    SignatureOptions:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/SignatureType'
      required:
        - type
      additionalProperties: false
      description: >-
        Options controlling signature production for personal_sign and
        eth_signTypedData_v4.
      title: SignatureOptions
      x-stainless-model: wallets.signature_options
    EthereumSignTypedDataRpcInputParams:
      type: object
      properties:
        typed_data:
          $ref: '#/components/schemas/EthereumTypedDataInput'
      required:
        - typed_data
      additionalProperties: false
      description: Parameters for the EVM `eth_signTypedData_v4` RPC.
      title: EthereumSignTypedDataRpcInputParams
      x-stainless-model: wallets.ethereum_sign_typed_data_rpc_input_params
    EthereumSecp256k1SignRpcInputParams:
      type: object
      properties:
        hash:
          $ref: '#/components/schemas/Hex'
      required:
        - hash
      additionalProperties: false
      description: Parameters for the EVM `secp256k1_sign` RPC.
      title: EthereumSecp256k1SignRpcInputParams
      x-stainless-model: wallets.ethereum_secp_256k_1_sign_rpc_input_params
    EthereumSign7702AuthorizationRpcInputParams:
      type: object
      properties:
        contract:
          type: string
        chain_id:
          $ref: '#/components/schemas/Quantity'
        nonce:
          $ref: '#/components/schemas/Quantity'
        executor:
          type: string
          enum:
            - self
      required:
        - contract
        - chain_id
      additionalProperties: false
      description: Parameters for the EVM `eth_sign7702Authorization` RPC.
      title: EthereumSign7702AuthorizationRpcInputParams
      x-stainless-model: wallets.ethereum_sign_7702_authorization_rpc_input_params
    EthereumSignUserOperationRpcInputParams:
      type: object
      properties:
        contract:
          type: string
        user_operation:
          $ref: '#/components/schemas/UserOperationInput'
        chain_id:
          $ref: '#/components/schemas/Quantity'
      required:
        - contract
        - user_operation
        - chain_id
      additionalProperties: false
      description: Parameters for the EVM `eth_signUserOperation` RPC.
      title: EthereumSignUserOperationRpcInputParams
      x-stainless-model: wallets.ethereum_sign_user_operation_rpc_input_params
    EthereumSendCallsRpcInputParams:
      type: object
      properties:
        calls:
          type: array
          items:
            $ref: '#/components/schemas/EthereumSendCallsCall'
          minItems: 1
          maxItems: 35
      required:
        - calls
      additionalProperties: false
      description: Parameters for the `wallet_sendCalls` RPC.
      title: EthereumSendCallsRpcInputParams
      x-stainless-model: wallets.ethereum_send_calls_rpc_input_params
    AptosSignTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/AptosBcsHex'
      required:
        - transaction
      additionalProperties: false
      description: Parameters for the Aptos `aptos_signTransaction` RPC.
      title: AptosSignTransactionRpcInputParams
      x-stainless-model: wallets.aptos_sign_transaction_rpc_input_params
    SolanaSignTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          type: string
          maxLength: 300002
        encoding:
          type: string
          enum:
            - base64
      required:
        - transaction
        - encoding
      additionalProperties: false
      description: Parameters for the SVM `signTransaction` RPC.
      title: SolanaSignTransactionRpcInputParams
      x-stainless-model: wallets.solana_sign_transaction_rpc_input_params
    SolanaSignAndSendTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          type: string
          maxLength: 300002
        encoding:
          type: string
          enum:
            - base64
      required:
        - transaction
        - encoding
      additionalProperties: false
      description: Parameters for the SVM `signAndSendTransaction` RPC.
      title: SolanaSignAndSendTransactionRpcInputParams
      x-stainless-model: wallets.solana_sign_and_send_transaction_rpc_input_params
    SolanaSignMessageRpcInputParams:
      type: object
      properties:
        message:
          type: string
          maxLength: 300002
        encoding:
          type: string
          enum:
            - base64
      required:
        - message
        - encoding
      additionalProperties: false
      description: Parameters for the SVM `signMessage` RPC.
      title: SolanaSignMessageRpcInputParams
      x-stainless-model: wallets.solana_sign_message_rpc_input_params
    SparkTransferRpcInputParams:
      type: object
      properties:
        receiver_spark_address:
          type: string
        amount_sats:
          type: number
      required:
        - receiver_spark_address
        - amount_sats
      additionalProperties: false
      description: Parameters for the Spark `transfer` RPC.
      title: SparkTransferRpcInputParams
      x-stainless-model: wallets.spark_transfer_rpc_input_params
    SparkNetwork:
      type: string
      enum:
        - MAINNET
        - REGTEST
      description: The Spark network.
      title: SparkNetwork
      x-stainless-model: wallets.spark_network
    SparkTransferTokensRpcInputParams:
      type: object
      properties:
        token_identifier:
          type: string
        token_amount:
          type: number
        receiver_spark_address:
          type: string
        output_selection_strategy:
          $ref: '#/components/schemas/SparkOutputSelectionStrategy'
        selected_outputs:
          type: array
          items:
            $ref: '#/components/schemas/OutputWithPreviousTransactionData'
      required:
        - token_identifier
        - token_amount
        - receiver_spark_address
      additionalProperties: false
      description: Parameters for the Spark `transferTokens` RPC.
      title: SparkTransferTokensRpcInputParams
      x-stainless-model: wallets.spark_transfer_tokens_rpc_input_params
    SparkGetClaimStaticDepositQuoteRpcInputParams:
      type: object
      properties:
        transaction_id:
          type: string
        output_index:
          type: number
      required:
        - transaction_id
      additionalProperties: false
      description: Parameters for the Spark `getClaimStaticDepositQuote` RPC.
      title: SparkGetClaimStaticDepositQuoteRpcInputParams
      x-stainless-model: wallets.spark_get_claim_static_deposit_quote_rpc_input_params
    SparkClaimStaticDepositRpcInputParams:
      type: object
      properties:
        transaction_id:
          type: string
        output_index:
          type: number
        credit_amount_sats:
          type: number
        signature:
          type: string
      required:
        - transaction_id
        - credit_amount_sats
        - signature
      additionalProperties: false
      description: Parameters for the Spark `claimStaticDeposit` RPC.
      title: SparkClaimStaticDepositRpcInputParams
      x-stainless-model: wallets.spark_claim_static_deposit_rpc_input_params
    SparkCreateLightningInvoiceRpcInputParams:
      type: object
      properties:
        amount_sats:
          type: number
        memo:
          type: string
        expiry_seconds:
          type: number
        include_spark_address:
          type: boolean
        receiver_identity_pubkey:
          type: string
        description_hash:
          type: string
      required:
        - amount_sats
      additionalProperties: false
      description: Parameters for the Spark `createLightningInvoice` RPC.
      title: SparkCreateLightningInvoiceRpcInputParams
      x-stainless-model: wallets.spark_create_lightning_invoice_rpc_input_params
    SparkPayLightningInvoiceRpcInputParams:
      type: object
      properties:
        invoice:
          type: string
        max_fee_sats:
          type: number
        prefer_spark:
          type: boolean
        amount_sats_to_send:
          type: number
      required:
        - invoice
        - max_fee_sats
      additionalProperties: false
      description: Parameters for the Spark `payLightningInvoice` RPC.
      title: SparkPayLightningInvoiceRpcInputParams
      x-stainless-model: wallets.spark_pay_lightning_invoice_rpc_input_params
    SparkSignMessageWithIdentityKeyRpcInputParams:
      type: object
      properties:
        message:
          type: string
        compact:
          type: boolean
      required:
        - message
      additionalProperties: false
      description: Parameters for the Spark `signMessageWithIdentityKey` RPC.
      title: SparkSignMessageWithIdentityKeyRpcInputParams
      x-stainless-model: wallets.spark_sign_message_with_identity_key_rpc_input_params
    SparkWithdrawRpcInputParams:
      type: object
      properties:
        onchain_address:
          type: string
        exit_speed:
          $ref: '#/components/schemas/SparkExitSpeed'
        amount_sats:
          type: number
        fee_amount_sats:
          type: number
        fee_quote_id:
          type: string
        deduct_fee_from_withdrawal_amount:
          type: boolean
      required:
        - onchain_address
        - exit_speed
      additionalProperties: false
      description: Parameters for the Spark `withdraw` RPC.
      title: SparkWithdrawRpcInputParams
      x-stainless-model: wallets.spark_withdraw_rpc_input_params
    SparkGetWithdrawalFeeQuoteRpcInputParams:
      type: object
      properties:
        amount_sats:
          type: number
        onchain_address:
          type: string
      required:
        - amount_sats
        - onchain_address
      additionalProperties: false
      description: Parameters for the Spark `getWithdrawalFeeQuote` RPC.
      title: SparkGetWithdrawalFeeQuoteRpcInputParams
      x-stainless-model: wallets.spark_get_withdrawal_fee_quote_rpc_input_params
    TronSignTransactionRpcInputParams:
      type: object
      properties:
        raw_data:
          $ref: '#/components/schemas/TronRawDataForSign'
      required:
        - raw_data
      additionalProperties: false
      description: Parameters for the Tron `tron_signTransaction` RPC.
      title: TronSignTransactionRpcInputParams
      x-stainless-model: wallets.tron_sign_transaction_rpc_input_params
    TronSendTransactionRpcInputParams:
      type: object
      properties:
        raw_data:
          $ref: '#/components/schemas/TronRawDataForSend'
        reference_id:
          type: string
          maxLength: 64
      required:
        - raw_data
      additionalProperties: false
      description: Parameters for the Tron `tron_sendTransaction` RPC.
      title: TronSendTransactionRpcInputParams
      x-stainless-model: wallets.tron_send_transaction_rpc_input_params
    XrplSignTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          type: string
          maxLength: 300002
        encoding:
          type: string
          enum:
            - hex
      required:
        - transaction
        - encoding
      additionalProperties: false
      description: Parameters for the XRPL `xrpl_signTransaction` RPC.
      title: XrplSignTransactionRpcInputParams
      x-stainless-model: wallets.xrpl_sign_transaction_rpc_input_params
    NearSignTransactionRpcRequestBodyParams:
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/NearUnsignedTransactionBorshBase64'
      required:
        - transaction
      additionalProperties: false
      description: Parameters for the NEAR `near_signTransaction` RPC.
      title: NearSignTransactionRpcRequestBodyParams
      x-stainless-model: wallets.near_sign_transaction_rpc_request_body_params
    PrivateKeyExportInput:
      type: object
      properties:
        encryption_type:
          $ref: '#/components/schemas/HPKEEncryption'
        recipient_public_key:
          $ref: '#/components/schemas/RecipientPublicKey'
        export_type:
          $ref: '#/components/schemas/ExportType'
        export_seed_phrase:
          type: boolean
      required:
        - encryption_type
        - recipient_public_key
      additionalProperties: false
      description: >-
        Input for exporting a wallet (private key or seed phrase) with HPKE
        encryption.
      title: PrivateKeyExportInput
      x-stainless-model: wallets.private_key_export_input
    SeedPhraseExportInput:
      type: object
      properties:
        encryption_type:
          $ref: '#/components/schemas/HPKEEncryption'
        recipient_public_key:
          $ref: '#/components/schemas/RecipientPublicKey'
        export_type:
          $ref: '#/components/schemas/ExportType'
        export_seed_phrase:
          type: boolean
      required:
        - encryption_type
        - recipient_public_key
      additionalProperties: false
      description: >-
        Input for exporting a wallet (private key or seed phrase) with HPKE
        encryption.
      title: SeedPhraseExportInput
      x-stainless-model: wallets.seed_phrase_export_input
    EntityId:
      type: string
      minLength: 1
      description: A Privy entity ID.
      title: EntityId
      example: jorpjo4rfxj62nx1itt8y1zt
      x-stainless-model: wallets.entity_id
    WalletEntityType:
      type: string
      enum:
        - user
        - organization
      description: The type of entity a wallet is attributed to.
      title: WalletEntityType
      example: user
      x-stainless-model: wallets.wallet_entity_type
    WalletAdditionalSignerItem:
      type: object
      properties:
        signer_id:
          $ref: '#/components/schemas/KeyQuorumId'
        override_policy_ids:
          $ref: '#/components/schemas/PolicyInput'
      required:
        - signer_id
      additionalProperties: false
      description: >-
        A single additional signer on a wallet, with an optional policy
        override.
      title: WalletAdditionalSignerItem
      x-stainless-model: wallets.wallet_additional_signer_item
    EthereumPersonalSignRpcResponseData:
      type: object
      properties:
        signature:
          type: string
        encoding:
          type: string
          enum:
            - hex
      required:
        - signature
        - encoding
      description: Data returned by the EVM `personal_sign` RPC.
      title: EthereumPersonalSignRpcResponseData
      x-stainless-model: wallets.ethereum_personal_sign_rpc_response_data
    EthereumSignTypedDataRpcResponseData:
      type: object
      properties:
        signature:
          type: string
        encoding:
          type: string
          enum:
            - hex
      required:
        - signature
        - encoding
      description: Data returned by the EVM `eth_signTypedData_v4` RPC.
      title: EthereumSignTypedDataRpcResponseData
      x-stainless-model: wallets.ethereum_sign_typed_data_rpc_response_data
    EthereumSignTransactionRpcResponseData:
      type: object
      properties:
        signed_transaction:
          type: string
        encoding:
          type: string
          enum:
            - rlp
      required:
        - signed_transaction
        - encoding
      description: Data returned by the EVM `eth_signTransaction` RPC.
      title: EthereumSignTransactionRpcResponseData
      x-stainless-model: wallets.ethereum_sign_transaction_rpc_response_data
    EthereumSendTransactionRpcResponseData:
      type: object
      properties:
        transaction_id:
          type: string
        hash:
          type: string
        caip2:
          $ref: '#/components/schemas/CAIP2'
        transaction_request:
          $ref: '#/components/schemas/UnsignedEthereumTransaction'
        user_operation_hash:
          type: string
        reference_id:
          type:
            - string
            - 'null'
          description: Developer-provided reference ID, if one was included in the request.
      required:
        - hash
        - caip2
      description: Data returned by the EVM `eth_sendTransaction` RPC.
      title: EthereumSendTransactionRpcResponseData
      x-stainless-model: wallets.ethereum_send_transaction_rpc_response_data
    EthereumSignUserOperationRpcResponseData:
      type: object
      properties:
        signature:
          type: string
        encoding:
          type: string
          enum:
            - hex
      required:
        - signature
        - encoding
      description: Data returned by the EVM `eth_signUserOperation` RPC.
      title: EthereumSignUserOperationRpcResponseData
      x-stainless-model: wallets.ethereum_sign_user_operation_rpc_response_data
    EthereumSign7702AuthorizationRpcResponseData:
      type: object
      properties:
        authorization:
          $ref: '#/components/schemas/EthereumSign7702Authorization'
      required:
        - authorization
      description: Data returned by the EVM `eth_sign7702Authorization` RPC.
      title: EthereumSign7702AuthorizationRpcResponseData
      x-stainless-model: wallets.ethereum_sign_7702_authorization_rpc_response_data
    EthereumSecp256k1SignRpcResponseData:
      type: object
      properties:
        signature:
          $ref: '#/components/schemas/Hex'
        encoding:
          type: string
          enum:
            - hex
      required:
        - signature
        - encoding
      description: Data returned by the EVM `secp256k1_sign` RPC.
      title: EthereumSecp256k1SignRpcResponseData
      x-stainless-model: wallets.ethereum_secp_256k_1_sign_rpc_response_data
    EthereumSendCallsRpcResponseData:
      type: object
      properties:
        transaction_id:
          type: string
        caip2:
          $ref: '#/components/schemas/CAIP2'
      required:
        - transaction_id
        - caip2
      description: Data returned by the `wallet_sendCalls` RPC.
      title: EthereumSendCallsRpcResponseData
      x-stainless-model: wallets.ethereum_send_calls_rpc_response_data
    AptosSignTransactionRpcResponseData:
      type: object
      properties:
        signed_transaction:
          $ref: '#/components/schemas/AptosSignedTransactionBcsHex'
        encoding:
          type: string
          enum:
            - hex
      required:
        - signed_transaction
        - encoding
      additionalProperties: false
      description: Data returned by the Aptos `aptos_signTransaction` RPC.
      title: AptosSignTransactionRpcResponseData
      x-stainless-model: wallets.aptos_sign_transaction_rpc_response_data
    SolanaSignMessageRpcResponseData:
      type: object
      properties:
        signature:
          type: string
        encoding:
          type: string
          enum:
            - base64
      required:
        - signature
        - encoding
      description: Data returned by the SVM `signMessage` RPC.
      title: SolanaSignMessageRpcResponseData
      x-stainless-model: wallets.solana_sign_message_rpc_response_data
    SolanaSignTransactionRpcResponseData:
      type: object
      properties:
        signed_transaction:
          type: string
        encoding:
          type: string
          enum:
            - base64
      required:
        - signed_transaction
        - encoding
      description: Data returned by the SVM `signTransaction` RPC.
      title: SolanaSignTransactionRpcResponseData
      x-stainless-model: wallets.solana_sign_transaction_rpc_response_data
    SolanaSignAndSendTransactionRpcResponseData:
      type: object
      properties:
        transaction_id:
          type: string
        hash:
          type: string
        caip2:
          $ref: '#/components/schemas/CAIP2'
        reference_id:
          type:
            - string
            - 'null'
          description: Developer-provided reference ID, if one was included in the request.
        signed_transaction:
          type: string
      required:
        - hash
        - caip2
      description: Data returned by the SVM `signAndSendTransaction` RPC.
      title: SolanaSignAndSendTransactionRpcResponseData
      x-stainless-model: wallets.solana_sign_and_send_transaction_rpc_response_data
    SparkTransfer:
      type: object
      properties:
        id:
          type: string
        sender_identity_public_key:
          type: string
        receiver_identity_public_key:
          type: string
        status:
          type: string
        total_value:
          type: number
        expiry_time:
          type: string
        leaves:
          type: array
          items:
            $ref: '#/components/schemas/SparkTransferLeaf'
        created_time:
          type: string
        updated_time:
          type: string
        type:
          type: string
        transfer_direction:
          type: string
      required:
        - id
        - sender_identity_public_key
        - receiver_identity_public_key
        - status
        - total_value
        - leaves
        - type
        - transfer_direction
      description: A Spark transfer.
      title: SparkTransfer
      x-stainless-model: wallets.spark_transfer
    SparkBalance:
      type: object
      properties:
        balance:
          type: string
        token_balances:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SparkTokenBalance'
      required:
        - balance
        - token_balances
      description: The balance of a Spark wallet.
      title: SparkBalance
      x-stainless-model: wallets.spark_balance
    SparkTransferTokensRpcResponseData:
      type: object
      properties:
        id:
          type: string
      required:
        - id
      description: Data returned by the Spark `transferTokens` RPC.
      title: SparkTransferTokensRpcResponseData
      x-stainless-model: wallets.spark_transfer_tokens_rpc_response_data
    SparkGetStaticDepositAddressRpcResponseData:
      type: object
      properties:
        address:
          type: string
      required:
        - address
      description: Data returned by the Spark `getStaticDepositAddress` RPC.
      title: SparkGetStaticDepositAddressRpcResponseData
      x-stainless-model: wallets.spark_get_static_deposit_address_rpc_response_data
    SparkGetClaimStaticDepositQuoteRpcResponseData:
      type: object
      properties:
        transaction_id:
          type: string
        output_index:
          type: number
        network:
          type: string
        credit_amount_sats:
          type: number
        signature:
          type: string
      required:
        - transaction_id
        - output_index
        - network
        - credit_amount_sats
        - signature
      description: Data returned by the Spark `getClaimStaticDepositQuote` RPC.
      title: SparkGetClaimStaticDepositQuoteRpcResponseData
      x-stainless-model: wallets.spark_get_claim_static_deposit_quote_rpc_response_data
    SparkClaimStaticDepositRpcResponseData:
      type: object
      properties:
        transfer_id:
          type: string
      required:
        - transfer_id
      description: Data returned by the Spark `claimStaticDeposit` RPC.
      title: SparkClaimStaticDepositRpcResponseData
      x-stainless-model: wallets.spark_claim_static_deposit_rpc_response_data
    SparkLightningReceiveRequest:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        network:
          type: string
        invoice:
          x-stainless-any: true
        status:
          type: string
        typename:
          type: string
        transfer:
          x-stainless-any: true
        payment_preimage:
          type: string
        receiver_identity_public_key:
          type: string
      required:
        - id
        - created_at
        - updated_at
        - network
        - status
        - typename
      description: A Spark Lightning receive request.
      title: SparkLightningReceiveRequest
      x-stainless-model: wallets.spark_lightning_receive_request
    SparkLightningSendRequest:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        network:
          type: string
        encoded_invoice:
          type: string
        fee:
          $ref: '#/components/schemas/SparkLightningFee'
        idempotency_key:
          type: string
        status:
          type: string
        typename:
          type: string
        transfer:
          x-stainless-any: true
        payment_preimage:
          type: string
      required:
        - id
        - created_at
        - updated_at
        - network
        - encoded_invoice
        - fee
        - idempotency_key
        - status
        - typename
      description: A Spark Lightning send request.
      title: SparkLightningSendRequest
      x-stainless-model: wallets.spark_lightning_send_request
    SparkSignMessageWithIdentityKeyRpcResponseData:
      type: object
      properties:
        signature:
          type: string
      required:
        - signature
      description: Data returned by the Spark `signMessageWithIdentityKey` RPC.
      title: SparkSignMessageWithIdentityKeyRpcResponseData
      x-stainless-model: wallets.spark_sign_message_with_identity_key_rpc_response_data
    SparkCoopExitRequest:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        network:
          type: string
        fee:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        l1_broadcast_fee:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        status:
          type: string
        expires_at:
          type: string
        coop_exit_txid:
          type: string
        fee_quote_id:
          type: string
        exit_speed:
          $ref: '#/components/schemas/SparkExitSpeed'
      required:
        - id
        - created_at
        - updated_at
        - network
        - fee
        - l1_broadcast_fee
        - status
        - expires_at
        - coop_exit_txid
      description: A cooperative exit request from Spark to Bitcoin L1.
      title: SparkCoopExitRequest
      x-stainless-model: wallets.spark_coop_exit_request
    SparkCoopExitFeeQuote:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        network:
          type: string
        total_amount:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        user_fee_fast:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        user_fee_medium:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        user_fee_slow:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        l1_broadcast_fee_fast:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        l1_broadcast_fee_medium:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        l1_broadcast_fee_slow:
          $ref: '#/components/schemas/SparkCurrencyAmount'
        expires_at:
          type: string
      required:
        - id
        - created_at
        - updated_at
        - network
        - total_amount
        - user_fee_fast
        - user_fee_medium
        - user_fee_slow
        - l1_broadcast_fee_fast
        - l1_broadcast_fee_medium
        - l1_broadcast_fee_slow
        - expires_at
      description: A fee quote for a cooperative exit from Spark to Bitcoin L1.
      title: SparkCoopExitFeeQuote
      x-stainless-model: wallets.spark_coop_exit_fee_quote
    TronSignTransactionRpcResponseData:
      type: object
      properties:
        signed_transaction:
          type: string
        encoding:
          type: string
          enum:
            - hex
      required:
        - signed_transaction
        - encoding
      additionalProperties: false
      description: Data returned by the Tron `tron_signTransaction` RPC.
      title: TronSignTransactionRpcResponseData
      x-stainless-model: wallets.tron_sign_transaction_rpc_response_data
    TronSendTransactionRpcResponseData:
      type: object
      properties:
        hash:
          type: string
        caip2:
          $ref: '#/components/schemas/CAIP2'
        transaction_id:
          type: string
        reference_id:
          type: string
      required:
        - hash
        - caip2
        - transaction_id
      additionalProperties: false
      description: Data returned by the Tron `tron_sendTransaction` RPC.
      title: TronSendTransactionRpcResponseData
      x-stainless-model: wallets.tron_send_transaction_rpc_response_data
    XrplSignTransactionRpcResponseData:
      type: object
      properties:
        txn_signature:
          type: string
        signed_transaction:
          type: string
        encoding:
          type: string
          enum:
            - hex
      required:
        - txn_signature
        - signed_transaction
        - encoding
      additionalProperties: false
      description: Data returned by the XRPL `xrpl_signTransaction` RPC.
      title: XrplSignTransactionRpcResponseData
      x-stainless-model: wallets.xrpl_sign_transaction_rpc_response_data
    NearSignTransactionRpcResponseData:
      type: object
      properties:
        signed_transaction:
          $ref: '#/components/schemas/NearSignedTransactionBorshBase64'
        encoding:
          type: string
          enum:
            - base64
      required:
        - signed_transaction
        - encoding
      additionalProperties: false
      description: Data returned by the NEAR `near_signTransaction` RPC.
      title: NearSignTransactionRpcResponseData
      x-stainless-model: wallets.near_sign_transaction_rpc_response_data
    SeedPhraseExportResponse:
      type: object
      properties:
        encryption_type:
          $ref: '#/components/schemas/HPKEEncryption'
        ciphertext:
          type: string
        encapsulated_key:
          type: string
      required:
        - encryption_type
        - ciphertext
        - encapsulated_key
      description: >-
        Response containing HPKE-encrypted wallet data (private key or seed
        phrase).
      title: SeedPhraseExportResponse
      x-stainless-model: wallets.seed_phrase_export_response
    NamedTokenTransferSource:
      type: object
      properties:
        amount:
          type: string
          maxLength: 100
          description: >-
            Amount as a decimal string in the token's standard unit (e.g. "1.5"
            for 1.5 USDC, "0.01" for 0.01 ETH). For exact_input, specifies the
            amount to send. Not in the smallest on-chain unit (wei, lamports,
            etc.). Maximum 100 characters. Deprecated: use the top-level
            `amount` field instead.
          deprecated: true
        chain:
          type: string
          description: >-
            The blockchain network on which to perform the transfer. Supported
            chains include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon',
            'solana', and their respective testnets.
        asset:
          type: string
          description: >-
            The asset to transfer. Supported: 'usdc', 'usdb', 'usdt', 'eurc',
            'ousd', 'pathusd' (stablecoins), 'eth' (native Ethereum), 'sol'
            (native Solana).
      required:
        - chain
        - asset
      additionalProperties: false
      description: >-
        Source for a transfer identified by a named asset (e.g. "usdc", "eth").
        Use this variant for first-class assets maintained by Privy.
      title: NamedTokenTransferSource
      example:
        asset: ousd
        amount: '10.5'
        chain: tempo
      x-stainless-model: wallets.named_token_transfer_source
    CustomTokenTransferSource:
      type: object
      properties:
        amount:
          type: string
          maxLength: 100
          description: >-
            Amount as a decimal string in the token's standard unit (e.g. "1.5"
            for 1.5 USDC, "0.01" for 0.01 ETH). For exact_input, specifies the
            amount to send. Not in the smallest on-chain unit (wei, lamports,
            etc.). Maximum 100 characters. Deprecated: use the top-level
            `amount` field instead.
          deprecated: true
        chain:
          type: string
          description: >-
            The blockchain network on which to perform the transfer. Supported
            chains include: 'tempo', 'ethereum', 'base', 'arbitrum', 'polygon',
            'solana', and their respective testnets.
        asset_address:
          anyOf:
            - type: string
            - type: string
            - $ref: '#/components/schemas/TronAddress'
          description: >-
            The token contract address (EVM) or mint address (Solana) of the
            asset to transfer.
      required:
        - chain
        - asset_address
      additionalProperties: false
      description: >-
        Source for a transfer identified by a token contract address (EVM) or
        mint address (Solana). Use this variant for tokens that are not
        first-class assets.
      title: CustomTokenTransferSource
      example:
        asset_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
        amount: '10.5'
        chain: base
      x-stainless-model: wallets.custom_token_transfer_source
    TronAddress:
      type: string
      pattern: ^T[1-9A-HJ-NP-Za-km-z]{33}$
      description: 'Tron address: base58check-encoded, starting with T, 34 characters.'
      title: TronAddress
      x-stainless-model: shared.tron_address
    TotalFeeConfigurationBps:
      type: object
      properties:
        type:
          type: string
          enum:
            - total_fee_bps
          description: 'Discriminator: total fee specified in BPS.'
        value:
          type: integer
          minimum: 0
          maximum: 10000
          description: Total fee in basis points (1 bps = 0.01%).
      required:
        - type
        - value
      additionalProperties: false
      description: Total fees assessed on a transfer, in BPS
      title: TotalFeeConfigurationBps
      example:
        type: total_fee_bps
        value: 50
      x-stainless-model: wallets.total_fee_configuration_bps
    TransferInitiation:
      type: object
      properties:
        channel:
          $ref: '#/components/schemas/TransferInitiationChannel'
        subchannel:
          $ref: '#/components/schemas/TransferInitiationSubchannel'
        attestations:
          $ref: '#/components/schemas/TransferInitiationAttestations'
      required:
        - channel
        - subchannel
        - attestations
      additionalProperties: false
      description: >-
        Payment initiation context for transfers sourced from wallets that
        require initiation data. Captures how the payment was initiated (channel
        and subchannel) and whether Strong Customer Authentication was applied
        or which SCA exemption was used.
      title: TransferInitiation
      example:
        channel: other_mobile_payment
        subchannel: remote
        attestations:
          sca:
            outcome: sca_used
            auth_factors:
              - category: possession
                authenticated_at: '2026-01-15T10:30:00Z'
                reference: auth_event_123
              - category: knowledge
                authenticated_at: '2026-01-15T10:30:00Z'
                reference: auth_event_456
      x-stainless-model: wallets.transfer_initiation
    EVMTransactionWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - evm_transaction
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        finalized:
          type: boolean
          description: >-
            Whether this step has reached on-chain finality. Absent until
            finality is confirmed.
        gas_credits_charged_usd:
          type: string
          description: Amount charged in USD for gas sponsorship on this step.
        status:
          allOf:
            - $ref: '#/components/schemas/EVMWalletActionStepStatus'
            - description: EVM transaction status.
        caip2:
          type: string
          description: CAIP-2 chain identifier of the transaction, containing the chain ID.
        transaction_hash:
          type:
            - string
            - 'null'
          description: >-
            The transaction hash for this step. May change while the step status
            is non-terminal.
      required:
        - type
        - status
        - caip2
        - transaction_hash
      description: A wallet action step consisting of an EVM transaction.
      title: EVMTransactionWalletActionStep
      x-stainless-model: wallets.actions.evm_transaction_wallet_action_step
    EVMUserOperationWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - evm_user_operation
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        finalized:
          type: boolean
          description: >-
            Whether this step has reached on-chain finality. Absent until
            finality is confirmed.
        gas_credits_charged_usd:
          type: string
          description: Amount charged in USD for gas sponsorship on this step.
        status:
          allOf:
            - $ref: '#/components/schemas/EVMWalletActionStepStatus'
            - description: User operation status.
        user_operation_hash:
          type:
            - string
            - 'null'
          description: >-
            The user operation hash for this step. May change while the step
            status is non-terminal.
        bundle_transaction_hash:
          type:
            - string
            - 'null'
          description: >-
            Transaction hash of the bundle in which this user operation was
            included. Null until included by a bundler.
        caip2:
          type: string
          description: >-
            CAIP-2 network identifier, containing the chain ID of the user
            operation.
        entrypoint_version:
          allOf:
            - $ref: '#/components/schemas/EVMUserOperationEntrypointVersion'
            - description: The entrypoint version of the user operation.
      required:
        - type
        - status
        - user_operation_hash
        - bundle_transaction_hash
        - caip2
        - entrypoint_version
      description: A wallet action step consisting of an EVM user operation.
      title: EVMUserOperationWalletActionStep
      x-stainless-model: wallets.actions.evm_user_operation_wallet_action_step
    SVMTransactionWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - svm_transaction
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        finalized:
          type: boolean
          description: >-
            Whether this step has reached on-chain finality. Absent until
            finality is confirmed.
        gas_credits_charged_usd:
          type: string
          description: Amount charged in USD for gas sponsorship on this step.
        status:
          allOf:
            - $ref: '#/components/schemas/SVMWalletActionStepStatus'
            - description: SVM transaction status.
        caip2:
          type: string
          description: CAIP-2 chain identifier for the Solana network.
        transaction_signature:
          type:
            - string
            - 'null'
          description: >-
            The Solana transaction signature (base58-encoded). Null until
            broadcast.
      required:
        - type
        - status
        - caip2
        - transaction_signature
      description: A wallet action step consisting of an SVM (Solana) transaction.
      title: SVMTransactionWalletActionStep
      x-stainless-model: wallets.actions.svm_transaction_wallet_action_step
    TVMTransactionWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - tvm_transaction
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        status:
          allOf:
            - $ref: '#/components/schemas/TVMWalletActionStepStatus'
            - description: TVM transaction status.
        caip2:
          type: string
          description: CAIP-2 chain identifier for the Tron network.
        transaction_id:
          type:
            - string
            - 'null'
          description: The Tron transaction ID. Null until broadcast.
      required:
        - type
        - status
        - caip2
        - transaction_id
      description: A wallet action step consisting of a TVM (Tron) transaction.
      title: TVMTransactionWalletActionStep
      x-stainless-model: wallets.actions.tvm_transaction_wallet_action_step
    ExternalTransactionWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - external_transaction
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        status:
          allOf:
            - $ref: '#/components/schemas/ExternalTransactionWalletActionStepStatus'
            - description: External transaction step status.
      required:
        - type
        - status
      description: >-
        A wallet action step representing a cross-chain/cross-asset fill by an
        external provider.
      title: ExternalTransactionWalletActionStep
      x-stainless-model: wallets.actions.external_transaction_wallet_action_step
    CustodianTransactionWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - custodian_transaction
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        status:
          allOf:
            - $ref: '#/components/schemas/CustodianTransactionWalletActionStepStatus'
            - description: Custodian transaction step status.
        custodian:
          type: string
          description: >-
            Identifier of the custodian executing this transaction (e.g.
            "bridge").
        transaction_hash:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the transaction the custodian last reported on the
            destination chain. Set on a settled transfer, and also on a failed
            one when the custodian had already broadcast a payout that was later
            returned. Null until the custodian reports one.
      required:
        - type
        - status
        - custodian
        - transaction_hash
      description: >-
        A wallet action step representing a transaction executed by a custodian
        (e.g. Bridge).
      title: CustodianTransactionWalletActionStep
      x-stainless-model: wallets.actions.custodian_transaction_wallet_action_step
    TempoZoneSettlementWalletActionStep:
      type: object
      properties:
        type:
          type: string
          enum:
            - tempo_zone_settlement
        failure_reason:
          $ref: '#/components/schemas/FailureReason'
        caip2:
          type:
            - string
            - 'null'
          description: >-
            CAIP-2 identifier of the Tempo parent chain, or null when
            unavailable.
        transaction_hash:
          description: Parent-chain settlement transaction hash, or null until completion.
          anyOf:
            - $ref: '#/components/schemas/Hex'
            - type: 'null'
        status:
          allOf:
            - $ref: '#/components/schemas/ExternalTransactionWalletActionStepStatus'
            - description: Tempo Zone settlement step status.
      required:
        - type
        - caip2
        - transaction_hash
        - status
      description: >-
        A wallet action step representing a Tempo Zone settlement on its parent
        chain.
      title: TempoZoneSettlementWalletActionStep
      x-stainless-model: wallets.actions.tempo_zone_settlement_wallet_action_step
    RelayerFee:
      type: object
      properties:
        type:
          type: string
          enum:
            - relayer
        recipient:
          anyOf:
            - type: string
            - type: string
            - $ref: '#/components/schemas/TronAddress'
        amount:
          type: string
          description: Amount in USD (in decimals).
      required:
        - type
        - amount
      additionalProperties: false
      description: Estimated fee paid to the relayer.
      title: RelayerFee
      example:
        type: relayer
        recipient: '0x1234567890abcdef1234567890abcdef12345678'
        amount: '0.20'
      x-stainless-model: wallets.relayer_fee
    PrivyFee:
      type: object
      properties:
        type:
          type: string
          enum:
            - privy
        recipient:
          anyOf:
            - type: string
            - type: string
            - $ref: '#/components/schemas/TronAddress'
        amount:
          type: string
          description: Amount in USD (in decimals).
      required:
        - type
        - amount
      additionalProperties: false
      description: Estimated fee paid to Privy.
      title: PrivyFee
      example:
        type: privy
        amount: '0.20'
      x-stainless-model: wallets.privy_fee
    DeveloperFee:
      type: object
      properties:
        type:
          type: string
          enum:
            - developer
        recipient:
          anyOf:
            - type: string
            - type: string
            - $ref: '#/components/schemas/TronAddress'
        amount:
          type: string
          description: Amount in USD (in decimals).
      required:
        - type
        - amount
      additionalProperties: false
      description: Estimated fee paid to the developer.
      title: DeveloperFee
      example:
        type: developer
        recipient: '0x1234567890abcdef1234567890abcdef12345678'
        amount: '0.20'
      x-stainless-model: wallets.developer_fee
    P256PublicKey:
      type: string
      description: A P-256 (secp256r1) public key.
      title: P256PublicKey
      x-stainless-model: shared.p_256_public_key
    EthereumTransactionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - ethereum_transaction
        field:
          $ref: '#/components/schemas/EthereumTransactionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        The verbatim Ethereum transaction object in an eth_signTransaction or
        eth_sendTransaction request.
      title: EthereumTransactionCondition
      x-stainless-model: policies.ethereum_transaction_condition
    EthereumCalldataCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - ethereum_calldata
        field:
          type: string
          title: EthereumCalldataConditionField
        abi:
          $ref: '#/components/schemas/AbiSchema'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - abi
        - operator
        - value
      description: >-
        The decoded calldata in a smart contract interaction as the smart
        contract method's parameters. Note that 'ethereum_calldata' conditions
        must contain an abi parameter with the JSON ABI of the smart contract.
      title: EthereumCalldataCondition
      x-stainless-model: policies.ethereum_calldata_condition
    EthereumTypedDataDomainCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - ethereum_typed_data_domain
        field:
          $ref: '#/components/schemas/EthereumTypedDataDomainConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Attributes from the signing domain that will verify the signature.
      title: EthereumTypedDataDomainCondition
      x-stainless-model: policies.ethereum_typed_data_domain_condition
    EthereumTypedDataMessageCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - ethereum_typed_data_message
        field:
          type: string
          title: EthereumTypedDataMessageConditionField
        typed_data:
          $ref: '#/components/schemas/TypedDataInput'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - typed_data
        - operator
        - value
      description: >-
        'types' and 'primary_type' attributes of the TypedData JSON object
        defined in EIP-712.
      title: EthereumTypedDataMessageCondition
      x-stainless-model: policies.ethereum_typed_data_message_condition
    Ethereum7702AuthorizationCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - ethereum_7702_authorization
        field:
          type: string
          enum:
            - contract
          title: Ethereum7702AuthorizationConditionField
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Allowed contract addresses for eth_sign7702Authorization requests.
      title: Ethereum7702AuthorizationCondition
      x-stainless-model: policies.ethereum_7702_authorization_condition
    TempoTransactionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - tempo_transaction
        field:
          $ref: '#/components/schemas/TempoTransactionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        A Tempo (type 118) transaction-level field. Evaluated once per
        transaction (not per call).
      title: TempoTransactionCondition
      x-stainless-model: policies.tempo_transaction_condition
    SolanaProgramInstructionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - solana_program_instruction
        field:
          type: string
          enum:
            - programId
          title: SolanaProgramInstructionConditionField
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Solana Program attributes, enables allowlisting Solana Programs.
      title: SolanaProgramInstructionCondition
      x-stainless-model: policies.solana_program_instruction_condition
    SolanaInstructionDataCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - solana_instruction_data
        field:
          type: string
          title: SolanaInstructionDataConditionField
        idl:
          $ref: '#/components/schemas/SolanaIdl'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - idl
        - operator
        - value
      description: >-
        Solana instruction arguments and named accounts interpreted using an
        inline Anchor IDL.
      title: SolanaInstructionDataCondition
      x-stainless-model: policies.solana_instruction_data_condition
    SolanaSystemProgramInstructionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - solana_system_program_instruction
        field:
          $ref: '#/components/schemas/SolanaSystemProgramInstructionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        Solana System Program attributes, including more granular Transfer
        instruction fields.
      title: SolanaSystemProgramInstructionCondition
      x-stainless-model: policies.solana_system_program_instruction_condition
    SolanaTokenProgramInstructionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - solana_token_program_instruction
        field:
          $ref: '#/components/schemas/SolanaTokenProgramInstructionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        Solana Token Program attributes, including more granular TransferChecked
        instruction fields.
      title: SolanaTokenProgramInstructionCondition
      x-stainless-model: policies.solana_token_program_instruction_condition
    SystemCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - system
        field:
          type: string
          enum:
            - current_unix_timestamp
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: System attributes, including current unix timestamp (in seconds).
      title: SystemCondition
      x-stainless-model: policies.system_condition
    TronTransactionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - tron_transaction
        field:
          $ref: '#/components/schemas/TronTransactionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        TRON transaction fields for TransferContract and TriggerSmartContract
        transaction types.
      title: TronTransactionCondition
      x-stainless-model: policies.tron_transaction_condition
    TronCalldataCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - tron_trigger_smart_contract_data
        field:
          type: string
          title: TronCalldataConditionField
        abi:
          $ref: '#/components/schemas/AbiSchema'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - abi
        - operator
        - value
      description: Decoded calldata from a TRON TriggerSmartContract interaction.
      title: TronCalldataCondition
      x-stainless-model: policies.tron_calldata_condition
    XrplTransactionCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - xrpl_transaction
        field:
          $ref: '#/components/schemas/XrplTransactionConditionField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Policy condition evaluated against decoded XRPL transaction fields.
      title: XrplTransactionCondition
      x-stainless-model: policies.xrpl_transaction_condition
    SuiTransactionCommandCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - sui_transaction_command
        field:
          type: string
          enum:
            - commandName
          title: SuiTransactionCommandConditionField
        operator:
          $ref: '#/components/schemas/SuiTransactionCommandOperator'
        value:
          anyOf:
            - $ref: '#/components/schemas/SuiCommandName'
            - type: array
              items:
                $ref: '#/components/schemas/SuiCommandName'
          description: >-
            Command name(s) to match. Must be one of: 'TransferObjects',
            'SplitCoins', 'MergeCoins'
      required:
        - field_source
        - field
        - operator
        - value
      additionalProperties: false
      description: >-
        SUI transaction command attributes, enables allowlisting specific
        command types. Allowed commands: 'TransferObjects', 'SplitCoins',
        'MergeCoins'. Only 'eq' and 'in' operators are supported.
      title: SuiTransactionCommandCondition
      x-stainless-model: policies.sui_transaction_command_condition
    SuiTransferObjectsCommandCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - sui_transfer_objects_command
        field:
          $ref: '#/components/schemas/SuiTransferObjectsCommandField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        SUI TransferObjects command attributes, including recipient and amount
        fields.
      title: SuiTransferObjectsCommandCondition
      x-stainless-model: policies.sui_transfer_objects_command_condition
    ActionRequestBodyCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - action_request_body
        field:
          type: string
          title: ActionRequestBodyConditionField
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Condition on the original wallet action API request body fields.
      title: ActionRequestBodyCondition
      x-stainless-model: policies.action_request_body_condition
    AggregationCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - reference
        field:
          type: string
          pattern: ^aggregation\.
          title: AggregationConditionField
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: >-
        Condition referencing an aggregation value. The field must start with
        "aggregation." followed by the aggregation ID.
      title: AggregationCondition
      x-stainless-model: policies.aggregation_condition
    MessageSigningCondition:
      type: object
      properties:
        field_source:
          type: string
          enum:
            - message
        field:
          $ref: '#/components/schemas/MessageSigningField'
        operator:
          $ref: '#/components/schemas/ConditionOperator'
        value:
          $ref: '#/components/schemas/ConditionValue'
      required:
        - field_source
        - field
        - operator
        - value
      description: Condition on the message being signed (e.g. in personal_sign).
      title: MessageSigningCondition
      x-stainless-model: policies.message_signing_condition
    RuleIntentDeleteRequestBody:
      type: object
      properties: {}
      description: Empty request body for a rule delete intent.
      x-stainless-empty-object: true
      title: RuleIntentDeleteRequestBody
      x-stainless-model: intents.rule_intent_delete_request_body
    IntentAuthorizationUserMember:
      type: object
      properties:
        type:
          type: string
          enum:
            - user
        user_id:
          type: string
          description: User ID of the key quorum member
        signed_at:
          type:
            - number
            - 'null'
          description: Unix timestamp when this member signed, or null if not yet signed.
      required:
        - type
        - user_id
        - signed_at
      description: A user member of an intent authorization quorum.
      title: IntentAuthorizationUserMember
      x-stainless-model: intents.intent_authorization_user_member
    IntentAuthorizationKeyMember:
      type: object
      properties:
        type:
          type: string
          enum:
            - key
        public_key:
          type: string
          description: Public key of the key quorum member
        signed_at:
          type:
            - number
            - 'null'
          description: Unix timestamp when this member signed, or null if not yet signed.
      required:
        - type
        - public_key
        - signed_at
      description: A key member of an intent authorization quorum.
      title: IntentAuthorizationKeyMember
      x-stainless-model: intents.intent_authorization_key_member
    IntentAuthorizationKeyQuorum:
      type: object
      properties:
        type:
          type: string
          enum:
            - key_quorum
        key_quorum_id:
          type: string
          description: ID of the child key quorum member
        display_name:
          type: string
          description: Display name for the child key quorum (if any)
        threshold_met:
          type: boolean
          description: Whether this child key quorum has met its signature threshold
        threshold:
          type: number
          description: Number of signatures required from this child quorum
        members:
          type: array
          items:
            $ref: '#/components/schemas/IntentAuthorizationKeyQuorumMember'
          description: Members of this child quorum
      required:
        - type
        - key_quorum_id
        - threshold_met
        - threshold
        - members
      description: A nested key quorum member of an intent authorization quorum.
      title: IntentAuthorizationKeyQuorum
      x-stainless-model: intents.intent_authorization_key_quorum
    UnsignedEthereumTransaction:
      anyOf:
        - $ref: '#/components/schemas/UnsignedStandardEthereumTransaction'
        - $ref: '#/components/schemas/UnsignedTempoTransaction'
      description: >-
        An unsigned Ethereum transaction object. Supports standard EVM
        transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
      title: UnsignedEthereumTransaction
      x-stainless-model: wallets.unsigned_ethereum_transaction
    RpcSponsorAsset:
      type: string
      description: >-
        Token asset identifier for user-pays gas sponsorship. Common values:
        'usdc', 'usdt', 'eurc', 'usdg', 'usdc_e'. Available tokens vary by
        chain.
      title: RpcSponsorAsset
      x-stainless-model: wallets.rpc_sponsor_asset
    SignatureType:
      type: string
      enum:
        - ecdsa
        - erc1271
      description: >-
        The type of cryptographic signature to produce. Use "ecdsa" for standard
        ECDSA signatures, or "erc1271" for ERC-1271 compliant signatures for
        smart account wallets.
      title: SignatureType
      x-stainless-model: wallets.signature_type
    EthereumTypedDataInput:
      type: object
      properties:
        domain:
          $ref: '#/components/schemas/TypedDataDomainInputParams'
        types:
          $ref: '#/components/schemas/TypedDataTypesInputParams'
        message:
          type: object
          additionalProperties:
            x-stainless-any: true
        primary_type:
          type: string
      required:
        - domain
        - types
        - message
        - primary_type
      additionalProperties: false
      description: EIP-712 typed data object.
      title: EthereumTypedDataInput
      x-stainless-model: wallets.ethereum_typed_data_input
    Quantity:
      anyOf:
        - $ref: '#/components/schemas/Hex'
        - type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      description: >-
        A quantity value that can be either a hex string starting with '0x' or a
        non-negative integer.
      title: Quantity
      x-stainless-model: wallets.quantity
    UserOperationInput:
      type: object
      properties:
        sender:
          type: string
        nonce:
          $ref: '#/components/schemas/Hex'
        factory:
          type: string
        factory_data:
          $ref: '#/components/schemas/Hex'
        call_data:
          $ref: '#/components/schemas/Hex'
        paymaster:
          type: string
        paymaster_data:
          $ref: '#/components/schemas/Hex'
        paymaster_post_op_gas_limit:
          $ref: '#/components/schemas/Hex'
        paymaster_verification_gas_limit:
          $ref: '#/components/schemas/Hex'
        max_priority_fee_per_gas:
          $ref: '#/components/schemas/Hex'
        max_fee_per_gas:
          $ref: '#/components/schemas/Hex'
        call_gas_limit:
          $ref: '#/components/schemas/Hex'
        verification_gas_limit:
          $ref: '#/components/schemas/Hex'
        pre_verification_gas:
          $ref: '#/components/schemas/Hex'
      required:
        - sender
        - nonce
        - call_data
        - max_priority_fee_per_gas
        - max_fee_per_gas
        - call_gas_limit
        - verification_gas_limit
        - pre_verification_gas
      additionalProperties: false
      description: An ERC-4337 user operation.
      title: UserOperationInput
      x-stainless-model: wallets.user_operation_input
    EthereumSendCallsCall:
      type: object
      properties:
        to:
          type: string
        value:
          $ref: '#/components/schemas/Quantity'
        data:
          $ref: '#/components/schemas/Hex'
      required:
        - to
      additionalProperties: false
      description: A single call within a batched wallet_sendCalls request.
      title: EthereumSendCallsCall
      x-stainless-model: wallets.ethereum_send_calls_call
    AptosBcsHex:
      type: string
      maxLength: 300002
      pattern: ^0x(?:[0-9a-fA-F]{2})+$
      description: A non-empty, 0x-prefixed, even-length BCS hex string.
      title: AptosBcsHex
      x-stainless-model: wallets.aptos_bcs_hex
    SparkOutputSelectionStrategy:
      type: string
      enum:
        - SMALL_FIRST
        - LARGE_FIRST
      description: Strategy for selecting outputs in a Spark token transfer.
      title: SparkOutputSelectionStrategy
      x-stainless-model: wallets.spark_output_selection_strategy
    OutputWithPreviousTransactionData:
      type: object
      properties:
        output:
          $ref: '#/components/schemas/TokenOutput'
        previous_transaction_hash:
          type: string
        previous_transaction_vout:
          type: number
      required:
        - previous_transaction_hash
        - previous_transaction_vout
      description: A Spark token output with its previous transaction data.
      title: OutputWithPreviousTransactionData
      x-stainless-model: wallets.output_with_previous_transaction_data
    SparkExitSpeed:
      type: string
      enum:
        - FAST
        - MEDIUM
        - SLOW
      description: The exit speed for a cooperative withdrawal from Spark to L1.
      title: SparkExitSpeed
      x-stainless-model: wallets.spark_exit_speed
    TronRawDataForSign:
      type: object
      properties:
        contract:
          type: array
          items:
            $ref: '#/components/schemas/TronContract'
        data:
          type: string
          pattern: ^(?:[0-9a-fA-F]{2})*$
        timestamp:
          type: integer
          minimum: 0
        fee_limit:
          type: integer
          minimum: 0
        ref_block_bytes:
          type: string
          pattern: ^[0-9a-fA-F]{4}$
        ref_block_hash:
          type: string
          pattern: ^[0-9a-fA-F]{16}$
        expiration:
          type: integer
          minimum: 0
      required:
        - contract
        - ref_block_bytes
        - ref_block_hash
        - expiration
      additionalProperties: false
      description: >-
        Tron raw_data for tron_signTransaction. Block reference fields are
        required; caller is responsible for fetching them.
      title: TronRawDataForSign
      x-stainless-model: wallets.tron_raw_data_for_sign
    TronRawDataForSend:
      type: object
      properties:
        contract:
          type: array
          items:
            $ref: '#/components/schemas/TronContract'
        data:
          type: string
          pattern: ^(?:[0-9a-fA-F]{2})*$
        timestamp:
          type: integer
          minimum: 0
        fee_limit:
          type: integer
          minimum: 0
        ref_block_bytes:
          type: string
          pattern: ^[0-9a-fA-F]{4}$
        ref_block_hash:
          type: string
          pattern: ^[0-9a-fA-F]{16}$
        expiration:
          type: integer
          minimum: 0
      required:
        - contract
      additionalProperties: false
      description: >-
        Tron raw_data for tron_sendTransaction. Block reference fields are
        optional; Privy fetches fresh values if omitted.
      title: TronRawDataForSend
      x-stainless-model: wallets.tron_raw_data_for_send
    NearUnsignedTransactionBorshBase64:
      type: string
      minLength: 1
      maxLength: 300002
      pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}(?:==)?|[A-Za-z0-9+/]{3}=?)?$
      description: A non-empty, base64-encoded Borsh NEAR Transaction.
      title: NearUnsignedTransactionBorshBase64
      x-stainless-model: wallets.near_unsigned_transaction_borsh_base_64
    HPKEEncryption:
      type: string
      enum:
        - HPKE
      description: >-
        The encryption type of the wallet to import. Currently only supports
        `HPKE`.
      title: HPKEEncryption
      x-stainless-model: wallets.hpke_encryption
    RecipientPublicKey:
      anyOf:
        - type: string
          pattern: >-
            ^-----BEGIN PUBLIC KEY-----\n[A-Za-z0-9+/=\n]+-----END PUBLIC
            KEY-----\n$
        - type: string
          pattern: ^[A-Za-z0-9+/=]+$
      description: >-
        The recipient public key for HPKE encryption, in PEM or DER
        (base64-encoded) format.
      title: RecipientPublicKey
      x-stainless-model: wallets.recipient_public_key
    ExportType:
      type: string
      enum:
        - display
        - client
      description: >-
        The export type. 'display' is for showing the key to the user in the UI,
        'client' is for exporting to the client application.
      title: ExportType
      x-stainless-model: wallets.export_type
    EthereumSign7702Authorization:
      type: object
      properties:
        contract:
          type: string
        chain_id:
          $ref: '#/components/schemas/Quantity'
        nonce:
          $ref: '#/components/schemas/Quantity'
        r:
          $ref: '#/components/schemas/Hex'
        s:
          $ref: '#/components/schemas/Hex'
        y_parity:
          type: number
      required:
        - contract
        - chain_id
        - nonce
        - r
        - s
        - y_parity
      description: >-
        A signed EIP-7702 authorization that delegates code execution to a
        contract address.
      title: EthereumSign7702Authorization
      x-stainless-model: wallets.ethereum_sign_7702_authorization
    AptosSignedTransactionBcsHex:
      type: string
      maxLength: 300200
      pattern: ^0x(?:[0-9a-fA-F]{2})+$
      description: >-
        A non-empty, 0x-prefixed, even-length BCS legacy Ed25519
        SignedTransaction.
      title: AptosSignedTransactionBcsHex
      x-stainless-model: wallets.aptos_signed_transaction_bcs_hex
    SparkTransferLeaf:
      type: object
      properties:
        leaf:
          $ref: '#/components/schemas/SparkWalletLeaf'
        secret_cipher:
          type: string
        signature:
          type: string
        intermediate_refund_tx:
          type: string
      required:
        - secret_cipher
        - signature
        - intermediate_refund_tx
      description: A Spark transfer leaf.
      title: SparkTransferLeaf
      x-stainless-model: wallets.spark_transfer_leaf
    SparkTokenBalance:
      type: object
      properties:
        balance:
          type: string
        token_metadata:
          $ref: '#/components/schemas/SparkUserTokenMetadata'
      required:
        - balance
        - token_metadata
      description: Balance of a Spark token.
      title: SparkTokenBalance
      x-stainless-model: wallets.spark_token_balance
    SparkLightningFee:
      type: object
      properties:
        original_value:
          type: number
        original_unit:
          type: string
      required:
        - original_value
        - original_unit
      description: The fee for a Spark Lightning payment.
      title: SparkLightningFee
      x-stainless-model: wallets.spark_lightning_fee
    SparkCurrencyAmount:
      type: object
      properties:
        original_value:
          type: number
        original_unit:
          type: string
      required:
        - original_value
        - original_unit
      description: A currency amount with its original value and unit.
      title: SparkCurrencyAmount
      x-stainless-model: wallets.spark_currency_amount
    NearSignedTransactionBorshBase64:
      type: string
      minLength: 1
      maxLength: 300090
      pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}(?:==)?|[A-Za-z0-9+/]{3}=?)?$
      description: A non-empty, base64-encoded NEAR Ed25519 SignedTransaction.
      title: NearSignedTransactionBorshBase64
      x-stainless-model: wallets.near_signed_transaction_borsh_base_64
    TransferInitiationChannel:
      anyOf:
        - type: string
          enum:
            - p2p_mobile_payment
            - other_mobile_payment
            - other
        - type: string
      description: >-
        How the payment was initiated. Use `p2p_mobile_payment` for peer-to-peer
        transfers initiated on a mobile device; `other_mobile_payment` for
        non-P2P mobile-initiated payments (e.g. a merchant payment via a mobile
        app); `other` for payments not relying on a mobile device.
      title: TransferInitiationChannel
      example: other_mobile_payment
      x-stainless-model: wallets.transfer_initiation_channel
    TransferInitiationSubchannel:
      anyOf:
        - type: string
          enum:
            - remote
            - non_remote
        - type: string
      description: >-
        Whether the payment was made remotely or in person. Use `remote` for
        payments initiated from a distance (mobile app, online banking, or
        e-commerce checkout); `non_remote` for payments made in person (physical
        card, payment terminal, or contactless tap).
      title: TransferInitiationSubchannel
      example: remote
      x-stainless-model: wallets.transfer_initiation_subchannel
    TransferInitiationAttestations:
      type: object
      properties:
        sca:
          $ref: '#/components/schemas/TransferScaAttestation'
      required:
        - sca
      additionalProperties: false
      description: Payment initiation attestations for a transfer.
      title: TransferInitiationAttestations
      example:
        sca:
          outcome: sca_used
          auth_factors:
            - category: possession
              authenticated_at: '2026-01-15T10:30:00Z'
              reference: auth_event_123
            - category: knowledge
              authenticated_at: '2026-01-15T10:30:00Z'
              reference: auth_event_456
      x-stainless-model: wallets.transfer_initiation_attestations
    EVMWalletActionStepStatus:
      type: string
      enum:
        - preparing
        - queued
        - pending
        - retrying
        - confirmed
        - rejected
        - reverted
        - replaced
        - abandoned
      description: Status of an EVM step in a wallet action.
      title: EVMWalletActionStepStatus
      x-stainless-model: wallets.actions.evm_wallet_action_step_status
    EVMUserOperationEntrypointVersion:
      type: string
      enum:
        - '0.6'
        - '0.7'
        - '0.8'
        - '0.9'
      description: The ERC-4337 entrypoint contract version used by the user operation.
      title: EVMUserOperationEntrypointVersion
      x-stainless-model: wallets.actions.evm_user_operation_entrypoint_version
    SVMWalletActionStepStatus:
      type: string
      enum:
        - preparing
        - queued
        - pending
        - confirmed
        - rejected
        - reverted
        - failed
      description: Status of an SVM step in a wallet action.
      title: SVMWalletActionStepStatus
      x-stainless-model: wallets.actions.svm_wallet_action_step_status
    TVMWalletActionStepStatus:
      type: string
      enum:
        - preparing
        - queued
        - pending
        - confirmed
        - rejected
        - reverted
        - failed
      description: Status of a TVM (Tron) step in a wallet action.
      title: TVMWalletActionStepStatus
      x-stainless-model: wallets.actions.tvm_wallet_action_step_status
    ExternalTransactionWalletActionStepStatus:
      type: string
      enum:
        - preparing
        - queued
        - pending
        - confirmed
        - rejected
        - failed
      description: Status of an external transaction step in a wallet action.
      title: ExternalTransactionWalletActionStepStatus
      x-stainless-model: wallets.actions.external_transaction_wallet_action_step_status
    CustodianTransactionWalletActionStepStatus:
      type: string
      enum:
        - preparing
        - queued
        - custodian_reviewing
        - pending
        - confirmed
        - rejected
        - failed
      description: Status of a custodian transaction step in a wallet action.
      title: CustodianTransactionWalletActionStepStatus
      x-stainless-model: wallets.actions.custodian_transaction_wallet_action_step_status
    EthereumTransactionConditionField:
      type: string
      enum:
        - to
        - value
        - chain_id
      description: >-
        Ethereum transaction-level fields that can be referenced in a policy
        condition.
      title: EthereumTransactionConditionField
      x-stainless-model: policies.ethereum_transaction_condition_field
    ConditionOperator:
      type: string
      enum:
        - eq
        - gt
        - gte
        - lt
        - lte
        - in
        - in_condition_set
        - contains
        - starts_with
        - ends_with
      description: Operator to use for policy conditions.
      title: ConditionOperator
      x-stainless-model: policies.condition_operator
    ConditionValue:
      anyOf:
        - type: string
        - type: array
          items:
            type: string
      description: >-
        Value to compare against in a policy condition. Can be a single string
        or an array of strings.
      title: ConditionValue
      x-stainless-model: policies.condition_value
    AbiSchema:
      type: array
      items:
        type: object
        properties:
          type:
            type: string
            enum:
              - function
              - constructor
              - event
              - fallback
              - receive
          name:
            type: string
          inputs:
            type: array
            items:
              $ref: '#/components/schemas/AbiParameter'
          outputs:
            type: array
            items:
              $ref: '#/components/schemas/AbiParameter'
          stateMutability:
            type: string
            enum:
              - pure
              - view
              - nonpayable
              - payable
          anonymous:
            type: boolean
        required:
          - type
      maxItems: 200
      description: A Solidity ABI definition for decoding smart contract calldata.
      title: AbiSchema
      x-stainless-model: policies.abi_schema
    EthereumTypedDataDomainConditionField:
      type: string
      enum:
        - chainId
        - verifyingContract
        - chain_id
        - verifying_contract
      description: Supported fields for Ethereum typed data domain conditions.
      title: EthereumTypedDataDomainConditionField
      x-stainless-model: policies.ethereum_typed_data_domain_condition_field
    TypedDataInput:
      type: object
      properties:
        types:
          $ref: '#/components/schemas/TypedDataTypesInputParams'
        primary_type:
          type: string
      required:
        - types
        - primary_type
      description: >-
        The typed data structure containing EIP-712 types and the primary type
        for typed data message policy conditions.
      title: TypedDataInput
      x-stainless-model: policies.typed_data_input
    TempoTransactionConditionField:
      type: string
      enum:
        - fee_token
        - fee_payer_signature
        - nonce_key
        - valid_before
        - valid_after
      description: >-
        Tempo (type 118) transaction-level fields that can be referenced in a
        policy condition.
      title: TempoTransactionConditionField
      x-stainless-model: policies.tempo_transaction_condition_field
    SolanaIdl:
      type: object
      description: >-
        A modern Anchor IDL containing selected instructions and their complete
        type dependencies.
      additionalProperties: true
      title: SolanaIdl
      x-stainless-model: policies.solana_idl
    SolanaSystemProgramInstructionConditionField:
      type: string
      enum:
        - instructionName
        - Transfer.from
        - Transfer.to
        - Transfer.lamports
      description: >-
        Supported fields for Solana System Program conditions including Transfer
        instruction fields.
      title: SolanaSystemProgramInstructionConditionField
      x-stainless-model: policies.solana_system_program_instruction_condition_field
    SolanaTokenProgramInstructionConditionField:
      type: string
      enum:
        - instructionName
        - Transfer.source
        - Transfer.destination
        - Transfer.authority
        - Transfer.amount
        - TransferChecked.source
        - TransferChecked.destination
        - TransferChecked.authority
        - TransferChecked.amount
        - TransferChecked.mint
        - Burn.account
        - Burn.mint
        - Burn.authority
        - Burn.amount
        - MintTo.mint
        - MintTo.account
        - MintTo.authority
        - MintTo.amount
        - CloseAccount.account
        - CloseAccount.destination
        - CloseAccount.authority
        - InitializeAccount3.account
        - InitializeAccount3.mint
        - InitializeAccount3.owner
      description: >-
        Supported fields for Solana Token Program conditions including Transfer,
        TransferChecked, Burn, MintTo, CloseAccount, and InitializeAccount3
        instruction fields.
      title: SolanaTokenProgramInstructionConditionField
      x-stainless-model: policies.solana_token_program_instruction_condition_field
    TronTransactionConditionField:
      type: string
      enum:
        - TransferContract.to_address
        - TransferContract.amount
        - TriggerSmartContract.contract_address
        - TriggerSmartContract.call_value
        - TriggerSmartContract.token_id
        - TriggerSmartContract.call_token_value
      description: >-
        Supported TRON transaction fields for TransferContract and
        TriggerSmartContract in format "TransactionType.field_name".
      title: TronTransactionConditionField
      x-stainless-model: policies.tron_transaction_condition_field
    XrplTransactionConditionField:
      type: string
      enum:
        - TransactionType
        - Payment.Destination
        - Payment.DestinationTag
        - Payment.Amount.drops
        - Payment.Amount.value
        - Payment.Amount.currency
        - Payment.Amount.issuer
        - Payment.SendMax.drops
        - Payment.SendMax.value
        - Payment.SendMax.currency
        - Payment.SendMax.issuer
        - Payment.DeliverMin.drops
        - Payment.DeliverMin.value
        - Payment.DeliverMin.currency
        - Payment.DeliverMin.issuer
        - OfferCreate.TakerPays.drops
        - OfferCreate.TakerPays.value
        - OfferCreate.TakerPays.currency
        - OfferCreate.TakerPays.issuer
        - OfferCreate.TakerGets.drops
        - OfferCreate.TakerGets.value
        - OfferCreate.TakerGets.currency
        - OfferCreate.TakerGets.issuer
        - OfferCreate.Expiration
        - TrustSet.LimitAmount.value
        - TrustSet.LimitAmount.currency
        - TrustSet.LimitAmount.issuer
        - TrustSet.QualityIn
        - TrustSet.QualityOut
      description: Supported XRPL transaction field paths for policy conditions.
      title: XrplTransactionConditionField
      x-stainless-model: policies.xrpl_transaction_condition_field
    SuiTransactionCommandOperator:
      anyOf:
        - type: string
          enum:
            - eq
        - type: string
          enum:
            - in
      description: >-
        Operator to use for SUI transaction command conditions. Only 'eq' and
        'in' are supported for command names.
      title: SuiTransactionCommandOperator
      x-stainless-model: policies.sui_transaction_command_operator
    SuiCommandName:
      type: string
      enum:
        - TransferObjects
        - SplitCoins
        - MergeCoins
      description: >-
        SUI transaction commands allowlist for raw_sign endpoint policy
        evaluation
      title: SuiCommandName
      x-stainless-model: wallets.sui_command_name
    SuiTransferObjectsCommandField:
      type: string
      enum:
        - recipient
        - amount
      description: >-
        Supported fields for SUI TransferObjects command conditions. Only
        'recipient' and 'amount' are supported.
      title: SuiTransferObjectsCommandField
      x-stainless-model: policies.sui_transfer_objects_command_field
    MessageSigningField:
      type: string
      enum:
        - content
        - byte_length
      description: Supported fields for message signing conditions.
      title: MessageSigningField
      example: content
      x-stainless-model: policies.message_signing_field
    IntentAuthorizationKeyQuorumMember:
      oneOf:
        - $ref: '#/components/schemas/IntentAuthorizationUserMember'
        - $ref: '#/components/schemas/IntentAuthorizationKeyMember'
      discriminator:
        propertyName: type
        mapping:
          user: '#/components/schemas/IntentAuthorizationUserMember'
          key: '#/components/schemas/IntentAuthorizationKeyMember'
      description: >-
        A leaf member (user or key) of a nested key quorum in an intent
        authorization.
      title: IntentAuthorizationKeyQuorumMember
      x-stainless-model: intents.intent_authorization_key_quorum_member
    UnsignedStandardEthereumTransaction:
      type: object
      properties:
        from:
          type: string
        to:
          type: string
        chain_id:
          $ref: '#/components/schemas/Quantity'
        nonce:
          $ref: '#/components/schemas/Quantity'
        data:
          $ref: '#/components/schemas/Hex'
        value:
          $ref: '#/components/schemas/Quantity'
        type:
          anyOf:
            - type: number
              enum:
                - 0
            - type: number
              enum:
                - 1
            - type: number
              enum:
                - 2
            - type: number
              enum:
                - 4
        gas_limit:
          $ref: '#/components/schemas/Quantity'
        gas_price:
          $ref: '#/components/schemas/Quantity'
        max_fee_per_gas:
          $ref: '#/components/schemas/Quantity'
        max_priority_fee_per_gas:
          $ref: '#/components/schemas/Quantity'
        authorization_list:
          type: array
          items:
            $ref: '#/components/schemas/EthereumSign7702Authorization'
          maxItems: 10
      additionalProperties: false
      description: >-
        An unsigned standard Ethereum transaction object. Supports EVM
        transaction types 0, 1, 2, and 4.
      title: UnsignedStandardEthereumTransaction
      x-stainless-model: wallets.unsigned_standard_ethereum_transaction
    UnsignedTempoTransaction:
      type: object
      properties:
        type:
          type: number
          enum:
            - 118
        from:
          type: string
        chain_id:
          $ref: '#/components/schemas/Quantity'
        nonce:
          $ref: '#/components/schemas/Quantity'
        gas_limit:
          $ref: '#/components/schemas/Quantity'
        max_fee_per_gas:
          $ref: '#/components/schemas/Quantity'
        max_priority_fee_per_gas:
          $ref: '#/components/schemas/Quantity'
        calls:
          type: array
          items:
            $ref: '#/components/schemas/TempoCall'
          minItems: 1
        fee_token:
          type: string
        nonce_key:
          $ref: '#/components/schemas/Quantity'
        valid_before:
          $ref: '#/components/schemas/Quantity'
        valid_after:
          $ref: '#/components/schemas/Quantity'
        fee_payer_signature:
          $ref: '#/components/schemas/TempoFeePayerSignature'
        access_list:
          type: array
          items:
            $ref: '#/components/schemas/AccessListEntry'
        aa_authorization_list:
          type: array
          items:
            $ref: '#/components/schemas/TempoAAAuthorization'
          maxItems: 10
      required:
        - type
        - calls
      additionalProperties: false
      description: An unsigned Tempo transaction (type 118) with batched calls.
      title: UnsignedTempoTransaction
      x-stainless-model: wallets.unsigned_tempo_transaction
    TypedDataDomainInputParams:
      type: object
      additionalProperties:
        x-stainless-any: true
      description: The domain parameters for EIP-712 typed data signing.
      title: TypedDataDomainInputParams
      x-stainless-model: wallets.typed_data_domain_input_params
    TypedDataTypesInputParams:
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/TypedDataTypeFieldInput'
      description: The type definitions for EIP-712 typed data signing.
      title: TypedDataTypesInputParams
      x-stainless-model: wallets.typed_data_types_input_params
    TokenOutput:
      type: object
      properties:
        id:
          type: string
        owner_public_key:
          type: string
        revocation_commitment:
          type: string
        withdraw_bond_sats:
          type: number
        withdraw_relative_block_locktime:
          type: number
        token_public_key:
          type: string
        token_identifier:
          type: string
        token_amount:
          type: string
      required:
        - owner_public_key
        - token_amount
      description: A Spark token output.
      title: TokenOutput
      x-stainless-model: wallets.token_output
    TronContract:
      oneOf:
        - $ref: '#/components/schemas/TronTransferContract'
        - $ref: '#/components/schemas/TronTriggerSmartContract'
      discriminator:
        propertyName: type
        mapping:
          TransferContract: '#/components/schemas/TronTransferContract'
          TriggerSmartContract: '#/components/schemas/TronTriggerSmartContract'
      description: >-
        A Tron contract, discriminated by type. Supported types:
        TransferContract, TriggerSmartContract.
      title: TronContract
      x-stainless-model: wallets.tron_contract
    SparkWalletLeaf:
      type: object
      properties:
        id:
          type: string
        tree_id:
          type: string
        value:
          type: number
        parent_node_id:
          type: string
        node_tx:
          type: string
        refund_tx:
          type: string
        vout:
          type: number
        verifying_public_key:
          type: string
        owner_identity_public_key:
          type: string
        signing_keyshare:
          $ref: '#/components/schemas/SparkSigningKeyshare'
        status:
          type: string
        network:
          $ref: '#/components/schemas/SparkNetwork'
      required:
        - id
        - tree_id
        - value
        - node_tx
        - refund_tx
        - vout
        - verifying_public_key
        - owner_identity_public_key
        - status
        - network
      description: A Spark wallet leaf node.
      title: SparkWalletLeaf
      x-stainless-model: wallets.spark_wallet_leaf
    SparkUserTokenMetadata:
      type: object
      properties:
        raw_token_identifier:
          type: string
        token_public_key:
          type: string
        token_name:
          type: string
        token_ticker:
          type: string
        decimals:
          type: number
        max_supply:
          type: string
      required:
        - raw_token_identifier
        - token_public_key
        - token_name
        - token_ticker
        - decimals
        - max_supply
      description: Metadata for a Spark user token.
      title: SparkUserTokenMetadata
      x-stainless-model: wallets.spark_user_token_metadata
    TransferScaAttestation:
      type: object
      properties:
        outcome:
          $ref: '#/components/schemas/TransferScaOutcome'
        auth_factors:
          type: array
          items:
            $ref: '#/components/schemas/TransferScaAuthFactor'
          minItems: 2
          maxItems: 10
          description: >-
            Authentication factor metadata. Optional when `outcome` is
            `sca_used`; if provided, it must contain at least two entries from
            different `category` values (e.g. one `possession` factor and one
            `knowledge` factor). Omit this field for any other outcome.
      required:
        - outcome
      additionalProperties: false
      description: Strong Customer Authentication attestation for a transfer.
      title: TransferScaAttestation
      example:
        outcome: sca_used
        auth_factors:
          - category: possession
            authenticated_at: '2026-01-15T10:30:00Z'
            reference: auth_event_123
          - category: knowledge
            authenticated_at: '2026-01-15T10:30:00Z'
            reference: auth_event_456
      x-stainless-model: wallets.transfer_sca_attestation
    AbiParameter:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        components:
          type: array
          items:
            type: object
            description: Nested recursive array of AbiParameter objects.
            additionalProperties: true
        indexed:
          type: boolean
        internalType:
          type: string
      required:
        - type
      description: A parameter in a Solidity ABI function or event definition.
      title: AbiParameter
      x-stainless-model: policies.abi_parameter
    TempoCall:
      type: object
      properties:
        to:
          type: string
        data:
          $ref: '#/components/schemas/Hex'
        value:
          $ref: '#/components/schemas/Quantity'
      required:
        - to
      additionalProperties: false
      description: A single call within a Tempo batched transaction.
      title: TempoCall
      x-stainless-model: wallets.tempo_call
    TempoFeePayerSignature:
      type: object
      properties:
        r:
          $ref: '#/components/schemas/Hex'
        s:
          $ref: '#/components/schemas/Hex'
        y_parity:
          anyOf:
            - type: number
              enum:
                - 0
            - type: number
              enum:
                - 1
      required:
        - r
        - s
        - y_parity
      additionalProperties: false
      description: A fee payer signature for sponsored Tempo transactions (secp256k1 only).
      title: TempoFeePayerSignature
      x-stainless-model: wallets.tempo_fee_payer_signature
    AccessListEntry:
      type: object
      properties:
        address:
          type: string
        storage_keys:
          type: array
          items:
            $ref: '#/components/schemas/Hex'
      required:
        - address
        - storage_keys
      additionalProperties: false
      description: >-
        An entry in an EIP-2930 access list, specifying an address and its
        storage keys.
      title: AccessListEntry
      x-stainless-model: wallets.access_list_entry
    TempoAAAuthorization:
      type: object
      properties:
        contract:
          type: string
        chain_id:
          $ref: '#/components/schemas/Quantity'
        nonce:
          $ref: '#/components/schemas/Quantity'
        signature:
          $ref: '#/components/schemas/Hex'
      required:
        - contract
        - chain_id
        - nonce
        - signature
      additionalProperties: false
      description: >-
        An AA authorization for Tempo transactions with P256/WebAuthn
        signatures.
      title: TempoAAAuthorization
      x-stainless-model: wallets.tempo_aa_authorization
    TypedDataTypeFieldInput:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
      required:
        - name
        - type
      description: A single field definition in an EIP-712 typed data type.
      title: TypedDataTypeFieldInput
      x-stainless-model: wallets.typed_data_type_field_input
    TronTransferContract:
      type: object
      properties:
        type:
          type: string
          enum:
            - TransferContract
        owner_address:
          $ref: '#/components/schemas/TronHexAddress'
        to_address:
          $ref: '#/components/schemas/TronHexAddress'
        amount:
          type: integer
          exclusiveMinimum: 0
      required:
        - type
        - owner_address
        - to_address
        - amount
      additionalProperties: false
      description: Tron native TRX transfer contract.
      title: TronTransferContract
      x-stainless-model: wallets.tron_transfer_contract
    TronTriggerSmartContract:
      type: object
      properties:
        type:
          type: string
          enum:
            - TriggerSmartContract
        owner_address:
          $ref: '#/components/schemas/TronHexAddress'
        contract_address:
          $ref: '#/components/schemas/TronHexAddress'
        data:
          type: string
          pattern: ^(?:[0-9a-fA-F]{2})*$
        call_value:
          type: integer
          minimum: 0
        call_token_value:
          type: integer
          minimum: 0
        token_id:
          type: integer
          minimum: 0
      required:
        - type
        - owner_address
        - contract_address
      additionalProperties: false
      description: >-
        Tron smart contract call (TRC-20 transfers and general contract
        interactions).
      title: TronTriggerSmartContract
      x-stainless-model: wallets.tron_trigger_smart_contract
    SparkSigningKeyshare:
      type: object
      properties:
        owner_identifiers:
          type: array
          items:
            type: string
        threshold:
          type: number
        public_key:
          type: string
        public_shares:
          type: object
          additionalProperties:
            type: string
        updated_time:
          type: string
      required:
        - owner_identifiers
        - threshold
        - public_key
        - public_shares
        - updated_time
      description: A Spark signing keyshare.
      title: SparkSigningKeyshare
      x-stainless-model: wallets.spark_signing_keyshare
    TransferScaOutcome:
      anyOf:
        - type: string
          enum:
            - sca_used
            - payment_to_self
            - trusted_beneficiaries
            - recurring_transaction
            - contactless_low_value
            - unattended_terminal_for_transport
            - low_value
            - secure_corporate_payment
            - transaction_risk_analysis
            - merchant_initiated_transaction
            - not_applicable
            - other
        - type: string
      description: >-
        Whether Strong Customer Authentication (SCA) was applied or which
        regulatory exemption or non-applicability reason covers this payment.
        Use `sca_used` when the user authenticated with SCA. Otherwise, choose
        the value that applies: `payment_to_self` — payer and payee are the same
        person (remote only); `trusted_beneficiaries` — payee is on the user's
        pre-approved list; `recurring_transaction` — amount and payee match a
        previously SCA-authorized recurring series; `contactless_low_value` —
        contactless card payment below the low-value threshold (non-remote
        only); `unattended_terminal_for_transport` — automated terminal for
        transport fares or parking (non-remote only); `low_value` — remote
        payment below the low-value threshold (remote only);
        `secure_corporate_payment` — dedicated corporate payment process with
        controls equivalent to SCA (remote only); `transaction_risk_analysis` —
        PSP has performed real-time risk analysis and the transaction falls
        within permitted thresholds (remote only);
        `merchant_initiated_transaction` — payment triggered by the merchant
        without the payer present, on a pre-authorized mandate (remote only);
        `not_applicable` — this flow requires initiation context but SCA and SCA
        exemptions do not apply; `other` — another recognized exemption not
        listed above.
      title: TransferScaOutcome
      example: sca_used
      x-stainless-model: wallets.transfer_sca_outcome
    TransferScaAuthFactor:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/TransferScaAuthFactorCategory'
        authenticated_at:
          type: string
          format: date-time
          description: The ISO 8601 timestamp when this factor was authenticated.
        reference:
          type: string
          minLength: 1
          maxLength: 64
          description: >-
            Your internal identifier for this authentication event (e.g. a
            session ID, transaction ID, or audit log reference). Used for
            reconciliation.
      required:
        - category
        - authenticated_at
        - reference
      additionalProperties: false
      description: Authentication factor metadata for a transfer.
      title: TransferScaAuthFactor
      example:
        category: possession
        authenticated_at: '2026-01-15T10:30:00Z'
        reference: auth_event_123
      x-stainless-model: wallets.transfer_sca_auth_factor
    TronHexAddress:
      type: string
      pattern: ^41[0-9a-fA-F]{40}$
      description: >-
        Tron address in hex format: 41-prefixed, 42 hex characters (21 bytes),
        no 0x prefix.
      title: TronHexAddress
      x-stainless-model: shared.tron_hex_address
    TransferScaAuthFactorCategory:
      anyOf:
        - type: string
          enum:
            - knowledge
            - possession
            - inherence
        - type: string
      description: >-
        The type of authentication factor used. Known values are: `knowledge`
        (something only the user knows, e.g. a PIN or password), `possession`
        (something only the user has, e.g. a phone receiving an OTP or a
        hardware token), and `inherence` (something the user is, e.g. a
        fingerprint or face scan). When `outcome` is `sca_used`, the two factors
        in `auth_factors` must belong to two different categories.
      title: TransferScaAuthFactorCategory
      example: possession
      x-stainless-model: wallets.transfer_sca_auth_factor_category
  securitySchemes:
    appSecretAuth:
      type: http
      scheme: basic
      description: >-
        Basic Auth header with your app ID as the username and your app secret
        as the password.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.