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

# List Financial Activity

> Returns an account's or user's activity feed: every movement of money in or out.



## OpenAPI

````yaml /openapi/api-v1-native.json get /financial-activity
openapi: 3.1.0
info:
  description: >-
    The Whop REST API. Please see
    https://docs.whop.com/developer/api/getting-started for more details.
  termsOfService: https://whop.com/tos-developer-api/
  title: Whop API
  version: 1.0.0
  x-api-version-date: '2026-08-21'
servers:
  - description: Production Whop API
    url: https://api.whop.com/api/v1
  - description: Sandbox Whop API
    url: https://sandbox-api.whop.com/api/v1
security: []
tags:
  - description: >
      An Account represents a person or business on Whop that can have its own
      profile, wallet, and account-scoped settings. Use accounts for customers,
      creators, merchants, sellers, or connected businesses your integration
      supports.


      Use the Accounts API to create accounts, list accounts visible to your
      credentials, retrieve or update an account, and retrieve the account
      associated with the current API key.
    name: Accounts
    x-whop-summary: 'A business on Whop: profile, wallet, capabilities, settings.'
  - description: >
      A User represents a person on Whop. Users have a public profile and can
      buy products, join accounts, and access experiences.


      Use the Users API to search for users, retrieve or update profiles, and
      check whether a user has access to an account, product, or experience.
    name: Users
    x-whop-summary: 'A person on Whop: profile and connected identities.'
  - description: >
      A Team Member is a member of an account's team: the link between a user
      and an account, carrying the role that controls what they can do. Roles
      are either system roles (like `admin` or `moderator`) or `custom` roles
      managed from the dashboard.


      Use the Team Members API to list an account's team, add a user to the team
      with a system role, change a member's role, and remove members. Adding a
      user who has not yet accepted sends an invitation instead.
    name: Team Members
    x-whop-summary: An account's team members and the roles that scope their access.
  - description: >
      A Member is one buyer's relationship with an account — one record per
      customer regardless of how many memberships they hold. It carries
      relationship-level state: whether they have joined or left, their access
      level (`customer`, `admin`, or `no_access`), when they joined, and when
      they last opened the account's content.


      Use the Members API to list an account's members with filtering by access
      level, status, join date, and name or username search, and to retrieve a
      single member. Member rows are created and maintained by the membership
      lifecycle; to grant or revoke access, work with memberships instead.
    name: Members
    x-whop-summary: One buyer's relationship with an account, across all their purchases.
  - name: Webhooks
    x-whop-summary: Event notifications pushed to your server as things happen.
  - description: >
      Stats represent aggregated activity for an account over time. They help
      you understand revenue, transactions, disputes, members, referrals, and
      advertising performance across reporting periods like days, weeks, or
      months.


      Use the Stats API to list available metrics and their filterable
      properties, then retrieve time-series values for a date range.
    name: Stats
    x-whop-summary: Aggregated financial, audience, and traffic reporting.
  - description: >
      A Verification represents a legal identity for a person or business.
      Accounts and users complete verification when Whop needs to confirm who
      they are before enabling payouts or compliance-sensitive workflows.


      Use the Verifications API to start or resume a hosted verification
      session, check review status, and submit requested details or documents.
      If `requested_information` contains items, submit answers with [Update
      Verification](/api-reference/beta/verifications/update-verification).
    name: Verifications
    x-whop-summary: Legal identity required before payouts and card issuing.
  - description: >
      An Export is an asynchronous CSV of one resource for one account —
      members, payments, disputes, ads, and the other tables the Whop dashboard
      can export. Generating a full table takes longer than a request, so an
      export is created in `pending`, moves through `processing`, and lands on
      `completed` with a download link. Each resource requires that resource's
      own export scope.


      Use the Exports API to start an export, poll it until `download_url` is
      set, and list the exports already requested for an account. Finished CSVs
      are retained for 30 days, after which the file is deleted and the export
      moves to `expired`.
    name: Exports
    x-whop-summary: Asynchronous CSV dumps of an account's dashboard data.
  - description: >
      A Notification is a message delivered to a user — a new post, a payment, a
      mention. Every notification comes from an experience the user belongs to
      or a team they are on, and users control what they receive with
      notification preferences.


      Every notification belongs to a topic: the category it falls under, such
      as new sales or account activity. Topics carry a default, so a user only
      needs a preference row where they diverge from it. `GET
      /notifications/topics` lists the platform's visible topics, and a topic's
      `id` is what the notification preference endpoints take as `topic_id` —
      the catalog is the only place those ids come from, so read it rather than
      hardcoding. Each topic also carries an `identifier` such as
      `new-follower`, which is stable across environments and is the value to
      match on in code.


      Use the Notifications API to list the authenticated user's feed, read
      per-experience unread badges, mark an experience (or everything) as read,
      send notifications from your app to an experience's users or an account's
      team, and list the topic catalog.
    name: Notifications
    x-whop-summary: >-
      The user's notification feed: unread badges, mark-read, app sends, and the
      topic catalog.
  - description: >
      A Payment is one charge against a buyer. Create it with a payment method
      already on file, or with a `confirmation_token` describing a method the
      buyer has just supplied.


      Collection runs in the background, so the create response is not the
      outcome. Poll [Retrieve
      status](/api-reference/beta/payments/retrieve-status) for how far the
      payment has got and, while it is `requires_action`, what the buyer must do
      next — follow a redirect, complete 3D Secure, display transfer
      instructions, or link a bank account. Use the return_url operation to
      change where they land afterwards, up until they come back.
    name: Payments
    x-whop-summary: A charge against a buyer, and the step they still owe.
  - description: >
      A Setup Intent saves a buyer's payment method for later without taking
      money now. It runs the same collection flow a payment does, so the buyer
      may still owe a step — 3D Secure on a card, a hosted enrollment, or
      linking a bank account.


      Poll [Retrieve status](/api-reference/beta/setup-intents/retrieve-status)
      for how far the setup has got and what is outstanding. Once it reaches
      `succeeded` the method is on file and can be charged.
    name: Setup Intents
    x-whop-summary: Saving a buyer's payment method without charging it.
  - description: >
      A Ledger Activity row is a single financial event on an account's ledger —
      a payment, withdrawal, refund, transfer, on-chain deposit, swap, or card
      transaction. Each row is derived from the underlying ledger lines and
      carries a typed `resource` and `source` so you can present and link the
      event without extra lookups.


      Use Ledger Activity to build a statement or transaction feed for an
      account or user. Reconcile against your own records with `amount` (signed,
      in the currency's smallest precision units) and `posted_at`, and use
      `available_at` to know when inflows became withdrawable.
    name: Ledgers
    x-whop-summary: The activity feed behind an account or user's balance.
  - description: >
      Payouts represent money sent from an account or user balance to an
      external destination, such as a bank account, wallet, or other saved
      payout method.


      Use the Payouts API to create and track payouts, manage saved payout
      methods, and show expected arrival details for funds leaving Whop.
    name: Payouts
    x-whop-summary: Send money from a balance to a bank or wallet.
  - description: >
      Cards represent Whop-issued virtual payment cards that spend from an
      account or user balance. Cards can be assigned to cardholders and
      configured with spending limits for controlled spending.


      Use the Cards API to issue cards, list cards for an account or user, and
      retrieve active card details such as the card number and CVC.
    name: Cards
    x-whop-summary: Issue cards that spend from a balance.
  - description: >
      Transfers move value between identities on Whop. They are used for
      account-to-account money movement, user payouts inside Whop, crypto
      transfers, and claim links depending on the destination type.


      Use the Transfers API to create a transfer, list previous transfers, and
      retrieve a transfer by ID when reconciling money movement between accounts
      or users.
    name: Transfers
    x-whop-summary: Move funds between Whop accounts and users.
  - description: >
      A Dispute is a chargeback a customer files against a payment through their
      bank, or an inquiry that may become one. It carries the disputed payment,
      a deadline to respond, your evidence, and the outcome once the processor
      rules.


      Use the Disputes API to list disputes, edit the evidence packet while a
      dispute is still contestable, and submit it for review.
    name: Disputes
    x-whop-summary: Chargebacks filed against an account, with evidence and outcomes.
  - description: >
      A Dispute alert is an early warning from a card issuer that a settled
      payment is being questioned, ahead of any chargeback. `type` separates
      fraud reports (`early_fraud_warning`), pre-dispute notices
      (`dispute_alert`), and Visa RDR cases the network already closed by
      refunding (`rapid_dispute_resolution`).


      Use the Dispute alerts API to list alerts for an account, filter them by
      type or payment, and read `actionable` to see whether refunding can still
      avoid the chargeback.
    name: Dispute alerts
    x-whop-summary: Issuer warnings that arrive before a chargeback does.
  - description: >
      Deposits describe ways to add funds to an account balance, including
      hosted deposit pages, bank deposit instructions, and supported crypto
      wallet addresses.


      Use the Deposits API to create deposit instructions for an account.
    name: Deposits
    x-whop-summary: Add funds to a balance.
  - description: >
      Swaps convert value between supported tokens, chains, or wallet
      destinations for an account. A swap quote describes the expected output,
      fees, and approval requirements before you create the swap.


      Use the Swaps API to quote a conversion, create the swap, list recent
      swaps, and retrieve status until the transaction completes.
    name: Swaps
    x-whop-summary: Convert a balance between currencies.
  - description: >
      A Resolution Center Case is opened by a buyer when something is wrong with
      a purchase — an unwanted renewal, an item that never arrived, or a charge
      they don't recognize. It is the step before a chargeback: the two sides
      work it out directly, and Whop decides the case if they can't. Each case
      carries a reason, a status naming which side it is waiting on, a timeline
      of events, and the actions available to whoever is reading it.


      Use the Resolution Center Cases API from either side: as the buyer, open a
      case, reply, appeal a decision, or withdraw it; as the merchant, accept it
      (refunding the payment), deny it, or ask the buyer for more information.
      Both sides read the same case, page its timeline, and summarize the cases
      they can see.
    name: Resolution Center Cases
    x-whop-summary: File or respond to a case against a payment, as the buyer or the merchant.
  - description: >
      A Product is a digital good or service sold on Whop. Products may contain
      plans for pricing and/or experiences for content delivery.


      Use the Products API to create products, list products visible to your
      credentials, retrieve product details, update product metadata or
      merchandising fields, and delete products that should no longer be sold.
    name: Products
    x-whop-summary: The things you sell. Each owns plans and a store page.
  - description: >
      A Plan defines how customers buy a product. It controls pricing, billing
      cadence, availability, tax behavior, checkout fields, and purchase
      visibility.


      Use the Plans API to create plans for products, list existing plans,
      retrieve or update plan configuration, calculate tax for checkout, and
      delete plans that should no longer be offered.
    name: Plans
    x-whop-summary: 'Pricing for a product: one-time, recurring, trials, stock.'
  - name: Promo Codes
    x-whop-summary: Discounts that creators configure for checkout.
  - description: >
      A Membership is a customer's purchase of a plan: the subscription or
      one-time grant that gives them access to a product. It tracks billing
      state (`active`, `trialing`, `past_due`, and so on), the current period,
      pending cancellations, custom metadata, and the software license key when
      the product includes licensing.


      Use the Memberships API to list an account's memberships or the caller's
      own, retrieve one by ID or license key, invite a recipient to join through
      a free plan, and manage the lifecycle: cancel immediately or at period
      end, reverse a scheduled period-end cancellation, pause and resume payment
      collection, extend with free days, generate a transfer link, and update
      metadata.
    name: Memberships
    x-whop-summary: A customer's purchase of a plan, from checkout through cancellation.
  - description: >
      A Checkout Configuration is a reusable checkout link owned by an account.
      In `payment` mode it sells a specific plan; in `setup` mode it collects
      and saves payment details without charging. Each configuration can also
      override which payment methods are accepted and how 3D Secure is enforced
      for that checkout.


      Use the Checkout Configurations API to create checkout links for an
      existing or inline plan, list configurations for an account, retrieve the
      configuration behind a checkout URL, and delete links that should no
      longer be used.
    name: Checkout Configurations
    x-whop-summary: Turn a plan into a shareable, prefilled checkout link.
  - description: >
      A Payment Method Domain registers a hostname with a wallet provider so its
      payment methods can appear at a checkout served from that domain. The
      domain proves ownership by hosting the provider's association file — for
      Apple Pay, at `/.well-known/apple-developer-merchantid-domain-association`
      — and `status` reports whether verification has completed.


      Use the Payment Method Domains API to register domains for your account or
      its connected accounts, retry verification once the association file is
      hosted, and remove domains that should no longer serve wallet payments. A
      domain a platform shares with its connected accounts at checkout is listed
      on the platform's account, not on each connected account.
    name: Payment Method Domains
    x-whop-summary: >-
      Domains verified to show wallet payment methods like Apple Pay at
      checkout.
  - description: >
      A Shipment attaches a carrier tracking number to a payment and follows the
      package from label creation to delivery, exposing the current delivery
      status and a customer-facing tracking URL.


      Use the Shipments API to list an account's shipments, retrieve one by its
      id or the payment it fulfills, attach a tracking number to a payment, and
      update the tracking number on an existing shipment.
    name: Shipments
    x-whop-summary: Track the delivery of an order by its carrier tracking number.
  - description: >
      The Partners API covers your Whop partner activity: the users you referred
      onto Whop, the businesses you referred and the earnings generated from
      their processing volume, and the partner leaderboard.


      Use it to enroll as a Whop partner, list the users you referred, list your
      referred businesses and review their earnings, and see the partner
      leaderboard.
    name: Partners
    x-whop-summary: >-
      The users and businesses you referred to Whop, and what you earn from
      them.
  - description: >
      A Bounty is a paid task posted by an account or user. The reward is held
      in escrow when the bounty publishes, workers submit proof of completed
      work, and each accepted submission is paid out until every winner slot
      fills.


      Use the Bounties API to create and publish a bounty, list an account's
      bounties for reporting or dashboards, list the bounties a user can work or
      has participated in, and retrieve a single bounty by ID.
    name: Bounties
    x-whop-summary: Paid tasks with reviewed submissions and escrowed rewards.
  - description: >
      A Bounty Submission is one worker's attempt on a bounty. It starts as an
      in-progress attempt, enters the review queue when proof is submitted, and
      ends approved (paid from the bounty's escrowed pool) or denied.


      Use the Bounty Submissions API to submit proof of completed work to a
      bounty, list the submissions you authored, and review the submissions on
      your bounties — across every bounty or narrowed to one.
    name: Bounty Submissions
    x-whop-summary: Work submitted to a bounty, from attempt to payout.
  - description: >
      A Person is an identity-linked profile of a visitor or customer of an
      account, assembled from every [event](/api-reference/beta/events/event)
      the person generated — pixel page views, ad clicks, leads, identifies, and
      payments. Each profile carries the person's known identities (names,
      emails, phones, user IDs), purchase history and LTV, geo/device profile,
      traffic sources, and the first and last marketing touches that reached
      them.


      Use the People API to list and segment the people of an account — filter
      by activity, purchases, traffic source, location, or marketing touch, and
      sort by value — or retrieve one person by person ID, user ID, email
      address, or phone number.
    name: People
    x-whop-summary: >-
      Visitors and customers of an account, with identity, purchase, and traffic
      profiles.
  - description: >
      An Event records conversion or engagement activity for an account, such as
      page views, purchases, or leads. Each event ties the action to the
      [person](/api-reference/beta/people/person) who took it, so activity can
      be attributed to the ads and links that drove it.


      Use the Events API to send new tracking events, list recent
      identity-linked events for an account, and inspect the events recorded for
      a person. The resource also exposes an anonymized read mode — the pulse
      feed — a platform-wide snapshot of recent purchases that carries nothing
      identifying. The pulse feed is public; other Events endpoints require
      authentication and are scoped to an account.


      Events are only as good as the pixel sending them, so [Validate
      Pixel](/api-reference/beta/events/validate-pixel) answers whether an
      account's pixel is working: it reads the events the pixel has sent, and
      when you pass a `url` whose page hasn't sent any lately, it fetches that
      page and looks for the pixel in its source. Use it before launching an ad
      to confirm its destination is tracked, or in a setup flow to tell a
      merchant whether their install is live.
    name: Events
    x-whop-summary: Conversion and engagement events tracked for attribution.
  - description: >
      A Recommended Action Chain is a short, ordered sequence of dashboard
      actions — create a product, price it, publish it — suggested for an
      account based on what it already has. Seeded chains come from hand-written
      presets; generated chains, produced per account, share the same shape.


      Use the Recommended Actions API to list the chains recommended for an
      account and to record that a chain was run. Running a chain executes
      nothing server-side — the client follows each step's CTA itself; the run
      endpoint records the `recommended_action_chain.executed` analytics event.
    name: Recommended Actions
    x-whop-summary: Suggested next-step action chains for an account.
  - description: >
      An Ad is the individual creative unit delivered by an [ad
      group](/api-reference/beta/ad-groups/ad-group). It holds the copy,
      creative assets, and destination URL for one ad.


      Use the Ads API to list ads for an account, create ads inside ad groups,
      retrieve or update creative details, delete ads that should stop running,
      and pause or resume delivery.
    name: Ads
    x-whop-summary: 'The creative: copy, assets, and destination URL.'
  - description: >
      An Ad Campaign is the top-level container for paid ads on an ad network.
      It sets the platform, objective, and budget strategy shared by its [ad
      groups](/api-reference/beta/ad-groups/ad-group) and ads.


      Use the Ad Campaigns API to create campaigns, list campaigns for an
      account, retrieve or update campaign settings, and pause or resume
      campaign delivery.
    name: Ad Campaigns
    x-whop-summary: Platform, objective, and budget for a set of ads.
  - description: >
      An Ad Group sits inside an [ad
      campaign](/api-reference/beta/ad-campaigns/ad-campaign) and controls
      delivery for [ads](/api-reference/beta/ads/ad). It sets the audience,
      placements, schedule, budget, and optimization goal for its ads.


      Use the Ad Groups API to create ad groups in campaigns, list or retrieve
      targeting and delivery settings, update budgets or targeting, delete
      groups that should stop running, and pause or resume delivery. It can also
      search the ad platform's targeting taxonomy for options to target and
      estimate how many people a draft targeting spec can reach.
    name: Ad Groups
    x-whop-summary: Audience, placements, and schedule within a campaign.
  - description: >
      An Audience represents a customer list uploaded to Whop for ad targeting.
      Audiences belong to an account and sync to supported ad platforms as
      custom audiences.


      Use the Audiences API to create audiences from CSV uploads, monitor
      processing status, and list or delete audiences for an account. Created
      audiences are usable for targeting after processing reaches `ready` or
      `partial`.
    name: Audiences
    x-whop-summary: Reusable targeting lists for ad groups.
  - description: >
      A Media Asset is an AI-generated image or video created from a prompt and
      billed from an account balance. When generation finishes, the asset
      includes a file that can be attached anywhere Whop accepts files.


      Use the Media API to start a generation job and retrieve the asset while
      it processes or after it is ready.
    name: Media
    x-whop-summary: >-
      AI-generated assets, billed from a balance, attachable wherever files are
      accepted.
  - description: >
      A Social Account represents an external profile connected to a Whop
      account or user, such as a Facebook page or Instagram account. Connecting
      a social account lets Whop run [ads](/api-reference/beta/ads/ad) under
      that profile's identity and promote its existing posts.


      Use the Social Accounts API to list connected accounts, create a
      Whop-managed Facebook page, start an OAuth connection, disconnect a social
      account, and list a connected profile's posts or a Facebook page's lead
      forms.
    name: Social Accounts
    x-whop-summary: Connected Facebook and Instagram accounts that run ads.
  - description: >
      An App is software you build on Whop. It can be a hosted web app served at
      `<route>.whop.app` or an API integration installed as an experience, and
      it belongs to the account that owns its credentials, settings, builds, and
      runtime logs.


      Use the Apps API to manage app configuration, deploy an app's working copy
      and follow the run on the app's `deployment` field, and, for hosted apps,
      read server runtime logs for console output, uncaught exceptions, and
      failed requests. Logs are retained for 7 days and can be filtered by
      build, level, time window, and message text.
    name: Apps
    x-whop-summary: 'Apps you build on Whop: metadata, hosted builds, runtime logs.'
  - description: >
      An App Build is a versioned artifact uploaded for an app — a hosted web
      archive, or an iOS/Android bundle. Builds start as drafts, go through
      review, and one approved build per platform is served to users as the
      production build.


      Use the App Builds API to upload a build for an app, list an app's builds
      with platform and status filters, retrieve a build, and promote a draft or
      approved build to production.
    name: App Builds
    x-whop-summary: Versioned build artifacts deployed to an app's platforms.
  - description: >
      An API Key is a programmatic credential owned by an account or app. Each
      key carries its own permissions policy — explicit permission statements or
      an inherited system role — and can be restricted with an expiration date
      and an IP allowlist.


      Use the API Keys API to list an account or app's keys, create a key (the
      full secret is returned once, on creation), inspect a key's effective
      grants, update its name or restrictions, rotate its secret, and revoke it.
      These endpoints require a user session — they cannot be called with an API
      key.
    name: API Keys
    x-whop-summary: Programmatic credentials for an account or app.
  - description: >
      A Permission is one action, such as `stats:read`, paired with whether your
      credential is granted it on a given resource. It answers for whatever you
      authenticated with, so you can decide what to show or attempt instead of
      discovering a `403`.


      Use the Permissions API to check an account, product, experience, or app,
      narrowing to the actions you care about. It reports only your own access —
      to manage who else can reach an account, use the Team Members API.
    name: Permissions
    x-whop-summary: What your credential is allowed to do on a resource.
paths:
  /financial-activity:
    get:
      tags:
        - Ledgers
      summary: List Financial Activity
      description: >-
        Returns an account's or user's activity feed: every movement of money in
        or out.
      operationId: listFinancialActivity
      parameters:
        - description: The owning account ID (a biz_ identifier). Provide this or user_id.
          in: query
          name: account_id
          required: false
          schema:
            type: string
        - description: The owning user ID (a user_ identifier). Provide this or account_id.
          in: query
          name: user_id
          required: false
          schema:
            type: string
        - description: >-
            When true, aggregates the authenticated user's personal ledger with
            the businesses they own (owner role with balance read) into one
            feed. Requires user_id to be the authenticated user; cannot be
            combined with account_id or the settlement-date filters. Each
            returned row includes the owning `account`.
          in: query
          name: include_owned_accounts
          required: false
          schema:
            type: boolean
        - description: >-
            Whether to include the `resource` field in the response or not.
            Consider passing `false` if you need a fast response without as many
            rich details.
          in: query
          name: include_resource
          required: false
          schema:
            default: true
            type: boolean
        - description: >-
            Optional ledger line categories to include. Some categories (for
            example `onchain_deposit`, which covers inbound crypto deposits such
            as MoonPay onramps) are only returned when explicitly requested
            here.
          explode: true
          in: query
          name: line_types
          required: false
          schema:
            items:
              enum:
                - ad_budget_release
                - ad_campaign_budget
                - ad_publisher_payout
                - ad_publisher_payout_received
                - ad_spend_charge
                - affiliate_fee
                - airdrop
                - airdrop_link_created
                - airdrop_link_redeemed
                - airdrop_link_returned
                - airdrop_reversal
                - application_fee
                - application_fee_payout
                - bank_transfer
                - billing_percentage_fee
                - buyer_fee
                - card_spend_authorization
                - card_spend_authorization_void
                - card_spend_refund
                - company_referral
                - cross_border_percentage_fee
                - currency_conversion_incoming
                - currency_conversion_outgoing
                - dispute_alert_fee
                - dispute_hold_adjustment
                - dispute_representment_fee
                - fees
                - fraud_prevention_fee
                - fx_percentage_fee
                - high_risk_merchant_fee
                - installment_default
                - internal_balance_transfer_incoming
                - internal_balance_transfer_outgoing
                - internal_withdrawal
                - internal_withdrawal_reversal
                - legacy_crypto_payment
                - legacy_payment
                - legacy_payment_refund
                - license_sale
                - license_sale_commission
                - license_sale_revenue
                - misc_purchase
                - misc_refund
                - misc_reversal
                - onchain_deposit
                - onchain_swap_target
                - onchain_wallet_transfer_incoming
                - onchain_wallet_transfer_outgoing
                - orchestration_percentage_fee
                - passthrough_gmv
                - payment_dispute
                - payment_dispute_adjustment
                - payment_dispute_fee
                - payment_dispute_reversal
                - payment_gross
                - payment_gross_reversal
                - payment_processing_fixed_fee
                - payment_processing_percentage_fee
                - payment_referral
                - payment_referral_reversal
                - payment_refund
                - payment_refund_reversal
                - payment_revshare
                - payment_revshare_payout
                - payment_revshare_refund
                - payment_revshare_reversal
                - payout_fee
                - platform_affiliate_payment
                - platform_affiliate_payment_reversal
                - platform_balance_payment
                - platform_balance_payment_refund
                - platform_balance_transfer_incoming
                - platform_balance_transfer_outgoing
                - platform_covered_dispute
                - promo_reversal
                - referral_bonus
                - resolution_center_refund
                - revshare_percentage_fee
                - sales_tax_fee
                - sales_tax_remittance
                - sales_tax_remittance_reversal
                - software_rental_revshare
                - software_rental_transaction
                - stripe_domestic_processing_fee
                - stripe_international_processing_fee
                - three_ds_fixed_fee
                - topup
                - topup_fee
                - topup_reversal
                - treasury_payin
                - whop_processing_fee
                - withdrawal
                - withdrawal_clawback
                - withdrawal_clawback_reversal
                - withdrawal_reclassification
                - withdrawal_reversal
              example: onchain_deposit
              type: string
            type: array
          style: form
        - description: Optional currency code filter, for example `usd`.
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Only include rows posted after this ISO 8601 timestamp.
          in: query
          name: posted_after
          required: false
          schema:
            format: date-time
            type: string
        - description: Only include rows posted before this ISO 8601 timestamp.
          in: query
          name: posted_before
          required: false
          schema:
            format: date-time
            type: string
        - description: >-
            Only include rows whose funds became withdrawable on or after this
            `YYYY-MM-DD` settlement date (UTC), distinct from posted_at.
            Requires currency.
          in: query
          name: available_after
          required: false
          schema:
            format: date
            type: string
        - description: >-
            Only include rows whose funds became withdrawable on or before this
            `YYYY-MM-DD` settlement date (UTC). Set equal to available_after for
            a single day. Requires currency.
          in: query
          name: available_before
          required: false
          schema:
            format: date
            type: string
        - description: Maximum number of rows to return.
          in: query
          name: limit
          required: false
          schema:
            default: 20
            maximum: 100
            type: integer
        - description: Cursor returned by the previous page.
          in: query
          name: cursor
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/LedgerActivity'
                    type: array
                  page_info:
                    properties:
                      end_cursor:
                        example: cursor_2
                        type:
                          - string
                          - 'null'
                      has_next_page:
                        example: true
                        type: boolean
                      has_previous_page:
                        example: false
                        type: boolean
                      start_cursor:
                        example: cursor_1
                        type:
                          - string
                          - 'null'
                    required:
                      - has_next_page
                      - end_cursor
                      - has_previous_page
                      - start_cursor
                    type: object
                required:
                  - data
                  - page_info
                type: object
          description: activities listed for a user
        '400':
          $ref: '#/components/responses/InvalidParameters'
          description: neither account_id nor user_id provided
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: missing or invalid authentication
        '403':
          $ref: '#/components/responses/Forbidden'
          description: credential lacks the required balance-read scope
        '404':
          $ref: '#/components/responses/NotFound'
          description: no ledger for that owner is visible to the credential
      security:
        - bearerAuth:
            - company:balance:read
        - bearerAuth:
            - user:balance:read
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Whop from '@whop/sdk';

            const client = new Whop({
              apiKey: process.env['WHOP_API_KEY'], // This is the default and can be omitted
            });

            const financialActivities = await client.financialActivity.list();

            console.log(financialActivities.data);
components:
  schemas:
    LedgerActivity:
      properties:
        account:
          description: >-
            The viewer account that owns this row's ledger. Present only when
            the response aggregates owned accounts
            (include_owned_accounts=true); omitted otherwise.
          oneOf:
            - properties:
                id:
                  description: Account ID.
                  example: biz_xxxxxxxxxxxxxx
                  type: string
                logo_url:
                  description: Account logo URL.
                  example: >-
                    https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - account
                  example: account
                  type: string
                route:
                  description: Account route.
                  example: biz_xxxxxxxxxxxxxx
                  type:
                    - string
                    - 'null'
                title:
                  description: Account display name.
                  example: Shine Time Auto Detailing
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - title
                - route
                - logo_url
              type: object
            - properties:
                id:
                  description: User ID.
                  example: user_xxxxxxxxxxxxxx
                  type: string
                name:
                  description: User display name.
                  example: Dana Whitfield
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - user
                  example: user
                  type: string
                profile_picture_url:
                  description: User profile image URL.
                  example: https://ui-avatars.com/api/
                  type:
                    - string
                    - 'null'
                username:
                  description: User's username.
                  example: danawhitfield
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - name
                - username
                - profile_picture_url
              type: object
        amount:
          description: Signed amount in the currency's smallest precision units.
          example: '2375000000'
          type: string
        available_at:
          description: >-
            ISO 8601 timestamp these funds became (or are scheduled to become)
            withdrawable: the posted time for already-settled funds, or 00:00:00
            UTC on the scheduled release date for pending funds. Present only on
            inflows entering the balance (payments, top-ups, incoming
            transfers/affiliate); null on withdrawals, refunds, disputes and
            on-chain rows. The available_after/before filters window on its UTC
            settlement date.
          example: '2026-01-01T12:00:00.000Z'
          format: date-time
          type:
            - string
            - 'null'
        created_at:
          description: When the activity record was created.
          example: '2026-01-01T12:00:00.000Z'
          format: date-time
          type:
            - string
            - 'null'
        currency:
          description: Currency for this ledger activity.
          properties:
            code:
              description: Currency code.
              example: usd
              type: string
            precision:
              description: >-
                Precision factor for the currency, for example `100000000` for
                USD.
              example: '100000000'
              type: string
          required:
            - code
            - precision
          type: object
        id:
          description: Ledger activity ID.
          example: line_3
          type: string
        ledger_account_id:
          description: >-
            The ledger account (a ldgr_ identifier) this row belongs to. Present
            only when the response aggregates owned accounts
            (include_owned_accounts=true); omitted otherwise. Pair it with
            `account` to scope drawers and dashboard links to the owning
            business.
          example: ldgr_xxxxxxxxxxxxxx
          type:
            - string
            - 'null'
        line_type:
          description: The ledger line category this activity was posted under.
          enum:
            - ad_budget_release
            - ad_campaign_budget
            - ad_publisher_payout
            - ad_publisher_payout_received
            - ad_spend_charge
            - affiliate_fee
            - airdrop
            - airdrop_link_created
            - airdrop_link_redeemed
            - airdrop_link_returned
            - airdrop_reversal
            - application_fee
            - application_fee_payout
            - bank_transfer
            - billing_percentage_fee
            - buyer_fee
            - card_spend_authorization
            - card_spend_authorization_void
            - card_spend_refund
            - company_referral
            - cross_border_percentage_fee
            - currency_conversion_incoming
            - currency_conversion_outgoing
            - dispute_alert_fee
            - dispute_hold_adjustment
            - dispute_representment_fee
            - fraud_prevention_fee
            - fx_percentage_fee
            - high_risk_merchant_fee
            - installment_default
            - internal_balance_transfer_incoming
            - internal_balance_transfer_outgoing
            - internal_withdrawal
            - internal_withdrawal_reversal
            - legacy_crypto_payment
            - legacy_payment
            - legacy_payment_refund
            - license_sale
            - license_sale_commission
            - license_sale_revenue
            - misc_purchase
            - misc_refund
            - misc_reversal
            - onchain_deposit
            - onchain_swap_target
            - onchain_wallet_transfer_incoming
            - onchain_wallet_transfer_outgoing
            - orchestration_percentage_fee
            - passthrough_gmv
            - payment_dispute
            - payment_dispute_adjustment
            - payment_dispute_fee
            - payment_dispute_reversal
            - payment_gross
            - payment_gross_reversal
            - payment_processing_fixed_fee
            - payment_processing_percentage_fee
            - payment_referral
            - payment_referral_reversal
            - payment_refund
            - payment_refund_reversal
            - payment_revshare
            - payment_revshare_payout
            - payment_revshare_refund
            - payment_revshare_reversal
            - payout_fee
            - platform_affiliate_payment
            - platform_affiliate_payment_reversal
            - platform_balance_payment
            - platform_balance_payment_refund
            - platform_balance_transfer_incoming
            - platform_balance_transfer_outgoing
            - platform_covered_dispute
            - promo_reversal
            - referral_bonus
            - resolution_center_refund
            - revshare_percentage_fee
            - sales_tax_fee
            - sales_tax_remittance
            - sales_tax_remittance_reversal
            - software_rental_revshare
            - software_rental_transaction
            - stripe_domestic_processing_fee
            - stripe_international_processing_fee
            - three_ds_fixed_fee
            - topup
            - topup_fee
            - topup_reversal
            - treasury_payin
            - whop_processing_fee
            - withdrawal
            - withdrawal_clawback
            - withdrawal_clawback_reversal
            - withdrawal_reclassification
            - withdrawal_reversal
          example: payment_gross
          type: string
        object:
          enum:
            - ledger_activity
          example: ledger_activity
          type: string
        posted_at:
          description: When the activity posted to the ledger.
          example: '2026-01-01T12:00:00.000Z'
          format: date-time
          type: string
        resource:
          description: Resource associated with this ledger activity.
          oneOf:
            - properties:
                id:
                  description: Account ID.
                  example: biz_xxxxxxxxxxxxxx
                  type: string
                logo_url:
                  description: Account logo URL.
                  example: >-
                    https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - account
                  example: account
                  type: string
                route:
                  description: Account route.
                  example: biz_xxxxxxxxxxxxxx
                  type:
                    - string
                    - 'null'
                title:
                  description: Account display name.
                  example: Shine Time Auto Detailing
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - title
                - route
                - logo_url
              type: object
            - properties:
                id:
                  description: User ID.
                  example: user_xxxxxxxxxxxxxx
                  type: string
                name:
                  description: User display name.
                  example: Dana Whitfield
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - user
                  example: user
                  type: string
                profile_picture_url:
                  description: User profile image URL.
                  example: https://ui-avatars.com/api/
                  type:
                    - string
                    - 'null'
                username:
                  description: User's username.
                  example: danawhitfield
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - name
                - username
                - profile_picture_url
              type: object
            - properties:
                id:
                  description: Bounty ID.
                  example: bnty_xxxxxxxxxxxxxx
                  type: string
                object:
                  enum:
                    - bounty
                  example: bounty
                  type: string
                status:
                  description: Bounty lifecycle status.
                  example: published
                  type: string
                title:
                  description: Bounty title.
                  example: Film a 60-second ceramic coating time-lapse
                  type: string
              required:
                - object
                - id
                - title
                - status
              type: object
            - properties:
                id:
                  description: Ledger account ID.
                  example: ldgr_xxxxxxxxxxxxxx
                  type: string
                object:
                  enum:
                    - ledger_account
                  example: ledger_account
                  type: string
                owner:
                  oneOf:
                    - properties:
                        id:
                          description: Account ID.
                          example: biz_xxxxxxxxxxxxxx
                          type: string
                        logo_url:
                          description: Account logo URL.
                          example: >-
                            https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo
                          type:
                            - string
                            - 'null'
                        object:
                          enum:
                            - account
                          example: account
                          type: string
                        route:
                          description: Account route.
                          example: biz_xxxxxxxxxxxxxx
                          type:
                            - string
                            - 'null'
                        title:
                          description: Account display name.
                          example: Shine Time Auto Detailing
                          type:
                            - string
                            - 'null'
                      required:
                        - object
                        - id
                        - title
                        - route
                        - logo_url
                      type: object
                    - properties:
                        id:
                          description: User ID.
                          example: user_xxxxxxxxxxxxxx
                          type: string
                        name:
                          description: User display name.
                          example: Dana Whitfield
                          type:
                            - string
                            - 'null'
                        object:
                          enum:
                            - user
                          example: user
                          type: string
                        profile_picture_url:
                          description: User profile image URL.
                          example: https://ui-avatars.com/api/
                          type:
                            - string
                            - 'null'
                        username:
                          description: User's username.
                          example: danawhitfield
                          type:
                            - string
                            - 'null'
                      required:
                        - object
                        - id
                        - name
                        - username
                        - profile_picture_url
                      type: object
                    - type: 'null'
              required:
                - object
                - id
                - owner
              type: object
            - properties:
                bank:
                  properties:
                    account_name:
                      description: Bank account holder name.
                      example: Shine Time Auto Detailing LLC
                      type:
                        - string
                        - 'null'
                    account_type:
                      description: Bank account type.
                      example: checking
                      type:
                        - string
                        - 'null'
                    bank_name:
                      description: Bank name.
                      example: Frost Bank
                      type:
                        - string
                        - 'null'
                    last4:
                      description: Last four digits of the bank account.
                      example: '3311'
                      type:
                        - string
                        - 'null'
                  required:
                    - bank_name
                    - account_name
                    - last4
                    - account_type
                  type:
                    - object
                    - 'null'
                card:
                  properties:
                    brand:
                      description: Card brand.
                      example: visa
                      type:
                        - string
                        - 'null'
                    exp_month:
                      description: Card expiration month.
                      example: 10
                      type:
                        - integer
                        - 'null'
                    exp_year:
                      description: Card expiration year.
                      example: 2031
                      type:
                        - integer
                        - 'null'
                    last4:
                      description: Last four digits of the card.
                      example: '4242'
                      type:
                        - string
                        - 'null'
                  required:
                    - brand
                    - last4
                    - exp_month
                    - exp_year
                  type:
                    - object
                    - 'null'
                email_identifier:
                  description: Email identifier for email-based payment methods.
                  example: marcus@shinetime.example
                  type:
                    - string
                    - 'null'
                gateway_type:
                  description: Payment gateway type.
                  example: plaid
                  type:
                    - string
                    - 'null'
                id:
                  description: Payment method ID.
                  example: payt_xxxxxxxxxxxxxx
                  type: string
                object:
                  enum:
                    - payment_method
                  example: payment_method
                  type: string
                payment_method_type:
                  description: Payment method type.
                  example: us_bank_account
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - payment_method_type
                - gateway_type
                - card
                - bank
                - email_identifier
              type: object
            - properties:
                account_reference:
                  description: Masked account reference.
                  example: ••••0472
                  type:
                    - string
                    - 'null'
                destination_currency_code:
                  description: Destination currency code.
                  example: usd
                  type:
                    - string
                    - 'null'
                id:
                  description: Payout method ID.
                  example: potk_xxxxxxxxxxxxxx
                  type: string
                institution_name:
                  description: Payout institution name.
                  example: Frost Bank
                  type:
                    - string
                    - 'null'
                nickname:
                  description: Payout method nickname.
                  example: Ops checking
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - payout_method
                  example: payout_method
                  type: string
                provider:
                  description: Payout provider.
                  example: masspay
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - nickname
                - institution_name
                - account_reference
                - provider
                - destination_currency_code
              type: object
            - properties:
                authorized_at:
                  description: ISO 8601 timestamp the transaction was authorized.
                  example: '2026-01-01T12:00:00.000Z'
                  format: date-time
                  type:
                    - string
                    - 'null'
                card_id:
                  description: Identifier of the card that the transaction was charged to.
                  example: icrd_xxxxxxxxxxxxxx
                  type:
                    - string
                    - 'null'
                cashback_usd:
                  description: >-
                    Cashback earned on this transaction as a USD decimal string.
                    Zero for declined or ineligible transactions; null when
                    cashback has not been computed yet.
                  example: '0.97'
                  type:
                    - string
                    - 'null'
                declined_reason:
                  description: >-
                    Reason the transaction was declined (when status is
                    declined).
                  example: Insufficient funds
                  type:
                    - string
                    - 'null'
                id:
                  description: Card transaction ID.
                  example: citx_xxxxxxxxxxxxxx
                  type: string
                local_amount:
                  description: >-
                    Amount the merchant charged in their local currency, as a
                    decimal string. Pair with local_currency.
                  example: '64.97'
                  type:
                    - string
                    - 'null'
                local_currency:
                  description: >-
                    ISO 4217 currency code of the merchant-charged amount in
                    local_amount.
                  example: usd
                  type:
                    - string
                    - 'null'
                merchant_category:
                  description: Merchant category.
                  example: Car Care Supplies
                  type:
                    - string
                    - 'null'
                merchant_icon_url:
                  description: Merchant icon URL.
                  example: https://icons.example.com/lone-star-detail-supply.png
                  type:
                    - string
                    - 'null'
                merchant_name:
                  description: Merchant display name.
                  example: Lone Star Detail Supply
                  type:
                    - string
                    - 'null'
                object:
                  enum:
                    - card_transaction
                  example: card_transaction
                  type: string
                posted_at:
                  description: >-
                    ISO 8601 timestamp the transaction was settled by the card
                    network.
                  example: '2026-01-01T12:00:00.000Z'
                  format: date-time
                  type:
                    - string
                    - 'null'
                status:
                  description: Current card transaction status.
                  example: completed
                  type:
                    - string
                    - 'null'
                usd_amount:
                  description: >-
                    The processor-settled USD amount as a decimal string. The
                    ledger's USDT leg is posted 1:1 from this value.
                  example: '64.97'
                  type:
                    - string
                    - 'null'
              required:
                - object
                - id
                - card_id
                - merchant_name
                - merchant_icon_url
                - merchant_category
                - status
                - usd_amount
                - local_amount
                - local_currency
                - cashback_usd
                - authorized_at
                - posted_at
                - declined_reason
              type: object
            - type: 'null'
        source:
          additionalProperties: true
          description: Source of this ledger activity.
          properties:
            amount_float:
              description: >-
                Withdrawal amount as a decimal number in the destination
                currency (withdrawal sources only; requires
                payout:withdrawal:read).
              example: 1500
              type:
                - number
                - 'null'
            chain:
              description: >-
                Chain the deposit landed on, for example plasma
                (onchain_transaction sources only).
              example: plasma
              type:
                - string
                - 'null'
            claim_url:
              description: >-
                Public claim URL for the airdrop link (airdrop_link sources
                only).
              example: https://whop.com/claim
              type:
                - string
                - 'null'
            created_at:
              description: >-
                Withdrawal creation time as an ISO 8601 timestamp (withdrawal
                sources only; requires payout:withdrawal:read).
              example: '2026-01-01T12:00:00.000Z'
              format: date-time
              type:
                - string
                - 'null'
            estimated_arrival:
              description: >-
                Estimated arrival as an ISO 8601 timestamp (withdrawal sources
                only; requires payout:withdrawal:read).
              example: '2026-01-01T12:00:00.000Z'
              format: date-time
              type:
                - string
                - 'null'
            from_amount:
              description: >-
                Amount converted out of from_currency as a decimal string (swap
                sources only).
              example: '502.51'
              type:
                - string
                - 'null'
            from_currency:
              description: Lowercase currency code converted from (swap sources only).
              example: usdt
              type:
                - string
                - 'null'
            id:
              example: airdrp_xxxxxxxxxxxxxx
              type: string
            object:
              example: airdrop_link
              type: string
            payer_name:
              description: >-
                Name of the entity processing the payout (withdrawal sources
                only; requires payout:withdrawal:read).
              example: MassPay
              type:
                - string
                - 'null'
            payout_destination:
              description: Payout destination display info (withdrawal sources only).
              properties:
                icon_url:
                  example: >-
                    https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/ach-activity-icon
                  type:
                    - string
                    - 'null'
                payer_name:
                  example: ACH Bank Deposit
                  type:
                    - string
                    - 'null'
              type:
                - object
                - 'null'
            payout_token_nickname:
              description: Saved payout destination nickname (withdrawal sources only).
              example: Ops checking
              type:
                - string
                - 'null'
            reason:
              description: >-
                Why the activity happened. On transfer sources this is the
                transfer reason, for example pool_top_up or bounty_return. On
                withdrawal sources it explains why the withdrawal was canceled,
                denied, or failed (requires payout:withdrawal:read); null while
                the withdrawal is progressing normally.
              example: bounty_payout
              type:
                - string
                - 'null'
            sender_address:
              description: >-
                Sender wallet address or onramp provider identifier
                (onchain_transaction sources only).
              example: '0x8a4de51b9c37f2e6a0d1b8c94e5f7a2d3c6b0e19'
              type:
                - string
                - 'null'
            status:
              description: >-
                Lifecycle status. On withdrawal sources this is the withdrawal
                status (requires payout:withdrawal:read); on airdrop_link
                sources it is the claim-link status (ungated); on payment and
                top-up sources it is the friendly payment status such as
                succeeded/pending/failed (ungated).
              example: fully_claimed
              type:
                - string
                - 'null'
            to_amount:
              description: >-
                Amount received in to_currency as a decimal string (swap sources
                only).
              example: '500.0'
              type:
                - string
                - 'null'
            to_currency:
              description: Lowercase currency code converted to (swap sources only).
              example: usd
              type:
                - string
                - 'null'
            tx_hash:
              description: >-
                On-chain transaction hash (onchain_transaction and swap sources
                only).
              example: >-
                0x5d84a1c7e2f9b036d48c5a7e1b9f2d6c3a8e0b4f7c1d9e5a2b6f8c0d3e7a1b52
              type:
                - string
                - 'null'
          required:
            - object
            - id
          type:
            - object
            - 'null'
      required:
        - object
        - id
        - line_type
        - amount
        - currency
        - posted_at
        - available_at
        - created_at
        - resource
        - source
      type: object
    V1ErrorResponse:
      properties:
        error:
          properties:
            code:
              description: >-
                Machine-readable reason for this specific refusal, such as
                `bank_warning_not_acknowledged`. Only present when the error
                carries one.
              type: string
            message:
              description: Human-readable error message.
              example: account_id is required
              type: string
            type:
              description: Machine-readable error code.
              example: bad_request
              type: string
          required:
            - type
            - message
          type: object
      required:
        - error
      type: object
  responses:
    InvalidParameters:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Invalid Parameters
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Unauthorized
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Forbidden
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/V1ErrorResponse'
      description: Resource not found
  securitySchemes:
    bearerAuth:
      bearerFormat: auth-scheme
      description: >-
        An Account API key, account-scoped JWT, App API key, or user OAuth
        token. Prepend the key or token with `Bearer`, for example `Bearer
        ***************************`.
      scheme: bearer
      type: http

````