---
title: "Retrieve Payins"
method: GET
path: "/v1/instances/{instance_id}/payins"
tags: ["Payins"]
---

# Retrieve Payins

`GET /v1/instances/{instance_id}/payins`

## Path parameters

- `instance_id` string, required

## Query parameters

- `limit` '10' | '50' | '100' | '200' | '500' | '1000' — Number of items to return
- `offset` '0' | '10' | '50' | '100' | '200' | '500' | '1000' — Number of items to skip
- `starting_after` string — A cursor for use in pagination. starting_after is an object ID that defines your place in the list.
- `ending_before` string — A cursor for use in pagination. ending_before is an object ID that defines your place in the list.
- `customer_id` string
- `status` 'processing' | 'on_hold' | 'failed' | 'refunded' | 'completed'
- `customer_name` string
- `bank_account_id` string
- `country` string
- `payment_method` 'ach' | 'wire' | 'pix' | 'ted' | 'spei' | 'transfers' | 'pse' | 'international_swift' | 'rtp'
- `network` string
- `token` string

## Response `200`

List payins with pagination

- union
  - object
    - `data` PayinOut[], required
      - `id` string, required
      - `pix_code` string, nullable — PIX code
      - `memo_code` string, nullable — Memo code
      - `clabe` string, nullable — CLABE code
      - `status` 'processing' | 'on_hold' | 'failed' | 'refunded' | 'completed', required — Payin general status
      - `payin_quote_id` string, required
      - `instance_id` string, required
      - `customer_id` string, required
      - `partner_fee` integer — Payin partner fee amount in cents
      - `tracking_transaction` object, required
        - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payin transaction step
        - `status` 'failed' | 'completed', nullable — Payin transaction status
        - `external_id` string, nullable — Payin transaction external id
        - `completed_at` string, nullable — Payin transaction completed date
        - `transaction_hash` string, nullable — Blockchain transaction hash
        - `provider_name` 'Nvio Pagos' | 'Brex' | 'Stark Bank' | 'JPMorgan Chase' | 'HSBC' | 'Inter' | 'JP Morgan Chase' | 'Bitso' | 'Citi' | 'CFSB' | 'Triple A Technologies' | 'Portage Bank', nullable — Payment provider name
        - `provider_transaction_id` string, nullable — Payment provider transaction id
        - `sender_name` string, nullable
        - `sender_bank_name` string, nullable
        - `sender_tax_id` string, nullable
        - `sender_bank_code` string, nullable
        - `sender_account_number` string, nullable
        - `end_to_end_id` string, nullable — BACEN Pix end-to-end transaction ID (govt Pix ID)
        - `trace_number` string, nullable
        - `transaction_reference` string, nullable
        - `description` string, nullable
        - `pse_instruction` object, nullable
          - `payment_link` string, required — PSE payment link URL
          - `fid` string, required — PSE funding identifier for webhook matching
          - `full_name` string, required — PSE payer full name
          - `tax_id` string, required — PSE payer document number
          - `document_type` 'CC' | 'NIT', required — PSE payer document type
          - `phone` string, required — PSE payer phone number
          - `email` string, required — PSE payer email
          - `bank_code` string, nullable — PSE payer bank code
        - `transfers_instruction` object, nullable
          - `account` string, required — CVU/CBU/Alias account number
          - `type` 'CVU' | 'CBU' | 'ALIAS', required — Account type (CVU, CBU, or ALIAS)
          - `tax_id` string, nullable — CUIT/CUIL (normalized, digits only)
        - `ted_instruction` object, nullable
          - `beneficiary_name` string, required
          - `tax_id` string, required
          - `bank_code` string, required
          - `bank_name` string, required
          - `branch_code` string, required
          - `account_number` string, required
          - `account_type` string, required
      - `tracking_payment` object, required
        - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payment step
        - `provider_name` string, nullable — Payment provider name
        - `completed_at` string, nullable — Payment completed date
        - `review_source` string, nullable — Primary risk source that sent this payin to manual review
        - `review_context` object, nullable — Structured risk context for manual review
        - `review_sources` string[], nullable — Every risk source that flagged this payin on the pending review
        - `review_contexts` object, nullable — Structured risk context per flagging source
        - `approved_risk_sources` string[], nullable — Risk sources already approved by an analyst
      - `tracking_complete` object, required
        - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
        - `transaction_hash` string, nullable — Complete transaction hash
        - `completed_at` string, nullable — Complete completed date
      - `manual_execution_status` 'pending' | 'concluded' | 'failed', nullable — When non-null, the payin was created while the manual OTC liquidity toggle was ON. `pending` means an operator must convert BRL→USDT manually and click "Mark concluded"; `concluded` closes the internal flow. Customer-facing behavior is identical in either mode.
      - `manual_concluded_at` unknown
      - `manual_concluded_by` string, nullable — Identifier of the operator who marked the manual OTC concluded.
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `image_url` string, uri, nullable
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `legal_name` string, nullable
      - `type` 'individual' | 'business', required
      - `payment_method` 'ach' | 'wire' | 'pix' | 'ted' | 'spei' | 'transfers' | 'pse' | 'international_swift' | 'rtp', required
      - `sender_amount` number, nullable, required — 52.40 BRL needs to be sent in a pix transfer
      - `receiver_amount` number, nullable, required — 10.10 USDC
      - `token` 'USDC' | 'USDT' | 'USDB', required
      - `partner_fee_id` string, nullable
      - `partner_fee_amount` number, nullable — 1.5 USDC
      - `total_fee_amount` number, nullable — 1.53 USDC
      - `commercial_quotation` number, nullable, required — 1 USD = 4.95 BRL
      - `blindpay_quotation` number, nullable, required — 1 USD = 5.05 BRL (commercial quotation + (blindpay taxes))
      - `currency` 'BRL' | 'USD' | 'MXN' | 'COP' | 'ARS' | 'EUR', required — ISO 4271 currency code
      - `billing_fee_amount` number, nullable — BlindPay fee in cents accrued to your billing cycle (charged at the end of the month). Virtual account deposits below $100.00 always accrue here, so small deposits are delivered in full.
      - `transaction_fee_amount` number, nullable — BlindPay fee in cents deducted from the transaction at the time it is processed. Virtual account deposits of $100.00 or more are charged here (unless your instance is configured for end-of-month billing, in which case every fee accrues to billing_fee_amount).
      - `is_otc` boolean, nullable — If true, the payin quote is for an OTC (Over the Counter) transaction
      - `payer_rules` object, nullable
        - `pix_allowed_tax_ids` string[], nullable
        - `transfers_allowed_tax_id` string, nullable
        - `pse_allowed_tax_ids` string[], nullable
        - `pse_full_name` string, nullable
        - `pse_document_type` 'CC' | 'NIT', nullable
        - `pse_document_number` string, nullable
        - `pse_email` string, email, nullable
        - `pse_phone` string, nullable
        - `pse_bank_code` string, nullable
      - `name` string, required
      - `address` string, nullable
      - `network` 'base' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'arbitrum' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'stellar' | 'stellar_testnet' | 'tron' | 'solana' | 'solana_devnet' | 'tempo' | 'tempo_testnet', required
      - `blindpay_bank_details` object, nullable
        - `routing_number` string
        - `account_number` string
        - `account_type` string
        - `swift_bic_code` string, nullable
        - `ach` object, nullable
          - `routing_number` string, required
          - `account_number` string, required
        - `wire` object, nullable
          - `routing_number` string, required
          - `account_number` string, required
        - `rtp` object, nullable
          - `routing_number` string, required
          - `account_number` string, required
        - `beneficiary` object, required
          - `name` string
          - `address_line_1` string
          - `address_line_2` string
        - `receiving_bank` object, required
          - `name` string
          - `address_line_1` string
          - `address_line_2` string
        - `swift_account_number` string, nullable
        - `swift_receiving_bank` object, nullable
          - `name` string, nullable
          - `address_line_1` string, nullable
          - `address_line_2` string, nullable
      - `pse_payment_link` string, nullable — PSE payment link (derived from tracking_transaction.pse_instruction)
      - `pse_full_name` string, nullable — PSE payer full name
      - `pse_tax_id` string, nullable — PSE payer document number
      - `pse_document_type` 'CC' | 'NIT', nullable — PSE payer document type
    - `pagination` PaginationMetadata, required
      - `has_more` boolean, required — Whether or not there are more elements available after this set.
      - `next_page` string, nullable — The ID of the first item in the next page of results.
      - `prev_page` string, nullable — The ID of the first item in the previous page of results.
  - PayinOut[]
    - `id` string, required
    - `pix_code` string, nullable — PIX code
    - `memo_code` string, nullable — Memo code
    - `clabe` string, nullable — CLABE code
    - `status` 'processing' | 'on_hold' | 'failed' | 'refunded' | 'completed', required — Payin general status
    - `payin_quote_id` string, required
    - `instance_id` string, required
    - `customer_id` string, required
    - `partner_fee` integer — Payin partner fee amount in cents
    - `tracking_transaction` object, required
      - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payin transaction step
      - `status` 'failed' | 'completed', nullable — Payin transaction status
      - `external_id` string, nullable — Payin transaction external id
      - `completed_at` string, nullable — Payin transaction completed date
      - `transaction_hash` string, nullable — Blockchain transaction hash
      - `provider_name` 'Nvio Pagos' | 'Brex' | 'Stark Bank' | 'JPMorgan Chase' | 'HSBC' | 'Inter' | 'JP Morgan Chase' | 'Bitso' | 'Citi' | 'CFSB' | 'Triple A Technologies' | 'Portage Bank', nullable — Payment provider name
      - `provider_transaction_id` string, nullable — Payment provider transaction id
      - `sender_name` string, nullable
      - `sender_bank_name` string, nullable
      - `sender_tax_id` string, nullable
      - `sender_bank_code` string, nullable
      - `sender_account_number` string, nullable
      - `end_to_end_id` string, nullable — BACEN Pix end-to-end transaction ID (govt Pix ID)
      - `trace_number` string, nullable
      - `transaction_reference` string, nullable
      - `description` string, nullable
      - `pse_instruction` object, nullable
        - `payment_link` string, required — PSE payment link URL
        - `fid` string, required — PSE funding identifier for webhook matching
        - `full_name` string, required — PSE payer full name
        - `tax_id` string, required — PSE payer document number
        - `document_type` 'CC' | 'NIT', required — PSE payer document type
        - `phone` string, required — PSE payer phone number
        - `email` string, required — PSE payer email
        - `bank_code` string, nullable — PSE payer bank code
      - `transfers_instruction` object, nullable
        - `account` string, required — CVU/CBU/Alias account number
        - `type` 'CVU' | 'CBU' | 'ALIAS', required — Account type (CVU, CBU, or ALIAS)
        - `tax_id` string, nullable — CUIT/CUIL (normalized, digits only)
      - `ted_instruction` object, nullable
        - `beneficiary_name` string, required
        - `tax_id` string, required
        - `bank_code` string, required
        - `bank_name` string, required
        - `branch_code` string, required
        - `account_number` string, required
        - `account_type` string, required
    - `tracking_payment` object, required
      - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Payment step
      - `provider_name` string, nullable — Payment provider name
      - `completed_at` string, nullable — Payment completed date
      - `review_source` string, nullable — Primary risk source that sent this payin to manual review
      - `review_context` object, nullable — Structured risk context for manual review
      - `review_sources` string[], nullable — Every risk source that flagged this payin on the pending review
      - `review_contexts` object, nullable — Structured risk context per flagging source
      - `approved_risk_sources` string[], nullable — Risk sources already approved by an analyst
    - `tracking_complete` object, required
      - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
      - `transaction_hash` string, nullable — Complete transaction hash
      - `completed_at` string, nullable — Complete completed date
    - `manual_execution_status` 'pending' | 'concluded' | 'failed', nullable — When non-null, the payin was created while the manual OTC liquidity toggle was ON. `pending` means an operator must convert BRL→USDT manually and click "Mark concluded"; `concluded` closes the internal flow. Customer-facing behavior is identical in either mode.
    - `manual_concluded_at` unknown
    - `manual_concluded_by` string, nullable — Identifier of the operator who marked the manual OTC concluded.
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `image_url` string, uri, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `legal_name` string, nullable
    - `type` 'individual' | 'business', required
    - `payment_method` 'ach' | 'wire' | 'pix' | 'ted' | 'spei' | 'transfers' | 'pse' | 'international_swift' | 'rtp', required
    - `sender_amount` number, nullable, required — 52.40 BRL needs to be sent in a pix transfer
    - `receiver_amount` number, nullable, required — 10.10 USDC
    - `token` 'USDC' | 'USDT' | 'USDB', required
    - `partner_fee_id` string, nullable
    - `partner_fee_amount` number, nullable — 1.5 USDC
    - `total_fee_amount` number, nullable — 1.53 USDC
    - `commercial_quotation` number, nullable, required — 1 USD = 4.95 BRL
    - `blindpay_quotation` number, nullable, required — 1 USD = 5.05 BRL (commercial quotation + (blindpay taxes))
    - `currency` 'BRL' | 'USD' | 'MXN' | 'COP' | 'ARS' | 'EUR', required — ISO 4271 currency code
    - `billing_fee_amount` number, nullable — BlindPay fee in cents accrued to your billing cycle (charged at the end of the month). Virtual account deposits below $100.00 always accrue here, so small deposits are delivered in full.
    - `transaction_fee_amount` number, nullable — BlindPay fee in cents deducted from the transaction at the time it is processed. Virtual account deposits of $100.00 or more are charged here (unless your instance is configured for end-of-month billing, in which case every fee accrues to billing_fee_amount).
    - `is_otc` boolean, nullable — If true, the payin quote is for an OTC (Over the Counter) transaction
    - `payer_rules` object, nullable
      - `pix_allowed_tax_ids` string[], nullable
      - `transfers_allowed_tax_id` string, nullable
      - `pse_allowed_tax_ids` string[], nullable
      - `pse_full_name` string, nullable
      - `pse_document_type` 'CC' | 'NIT', nullable
      - `pse_document_number` string, nullable
      - `pse_email` string, email, nullable
      - `pse_phone` string, nullable
      - `pse_bank_code` string, nullable
    - `name` string, required
    - `address` string, nullable
    - `network` 'base' | 'sepolia' | 'arbitrum_sepolia' | 'base_sepolia' | 'arbitrum' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'stellar' | 'stellar_testnet' | 'tron' | 'solana' | 'solana_devnet' | 'tempo' | 'tempo_testnet', required
    - `blindpay_bank_details` object, nullable
      - `routing_number` string
      - `account_number` string
      - `account_type` string
      - `swift_bic_code` string, nullable
      - `ach` object, nullable
        - `routing_number` string, required
        - `account_number` string, required
      - `wire` object, nullable
        - `routing_number` string, required
        - `account_number` string, required
      - `rtp` object, nullable
        - `routing_number` string, required
        - `account_number` string, required
      - `beneficiary` object, required
        - `name` string
        - `address_line_1` string
        - `address_line_2` string
      - `receiving_bank` object, required
        - `name` string
        - `address_line_1` string
        - `address_line_2` string
      - `swift_account_number` string, nullable
      - `swift_receiving_bank` object, nullable
        - `name` string, nullable
        - `address_line_1` string, nullable
        - `address_line_2` string, nullable
    - `pse_payment_link` string, nullable — PSE payment link (derived from tracking_transaction.pse_instruction)
    - `pse_full_name` string, nullable — PSE payer full name
    - `pse_tax_id` string, nullable — PSE payer document number
    - `pse_document_type` 'CC' | 'NIT', nullable — PSE payer document type

## Other responses

- `400` — Possible error codes: `VALIDATION_FAILED`. See the Error responses section for retry semantics.
- `401` — Possible error codes: `AUTH_UNAUTHORIZED`. See the Error responses section for retry semantics.
- `403` — Possible error codes: `AUTH_FORBIDDEN`. See the Error responses section for retry semantics.
- `429` — Possible error codes: `AUTH_RATE_LIMITED`. See the Error responses section for retry semantics.
- `500` — Possible error codes: `INTERNAL_ERROR`. See the Error responses section for retry semantics.

---

[API](https://skmtc.dev/blindpay/apis/blindpay-api.md) · [All operations](https://skmtc.dev/blindpay/apis/blindpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blindpay/blindpay-api/revisions/470de27afb7b/schema)
