Create transfer launch
Create or replay a custody transfer launch session for loan collateral movement.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Allowed browser origin for the embed session
Stable client-generated idempotency key for safe retries
Path Parameters
Loan reference
Body
Asset Transfer Launch Request schema.
External asset reference to transfer
Quantity of asset to transfer
Custody provider code for destination routing
Lender URL the borrower returns to after a hosted-mode flow completes or is cancelled. Used when Vault resolves to hosted delivery mode; ignored otherwise.
Optional lender brand string rendered to the borrower on the Vault-hosted page (hosted mode only; ignored for embedded). When omitted, Vault falls back to the calling lender party's legal_name from entity_registry.
120Optional URL of the lender's logo, rendered next to the lender name in the Vault-hosted page header (hosted mode only; ignored for embedded). Must be https in production (http permitted when the launch request itself is over http, e.g. local dev). data: and javascript: schemes are rejected.
2048Response
Transfer launch response
Asset Transfer Launch Response schema.
Launch status
Failure reason when launch is not successful
Echoes the resolved delivery mode for the launch
embedded, hosted Embed URL for client transfer widget (delivery_mode='embedded')
Vault-hosted redirect URL (delivery_mode='hosted')
Launch/session expiration timestamp
Short-lived token used to resolve session
Internal transfer instruction id
Custody-side wallet address lifecycle. ready (or omitted) means a usable address is in the response. pending means the custody provider is still generating the destination address; the client should poll poll_status_url until the status flips to ready before showing the embed_url/redirect_url.
ready, pending Vault status endpoint to poll when address_status='pending'. Returns the same launch payload with an updated address_status.