# Create Transfer From Quote

## POST /v0/customers/{customer\_id}/offramp-transfer/quote/{quote\_id}

> Create Offramp Transfer from Quote

```json
{"openapi":"3.0.0","info":{"title":"Offramp API","version":"0"},"servers":[{"url":"https://api.alignlabs.dev","description":"Production server"},{"url":"https://api-sandbox.alignlabs.dev","description":"Sandbox server"}],"paths":{"/v0/customers/{customer_id}/offramp-transfer/quote/{quote_id}":{"post":{"summary":"Create Offramp Transfer from Quote","parameters":[{"name":"customer_id","in":"path","description":"The unique identifier of the customer","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"quote_id","in":"path","description":"The unique identifier of the quote","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Api-Key","in":"header","description":"Your secret API key, available in the developer dashboard. Include this header on every request to authenticate your application.","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Unique key to prevent duplicate requests","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"You can provide either a reference to an existing external account ID or the complete bank account details for the destination.","oneOf":[{"title":"Destination External Account ID","description":"Use this option when you have a pre-existing external account","properties":{"transfer_purpose":{"type":"string","description":"The purpose of the transfer","enum":["charity","commercial_investment","corporate_card","credit_card","dividend","family","financial_services","good_sold","goods_bought","government","insurance","intergroup_transfer","intra_group_dividends","information_technology","leasing","loan_charges","merchant_settlement","mobile_wallet","none","non_resident_transfer_between_accounts","pension","personal_expenses","prepaid_cards","professional","rental","resident_transfer_between_accounts","salaries","telecommunications","travel","utility_bill"]},"destination_external_account_id":{"type":"string","format":"uuid","description":"The ID of the external account to use as the destination"},"documents":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","minLength":1,"maxLength":512,"description":"The ID of the uploaded file. To upload file see: https://docs.alignlabs.dev/align-api/files/upload-file"},"description":{"type":"string","maxLength":512}},"required":["file_id"]}}},"required":["destination_external_account_id"]},{"title":"Destination Bank Account Details","description":"Use this option to provide complete bank account information","properties":{"transfer_purpose":{"type":"string","description":"The purpose of the transfer","enum":["charity","commercial_investment","corporate_card","credit_card","dividend","family","financial_services","good_sold","goods_bought","government","insurance","intergroup_transfer","intra_group_dividends","information_technology","leasing","loan_charges","merchant_settlement","mobile_wallet","none","non_resident_transfer_between_accounts","pension","personal_expenses","prepaid_cards","professional","rental","resident_transfer_between_accounts","salaries","telecommunications","travel","utility_bill"]},"destination_bank_account":{"type":"object","oneOf":[{"title":"IBAN Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["iban"]},"iban":{"type":"object","properties":{"bic":{"type":"string"},"iban_number":{"type":"string"}},"required":["bic","iban_number"]}},"required":["bank_name","account_holder_type","account_type","account_holder_address","iban"]},{"title":"US Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["us"]},"us":{"type":"object","properties":{"account_number":{"type":"string"},"routing_number":{"type":"string"}},"required":["account_number","routing_number"]}},"required":["bank_name","account_holder_type","account_type","account_holder_address","us"]},{"title":"International Wire Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["international_wire"]},"international_wire":{"type":"object","properties":{"account_number":{"type":"string"},"routing_number":{"type":"string"},"bic":{"type":"string"}},"required":["account_number","routing_number","bic"]}},"required":["id","created_at","bank_name","account_holder_type","account_holder_address","account_type","international_wire"]}]},"documents":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","minLength":1,"maxLength":512,"description":"The ID of the uploaded file. To upload file see: https://docs.alignlabs.dev/align-api/files/upload-file"},"description":{"type":"string","maxLength":512}},"required":["file_id"]}}},"required":["destination_bank_account"]}]}}}},"responses":{"201":{"description":"Offramp transfer created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOfframpResponseSuccessModel"}}}}}}}},"components":{"schemas":{"CreateOfframpResponseSuccessModel":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier for the offramp transfer"},"status":{"type":"string","description":"The current status of the offramp transfer","enum":["pending","processing","completed"]},"amount":{"type":"string","format":"decimal","pattern":"^[0-9]+(\\.[0-9]+)?$","description":"The destination amount of the offramp transfer as a numeric string."},"source_token":{"type":"string","description":"The currency to be deposited","enum":["usdc","usdt"]},"source_network":{"type":"string","description":"The blockchain network for the source token","enum":["polygon","ethereum","base","tron","arbitrum","solana"]},"destination_currency":{"type":"string","description":"The currency for the destination","enum":["usd","eur","aed"]},"destination_payment_rails":{"type":"string","description":"The rails type to be used for the bank transfer","enum":["ach","wire","sepa","swift","uaefts"]},"transfer_purpose":{"type":"string","description":"The purpose of the transfer","enum":["charity","commercial_investment","corporate_card","credit_card","dividend","family","financial_services","good_sold","goods_bought","government","insurance","intergroup_transfer","intra_group_dividends","information_technology","leasing","loan_charges","merchant_settlement","mobile_wallet","none","non_resident_transfer_between_accounts","pension","personal_expenses","prepaid_cards","professional","rental","resident_transfer_between_accounts","salaries","telecommunications","travel","utility_bill"]},"destination_bank_account":{"type":"object","oneOf":[{"title":"IBAN Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["iban"]},"iban":{"type":"object","properties":{"bic":{"type":"string"},"iban_number":{"type":"string"}}}},"required":["bank_name","account_holder_type","account_holder_address","account_type","iban"]},{"title":"US Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["us"]},"us":{"type":"object","properties":{"account_number":{"type":"string"},"routing_number":{"type":"string"}}}},"required":["bank_name","account_holder_type","account_holder_address","account_type","us"]},{"title":"International Wire Account Details","properties":{"bank_name":{"type":"string"},"account_holder_type":{"type":"string","enum":["individual","business"]},"account_holder_first_name":{"type":"string"},"account_holder_last_name":{"type":"string"},"account_holder_business_name":{"type":"string"},"account_holder_address":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO 3166-1 alpha-2 country code","minLength":2,"maxLength":2},"city":{"type":"string","minLength":1,"maxLength":128},"street_line_1":{"minLength":1,"type":"string","maxLength":255},"postal_code":{"minLength":1,"type":"string","maxLength":48}},"required":["country","city","street_line_1","postal_code"]},"account_type":{"type":"string","enum":["international_wire"]},"international_wire":{"type":"object","properties":{"account_number":{"type":"string"},"routing_number":{"type":"string"},"bic":{"type":"string"}},"required":["account_number","routing_number","bic"]}},"required":["id","created_at","bank_name","account_holder_type","account_holder_address","account_type","international_wire"]}]},"quote":{"type":"object","properties":{"deposit_network":{"type":"string","description":"The blockchain network for the deposit","enum":["polygon","ethereum","tron","base","arbitrum","solana"]},"deposit_token":{"type":"string","description":"The token used for the deposit","enum":["usdc","usdt","eurc"]},"deposit_blockchain_address":{"type":"string","description":"The blockchain address where the funds should be deposited"},"deposit_amount":{"type":"string","description":"The amount to be deposited"},"source_amount":{"type":"string","description":"The source amount for the transfer"},"destination_amount":{"type":"string","description":"The destination amount for the transfer"},"exchange_rate":{"type":"string","description":"The exchange rate used for the transfer","pattern":"^[0-9]+(\\.[0-9]+)?$"},"fee_amount":{"type":"string","description":"The total fee amount for the onramp transfer, denominated in the deposit_currency"},"deposit_transaction_hash":{"type":"string","description":"The transaction hash of the completed deposit","nullable":true}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.alignlabs.dev/align-api/offramp-transfers/create-transfer-from-quote.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
