> ## 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.

# Get intent

> Retrieve an intent by ID. Returns the intent details including its current status, authorization details, and execution result if applicable.



## OpenAPI

````yaml get /v1/intents/{intent_id}
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: Aggregations
    description: Operations related to aggregations for tracking and measuring metrics
  - name: Apps
    description: Operations related to app settings and allowlist management
  - 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 organization secret management
  - 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: 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: 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/{intent_id}:
    get:
      tags:
        - Intents
      summary: Get intent
      description: >-
        Retrieve an intent by ID. Returns the intent details including its
        current status, authorization details, and execution result if
        applicable.
      operationId: getIntent
      parameters:
        - schema:
            type: string
            description: ID of the intent.
          required: true
          name: intent_id
          in: path
        - schema:
            type: string
            description: ID of your Privy app.
          required: true
          name: privy-app-id
          in: header
      responses:
        '200':
          description: Intent details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentResponse'
      security:
        - appSecretAuth: []
components:
  schemas:
    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:
            $ref: '#/components/schemas/RpcIntentResponse'
          TRANSFER:
            $ref: '#/components/schemas/TransferIntentResponse'
          WALLET:
            $ref: '#/components/schemas/WalletIntentResponse'
          POLICY:
            $ref: '#/components/schemas/PolicyIntentResponse'
          RULE:
            $ref: '#/components/schemas/RuleIntentResponse'
          KEY_QUORUM:
            $ref: '#/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
                    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/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/ExportPrivateKeyRpcInput'
        - $ref: '#/components/schemas/ExportSeedPhraseRpcInput'
      discriminator:
        propertyName: method
        mapping:
          eth_signTransaction:
            $ref: '#/components/schemas/EthereumSignTransactionRpcInput'
          eth_sendTransaction:
            $ref: '#/components/schemas/EthereumSendTransactionRpcInput'
          personal_sign:
            $ref: '#/components/schemas/EthereumPersonalSignRpcInput'
          eth_signTypedData_v4:
            $ref: '#/components/schemas/EthereumSignTypedDataRpcInput'
          secp256k1_sign:
            $ref: '#/components/schemas/EthereumSecp256k1SignRpcInput'
          eth_sign7702Authorization:
            $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcInput'
          eth_signUserOperation:
            $ref: '#/components/schemas/EthereumSignUserOperationRpcInput'
          wallet_sendCalls:
            $ref: '#/components/schemas/EthereumSendCallsRpcInput'
          signTransaction:
            $ref: '#/components/schemas/SolanaSignTransactionRpcInput'
          signAndSendTransaction:
            $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcInput'
          signMessage:
            $ref: '#/components/schemas/SolanaSignMessageRpcInput'
          transfer:
            $ref: '#/components/schemas/SparkTransferRpcInput'
          getBalance:
            $ref: '#/components/schemas/SparkGetBalanceRpcInput'
          transferTokens:
            $ref: '#/components/schemas/SparkTransferTokensRpcInput'
          getStaticDepositAddress:
            $ref: '#/components/schemas/SparkGetStaticDepositAddressRpcInput'
          getClaimStaticDepositQuote:
            $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcInput'
          claimStaticDeposit:
            $ref: '#/components/schemas/SparkClaimStaticDepositRpcInput'
          createLightningInvoice:
            $ref: '#/components/schemas/SparkCreateLightningInvoiceRpcInput'
          payLightningInvoice:
            $ref: '#/components/schemas/SparkPayLightningInvoiceRpcInput'
          signMessageWithIdentityKey:
            $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcInput'
          withdraw:
            $ref: '#/components/schemas/SparkWithdrawRpcInput'
          getWithdrawalFeeQuote:
            $ref: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcInput'
          tron_signTransaction:
            $ref: '#/components/schemas/TronSignTransactionRpcInput'
          tron_sendTransaction:
            $ref: '#/components/schemas/TronSendTransactionRpcInput'
          exportPrivateKey:
            $ref: '#/components/schemas/ExportPrivateKeyRpcInput'
          exportSeedPhrase:
            $ref: '#/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
          description: >-
            A customer-provided identifier for mapping to external systems.
            Write-once, set only at creation.
        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.
        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.
        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.
        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
        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/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/ExportPrivateKeyRpcResponse'
        - $ref: '#/components/schemas/ExportSeedPhraseRpcResponse'
      discriminator:
        propertyName: method
        mapping:
          personal_sign:
            $ref: '#/components/schemas/EthereumPersonalSignRpcResponse'
          eth_signTypedData_v4:
            $ref: '#/components/schemas/EthereumSignTypedDataRpcResponse'
          eth_signTransaction:
            $ref: '#/components/schemas/EthereumSignTransactionRpcResponse'
          eth_sendTransaction:
            $ref: '#/components/schemas/EthereumSendTransactionRpcResponse'
          eth_signUserOperation:
            $ref: '#/components/schemas/EthereumSignUserOperationRpcResponse'
          eth_sign7702Authorization:
            $ref: '#/components/schemas/EthereumSign7702AuthorizationRpcResponse'
          secp256k1_sign:
            $ref: '#/components/schemas/EthereumSecp256k1SignRpcResponse'
          wallet_sendCalls:
            $ref: '#/components/schemas/EthereumSendCallsRpcResponse'
          signMessage:
            $ref: '#/components/schemas/SolanaSignMessageRpcResponse'
          signTransaction:
            $ref: '#/components/schemas/SolanaSignTransactionRpcResponse'
          signAndSendTransaction:
            $ref: '#/components/schemas/SolanaSignAndSendTransactionRpcResponse'
          transfer:
            $ref: '#/components/schemas/SparkTransferRpcResponse'
          getBalance:
            $ref: '#/components/schemas/SparkGetBalanceRpcResponse'
          transferTokens:
            $ref: '#/components/schemas/SparkTransferTokensRpcResponse'
          getStaticDepositAddress:
            $ref: '#/components/schemas/SparkGetStaticDepositAddressRpcResponse'
          getClaimStaticDepositQuote:
            $ref: '#/components/schemas/SparkGetClaimStaticDepositQuoteRpcResponse'
          claimStaticDeposit:
            $ref: '#/components/schemas/SparkClaimStaticDepositRpcResponse'
          createLightningInvoice:
            $ref: '#/components/schemas/SparkCreateLightningInvoiceRpcResponse'
          payLightningInvoice:
            $ref: '#/components/schemas/SparkPayLightningInvoiceRpcResponse'
          signMessageWithIdentityKey:
            $ref: '#/components/schemas/SparkSignMessageWithIdentityKeyRpcResponse'
          withdraw:
            $ref: '#/components/schemas/SparkWithdrawRpcResponse'
          getWithdrawalFeeQuote:
            $ref: '#/components/schemas/SparkGetWithdrawalFeeQuoteRpcResponse'
          tron_signTransaction:
            $ref: '#/components/schemas/TronSignTransactionRpcResponse'
          tron_sendTransaction:
            $ref: '#/components/schemas/TronSendTransactionRpcResponse'
          exportPrivateKey:
            $ref: '#/components/schemas/ExportPrivateKeyRpcResponse'
          exportSeedPhrase:
            $ref: '#/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.
      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: usdc
          amount: '10.5'
          chain: base
        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.
        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. "base", "ethereum").
        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:
            $ref: '#/components/schemas/RuleIntentCreateRequestDetails'
          PATCH:
            $ref: '#/components/schemas/RuleIntentUpdateRequestDetails'
          DELETE:
            $ref: '#/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
    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
    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
        reference_id:
          type: string
          minLength: 1
          maxLength: 64
        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
        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
    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
        reference_id:
          type: string
          minLength: 1
          maxLength: 64
        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
    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
        - spark
      description: The wallet chain types.
      title: WalletChainType
      x-stainless-model: wallets.wallet_chain_type
    WalletAdditionalSigner:
      type: array
      items:
        $ref: '#/components/schemas/WalletAdditionalSignerItem'
      description: Additional signers for the wallet.
      title: WalletAdditionalSigner
      x-stainless-model: wallets.wallet_additional_signer
    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
    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
    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: usdc
        amount: '10.5'
        chain: base
      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 'base' to destination 'arbitrum').
      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:
            $ref: '#/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
    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'
      discriminator:
        propertyName: type
        mapping:
          evm_transaction:
            $ref: '#/components/schemas/EVMTransactionWalletActionStep'
          evm_user_operation:
            $ref: '#/components/schemas/EVMUserOperationWalletActionStep'
          svm_transaction:
            $ref: '#/components/schemas/SVMTransactionWalletActionStep'
          tvm_transaction:
            $ref: '#/components/schemas/TVMTransactionWalletActionStep'
          external_transaction:
            $ref: '#/components/schemas/ExternalTransactionWalletActionStep'
          custodian_transaction:
            $ref: '#/components/schemas/CustodianTransactionWalletActionStep'
      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:
            $ref: '#/components/schemas/RelayerFee'
          privy:
            $ref: '#/components/schemas/PrivyFee'
          developer:
            $ref: '#/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
        - 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/SolanaSystemProgramInstructionCondition'
        - $ref: '#/components/schemas/SolanaTokenProgramInstructionCondition'
        - $ref: '#/components/schemas/SystemCondition'
        - $ref: '#/components/schemas/TronTransactionCondition'
        - $ref: '#/components/schemas/TronCalldataCondition'
        - $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:
            $ref: '#/components/schemas/EthereumTransactionCondition'
          ethereum_calldata:
            $ref: '#/components/schemas/EthereumCalldataCondition'
          ethereum_typed_data_domain:
            $ref: '#/components/schemas/EthereumTypedDataDomainCondition'
          ethereum_typed_data_message:
            $ref: '#/components/schemas/EthereumTypedDataMessageCondition'
          ethereum_7702_authorization:
            $ref: '#/components/schemas/Ethereum7702AuthorizationCondition'
          tempo_transaction:
            $ref: '#/components/schemas/TempoTransactionCondition'
          solana_program_instruction:
            $ref: '#/components/schemas/SolanaProgramInstructionCondition'
          solana_system_program_instruction:
            $ref: '#/components/schemas/SolanaSystemProgramInstructionCondition'
          solana_token_program_instruction:
            $ref: '#/components/schemas/SolanaTokenProgramInstructionCondition'
          system:
            $ref: '#/components/schemas/SystemCondition'
          tron_transaction:
            $ref: '#/components/schemas/TronTransactionCondition'
          tron_trigger_smart_contract_data:
            $ref: '#/components/schemas/TronCalldataCondition'
          sui_transaction_command:
            $ref: '#/components/schemas/SuiTransactionCommandCondition'
          sui_transfer_objects_command:
            $ref: '#/components/schemas/SuiTransferObjectsCommandCondition'
          action_request_body:
            $ref: '#/components/schemas/ActionRequestBodyCondition'
          reference:
            $ref: '#/components/schemas/AggregationCondition'
          message:
            $ref: '#/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:
            $ref: '#/components/schemas/IntentAuthorizationUserMember'
          key:
            $ref: '#/components/schemas/IntentAuthorizationKeyMember'
          key_quorum:
            $ref: '#/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:1').
      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
    Hex:
      type: string
      maxLength: 100002
      description: >-
        A hex-encoded string prefixed with '0x', capped at 100002 characters
        (50,000 bytes).
      title: Hex
      x-stainless-model: wallets.hex
    EthereumPersonalSignRpcInputParams:
      type: object
      properties:
        message:
          type: string
          maxLength: 100002
        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
    SolanaSignTransactionRpcInputParams:
      type: object
      properties:
        transaction:
          type: string
          maxLength: 100002
        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: 100002
        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: 100002
        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
    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
    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'
      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
    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'
        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
    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: true
        chain:
          type: string
          description: >-
            The blockchain network on which to perform the transfer. Supported
            chains include: 'ethereum', 'base', 'arbitrum', 'polygon', 'solana',
            and their respective testnets.
        asset:
          type: string
          description: >-
            The asset to transfer. Supported: 'usdc', 'usdb', 'usdt'
            (stablecoins), 'eth' (native Ethereum), 'sol' (native Solana).
      required:
        - amount
        - 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: usdc
        amount: '10.5'
        chain: base
      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: true
        chain:
          type: string
          description: >-
            The blockchain network on which to perform the transfer. Supported
            chains include: '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:
        - amount
        - 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
    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.
        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").
      required:
        - type
        - status
        - custodian
      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
    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
    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
    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
    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'
        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
    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
    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
    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
    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
    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
    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:
            $ref: '#/components/schemas/IntentAuthorizationUserMember'
          key:
            $ref: '#/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:
            $ref: '#/components/schemas/TronTransferContract'
          TriggerSmartContract:
            $ref: '#/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
    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
    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
  securitySchemes:
    appSecretAuth:
      type: http
      scheme: basic
      description: >-
        Basic Auth header with your app ID as the username and your app secret
        as the password.

````