---
title: "Create Transfer"
method: POST
path: "/v1/instances/{instance_id}/transfers"
tags: ["Transfers"]
---

# Create Transfer

`POST /v1/instances/{instance_id}/transfers`

## Path parameters

- `instance_id` string, required

## Headers

- `Idempotency-Key` string — Optional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

## Request body

- CreateTransferIn
  - `transfer_quote_id` string, required

## Response `200`

Transfer started with success

- CreateTransferOut
  - `id` string, required
  - `status` 'processing' | 'failed' | 'refunded' | 'completed', required — Transfer general status
  - `tracking_bridge_swap` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
    - `transaction_hash` string, nullable — Complete transaction hash
    - `gas_fee` string, nullable — Gas fee related to transaction
    - `completed_at` string, nullable — Complete completed date
    - `error_message` string, nullable
  - `tracking_complete` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
    - `transaction_hash` string, nullable — Complete transaction hash
    - `gas_fee` string, nullable — Gas fee related to transaction
    - `completed_at` string, nullable — Complete completed date
    - `error_message` string, nullable
  - `tracking_paymaster` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Complete step
    - `transaction_hash` string, nullable — Complete transaction hash
    - `gas_fee` string, nullable — Gas fee related to transaction
    - `completed_at` string, nullable — Complete completed date
    - `error_message` string, nullable
  - `tracking_transaction_monitoring` object, required
    - `step` 'processing' | 'on_hold' | 'pending_review' | 'pending_refund_review' | 'completed', required — Transaction monitoring step
    - `blockchain_screening` number, nullable — Blindpay screening step
    - `risk_score` number, nullable — Risk score
    - `completed_at` string, nullable — Transfer transaction completed date

## Other responses

- `400` — Possible error codes: `BANK_ACCOUNTS_INCOMPLETE`, `BANK_ACCOUNTS_INVALID_BANK_CODE`, `BANK_ACCOUNTS_INVALID_ROUTING`, `BANK_ACCOUNTS_PARTNER_NOT_SUPPORTED`, `BANK_ACCOUNTS_RTP_NOT_SUPPORTED`, `BLOCKCHAIN_NETWORK_NOT_SUPPORTED`, `CUSTOMERS_COUNTRY_NOT_SUPPORTED`, `CUSTOMERS_INVALID_PHONE`, `CUSTOMERS_INVALID_TAX_ID`, `CUSTOMERS_KYC_TYPE_NOT_AVAILABLE`, `CUSTOMERS_NAME_INVALID`, `FILES_UNREADABLE`, `PAYABLES_ALREADY_PAID_OR_EXPIRED`, `PAYABLES_AMOUNT_NEGATIVE`, `PAYABLES_BANK_ACCOUNT_INVALID`, `PAYABLES_CODE_UNRESOLVABLE`, `PAYABLES_CURRENCY_MUST_BE_BRL`, `PAYABLES_DOCUMENT_INVALID`, `PAYABLES_DUPLICATE`, `PAYABLES_NOT_CANCELABLE`, `PAYABLES_PIX_AMOUNT_REQUIRED`, `PAYOUTS_AMOUNT_BELOW_MINIMUM`, `PAYOUTS_INSUFFICIENT_BALANCE`, `QUOTES_EXPIRED`, `QUOTES_RATE_UNAVAILABLE`, `TRANSFERS_NOT_ENABLED`, `VALIDATION_FAILED`, `VALIDATION_INVALID_REQUEST`, `VALIDATION_MISSING_REQUIRED_FIELDS`, `VIRTUAL_ACCOUNTS_DOCUMENTS_REQUIRED`, `VIRTUAL_ACCOUNTS_NOT_FOUND`, `VIRTUAL_ACCOUNTS_PARTNER_NOT_ELIGIBLE`, `VIRTUAL_ACCOUNTS_PROVISION_FAILED`, `VIRTUAL_ACCOUNTS_REGION_NOT_SUPPORTED`. 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.
- `404` — Possible error codes: `CUSTOMERS_NOT_FOUND`, `PAYABLES_NOT_FOUND`, `WALLETS_NOT_FOUND`. See the Error responses section for retry semantics.
- `422` — Possible error codes: `CUSTOMERS_INVALID_DATA`. 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: `FILES_UNREADABLE`, `INTERNAL_ERROR`, `QUOTES_RATE_UNAVAILABLE`, `VIRTUAL_ACCOUNTS_PROVISION_FAILED`. See the Error responses section for retry semantics.
- `502` — Possible error codes: `VIRTUAL_ACCOUNTS_PROVISION_FAILED`. See the Error responses section for retry semantics.
- `503` — Possible error codes: `QUOTES_RATE_UNAVAILABLE`. 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)
