Six tools cover the onboarding prerequisite for running an offramp. CallDocumentation Index
Fetch the complete documentation index at: https://docs.useveil.co/llms.txt
Use this file to discover all available pages before exploring further.
veil_get_account_status first — it tells you exactly which step is needed.
veil_get_account_status
Returns the current onboarding stage: KYC status, bank account presence, and an overallstage field that tells the assistant what to do next.
Inputs
None.
Outputs
authenticated, unauthenticated, or error.User profile. Present when
status is authenticated. Contains id, email, onboardingStatus, accountType, username, and displayUsername.KYC summary with
status (not_started, in_progress, approved, failed, or error), verifiedAt, and failureReason.Bank account summary with
present (boolean), verified, suffixLast4, currency, and holderName.Overall stage:
needs_kyc, kyc_in_progress, needs_bank_account, or ready.Error description when
status is error.veil_kyc_start
Start a KYC identity verification session. Returns a Veil-hosted link the user must open in a browser. Inputs None. Outputsapproved if KYC is already complete. in_progress with a kycUrl if a new session was created. noah_unavailable if the verification service is temporarily down. error on other failures.Link to open in a browser. Present when
status is in_progress.Human-readable note about the session.
Error description when
status is error.veil_kyc_check_status
Poll KYC status after the user has completed the verification form. Inputs None. Outputsnot_started, in_progress, approved, failed, or error.Overall account onboarding status.
ISO 8601 timestamp when verification was approved. Null if not yet approved.
Reason for failure when
status is failed.When the KYC session was started.
When the KYC record was last updated.
Error description when
status is error.veil_bank_account_get
Retrieve a bank account by ID, or the primary account if no ID is provided. Returns a safe view — no IBAN, routing numbers, or other sensitive data. InputsOptional. Bank account ID. Omit to fetch the primary account.
Whether a bank account was found.
Account ID.
Payment scheme:
eu_sepa, us_ach, us_fedwire, global_wire, br_pix, or uk_local.Account currency (e.g.
EUR, USD).Account holder name.
Bank name. Null if not available.
Last four digits of the account. Null if not available.
Whether the account has passed verification.
Whether this is the wallet’s primary payout bank.
ISO 8601 timestamp when the account was added.
ISO 8601 timestamp of the last update.
Error description on failure.
veil_bank_accounts_list
List all active bank accounts for the authenticated user. The primary account appears first. Inputs None. OutputsArray of bank account records. Each has:
id, scheme, currency, holderName, bankName, suffixLast4, verified, isPrimary, createdAt, updatedAt.Error description on failure.
veil_bank_account_get_form_url
Get a link to the Veil-hosted bank account entry form. The user opens the URL in a browser, fills in their bank details, then returns to the chat. Requires KYC to be approved first. Callveil_kyc_start if veil_get_account_status shows stage: needs_kyc.
Inputs
None.
Outputs
URL to the bank account form. Open in a browser to add bank details.
Error description on failure.
See also
- In-chat flow — how onboarding fits into the full offramp conversation
- KYC — identity verification overview
- Bank accounts — how bank accounts work in Veil