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

# Register a crypto wallet

> Registers a crypto wallet for the authenticated organization. If the wallet was previously
soft-deleted, it will be restored.

Optionally claims ownership of the wallet on behalf of the organization. When an approved
(KYB'd) organization claims ownership of a wallet, that wallet is treated as compliant
without requiring individual KYC verification.

This endpoint is idempotent — registering an already-active wallet returns the existing record.




## OpenAPI

````yaml /openapi.yaml post /ramp/wallet
openapi: 3.1.0
info:
  title: FX API
  version: 1.0.0
  description: >
    API for managing FX operations including onboarding, quotes, orders, and
    customer management.

    This API provides endpoints for managing customers, bank accounts, crypto
    wallets, orders, and webhooks.
servers:
  - url: https://api.etherfuse.com
    description: Production API
  - url: https://api.sand.etherfuse.com
    description: Sandbox API (for testing)
security: []
tags:
  - name: Lookup
    description: Public endpoints for looking up stablebond and exchange rate data
  - name: Assets
    description: Get available assets for ramping
  - name: Onboarding
    description: Customer onboarding and KYC
  - name: Bank Accounts
    description: Manage customer bank accounts
  - name: Agreements
    description: Handle customer agreements and consents
  - name: Quotes
    description: Get quotes for conversions
  - name: Orders
    description: Create and manage orders
  - name: Swaps
    description: Create and manage swaps
  - name: Customers
    description: Manage customers
  - name: Crypto Wallets
    description: Manage crypto wallets
  - name: Webhooks
    description: Manage webhook subscriptions
  - name: Organizations
    description: Manage organizations and child organizations
paths:
  /ramp/wallet:
    post:
      tags:
        - Crypto Wallets
      summary: Register a crypto wallet
      description: >
        Registers a crypto wallet for the authenticated organization. If the
        wallet was previously

        soft-deleted, it will be restored.


        Optionally claims ownership of the wallet on behalf of the organization.
        When an approved

        (KYB'd) organization claims ownership of a wallet, that wallet is
        treated as compliant

        without requiring individual KYC verification.


        This endpoint is idempotent — registering an already-active wallet
        returns the existing record.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - publicKey
                - blockchain
              properties:
                publicKey:
                  type: string
                  description: The public key of the crypto wallet to register
                blockchain:
                  type: string
                  enum:
                    - solana
                    - stellar
                    - base
                    - polygon
                    - monad
                  description: Blockchain type for the wallet
                claimOwnership:
                  type: boolean
                  default: false
                  description: >-
                    If true, the organization claims ownership of this wallet.
                    Combined with an approved org, this makes the wallet
                    compliant without individual KYC.
            example:
              publicKey: 9Qx7r...
              blockchain: solana
              claimOwnership: true
      responses:
        '200':
          description: Wallet registered successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Organization not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    Wallet:
      type: object
      properties:
        walletId:
          type: string
          format: uuid
          description: Unique identifier for the wallet
        customerId:
          type: string
          format: uuid
          description: ID of the customer who owns this wallet
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the wallet was created
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the wallet was last updated
        deletedAt:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the wallet was deleted (if applicable)
        displayName:
          type: string
          nullable: true
          description: Display name for the wallet
        publicKey:
          type: string
          description: Public key of the wallet
        blockchain:
          type: string
          enum:
            - solana
            - stellar
            - base
            - polygon
            - monad
          description: Blockchain type
        isAuthenticated:
          type: boolean
          description: Whether the wallet is authenticated
        kycStatus:
          type: string
          nullable: true
          description: >-
            Current KYC verification status for the wallet. The
            `approved_chain_deploying` status indicates the user is approved but
            waiting for on-chain marking (Solana only).
          enum:
            - not_started
            - proposed
            - approved
            - approved_chain_deploying
            - rejected
        kycOnChain:
          type: boolean
          nullable: true
          description: >-
            Whether KYC is marked on-chain for the wallet. Only present for
            Solana wallets; for other blockchain types this field is omitted as
            on-chain KYC marking does not apply.
        claimedOwnership:
          type: boolean
          nullable: true
          description: >-
            Whether the wallet has active claimed ownership by the organization.
            When true and the organization is approved, the wallet is treated as
            compliant without requiring individual KYC. Only present when
            claimed ownership has been set.
      example:
        walletId: 123e4567-e89b-12d3-a456-426614174000
        customerId: 123e4567-e89b-12d3-a456-426614174001
        createdAt: '2024-01-01T00:00:00Z'
        updatedAt: '2024-01-01T00:00:00Z'
        publicKey: 9Qx7r...
        blockchain: solana
        isAuthenticated: true
        kycStatus: approved
        kycOnChain: true
        claimedOwnership: true
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
      example:
        error: Invalid request parameters
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key for authentication. Pass the key directly (e.g., `Authorization:
        your-api-key`). Do not use a `Bearer` prefix.

````