---
title: Lirium API Integration on Truto
slug: lirium
category: Payment Gateway
canonical: "https://truto.one/integrations/detail/lirium/"
---

# Lirium API Integration on Truto



**Category:** Payment Gateway  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 52 tools for Lirium that AI agents can call directly.

- **create_a_lirium_order_resend_code** — Resend the confirmation code for a lirium order to the customer. Returns an empty 200 response object on success. Required: customer_id, order_id.
- **list_all_lirium_customer_orders** — List orders for a lirium customer, returning individual order records. Returns: id, operation, state, created_at, customer_id, last_updated_at, asset, and operation-specific details (buy, sell, send, receive, swap, or subscribe_investment) per order. Required: customer_id.
- **lirium_customer_orders_list_2** — List orders for a lirium customer, returning the full response envelope. Returns: orders array where each element contains id, operation, state, created_at, customer_id, and asset details. Required: customer_id.
- **create_a_lirium_customer_order** — Create a new order for a lirium customer. Returns the created order object including id, operation, state, created_at, customer_id, last_updated_at, asset, and operation-specific details. Required: customer_id.
- **get_single_lirium_customer_order_by_id** — Get details of a specific lirium order by customer and order id. Returns: id, operation, state, created_at, customer_id, last_updated_at, asset, and operation-specific details (buy, sell, send, receive, swap, or subscribe_investment). Required: customer_id, id.
- **list_all_lirium_exchange_rates** — List current exchange rates in lirium for all supported cryptocurrencies. Returns: quote_currency, and a quotes array where each entry contains currency, ask, and bid prices. The quote_currency parameter is required only when multiple settlement accounts are configured on your lirium account.
- **list_all_lirium_partners** — List Lirium partner details including all supported crypto assets, available investment products, and enabled product categories. Returns: name, logo_url, available_assets (each with id, decimal_places, and allowed_operations), available_investments (each with id, quote_asset, network, provider_id, subscription, redemption, fee, name, and enabled), and products.
- **get_single_lirium_partner_by_id** — Get Lirium partner details including all supported crypto assets, available investment products, and enabled product categories. Returns: name, logo_url, available_assets (each with id, decimal_places, and allowed_operations), available_investments (each with id, quote_asset, network, provider_id, subscription, redemption, fee, name, and enabled), and products.
- **list_all_lirium_customers** — List lirium customers with optional search filters. Returns: id, created_at, reference_id, state, profile (identity and address fields), contact, products, and data_requirements per customer.
- **create_a_lirium_customer** — Create a new lirium customer account (individual or business). Returns the created customer including id, created_at, state, profile, contact, products, and data_requirements. Required: reference_id, type, contact (with email).
- **get_single_lirium_customer_by_id** — Get a single lirium customer by id. Returns the full customer object including id, created_at, reference_id, state, profile, contact, products, and data_requirements. Required: id.
- **update_a_lirium_customer_by_id** — Update a lirium customer's profile, contact information, status, or reference_id by id. Returns the updated customer object including id, created_at, state, profile, contact, products, and data_requirements. Required: id.
- **create_a_lirium_customer_document** — Upload a KYC document for a lirium customer. Returns the updated customer object including id, created_at, reference_id, state, profile, contact, products, and data_requirements (showing the submission status of each required document). Required: customer_id, document_type, file_type, file.
- **list_all_lirium_partner_balances** — List the current balances for the lirium partner's accounts. Returns: currency, amount, available_amount for each balance entry.
- **list_all_lirium_customer_accounts** — List per-currency account balances for a lirium customer. Returns: currency, amount, available_amount. Required: customer_id.
- **create_a_lirium_order_confirm** — Confirm a pending lirium order. Returns the confirmed order object including id, operation, state, submitted_at, asset, and operation-specific details (buy, sell, send, swap, subscribe_investment, or redeem_investment). Required: customer_id, order_id.
- **list_all_lirium_customer_receiving_addresses** — List all receiving addresses for a Lirium customer. Returns: currency, address, network, asset_type for each address record. Required: customer_id.
- **create_a_lirium_customer_receiving_address** — Create a receiving address for a Lirium customer. Returns: currency, address. Required: customer_id.
- **lirium_customer_receiving_addresses_list_2** — Get receiving address details for a specific currency for a Lirium customer. Returns: currency, address, network, asset_type. Required: customer_id, currency.
- **get_single_lirium_customer_receiving_address_by_id** — Get a single Lirium customer receiving address by id. Returns: currency, address, network, asset_type. Required: customer_id, id.
- **list_all_lirium_settings** — Get general settings from lirium that can be used to optimize your client. Returns: jwt_validity_max_minutes.
- **list_all_lirium_webhooks_subscriptions** — List all webhook subscriptions configured in lirium. Returns: action, url.
- **create_a_lirium_webhooks_subscription** — Create one or more webhook subscriptions in lirium. Returns a subscriptions array where each entry includes action and url. Required: subscriptions.
- **delete_a_lirium_webhooks_subscription_by_id** — Delete a lirium webhook subscription by its action identifier. Returns an empty 204 response on success. Required: id.
- **list_all_lirium_webhooks_events** — List webhook events in lirium. Returns a paginated collection of events, each including id, created_at, delivery_url, delivery_tries, and state.
- **list_all_lirium_partner_archives** — List lirium partner archives ordered by date ascending. Returns: date, state, data_type, rows, and files (each with first_timestamp, last_timestamp, md5_checksum, and signed download url). Optionally filter by state, date_ge, date_lt, or data_type (defaults to orders when omitted).
- **lirium_partner_archives_list_2** — List lirium partner archive details for a specific data type and date. Returns: date, state, data_type, rows, and files (each with first_timestamp, last_timestamp, md5_checksum, and signed download url). Required: data_type, date.
- **get_single_lirium_partner_archive_by_id** — Get a single lirium partner archive by data type and date. Returns: date, state, data_type, rows, and files (each with first_timestamp, last_timestamp, md5_checksum, and signed download url). Required: data_type, date.
- **list_all_lirium_historical_prices** — List historical prices for a specific currency in lirium over a defined time period. Returns: base, quote, period, and rates (an array of price intervals each containing timestamp, avg, high, and low). Required: currency.
- **list_all_lirium_partner_orders** — List lirium partner orders with optional date and reference filters. Returns: id, state, operation, settlement, created_at, processed_at, last_updated_at for each order. Optionally narrow results using reference_id, processed_ge, or processed_lt.
- **create_a_lirium_partner_order** — Create a withdrawal order in lirium to extract a fiat amount from your settlement account to an outside bank. Returns: id, state, operation, settlement, reference_id, withdrawal, created_at, processed_at, last_updated_at. Supply reference_id, operation ('withdrawal'), and a withdrawal object with currency, amount, type, and the matching transfer-destination sub-object (ar_cvu, ar_cbu, ar_alias, or address_book_item).
- **get_single_lirium_partner_order_by_id** — Get details of a specific lirium partner order by id. Returns: id, state, operation, settlement, created_at, processed_at, last_updated_at, reference_id, and operation-specific fields (withdrawal, top_up, or swap_referral) depending on the order type. Required: id.
- **list_all_lirium_partner_authorizations** — List lirium orders that require partner authorization. Returns: id, operation, state, created_at, customer_id, asset (currency, amount, balance), and send details including fees, destination, and authorizations. Optionally filter by authorization_state (all, pending, approved, rejected).
- **list_all_lirium_partner_withdrawal_destinations** — List all whitelisted withdrawal destinations in lirium. Returns: id, label, type, created_at, enabled, and ar_cbu (with nested cbu details).
- **list_all_lirium_investments_rates** — List current investment rates in Lirium. Returns: id, quote_asset, rate, apy, apr, generated_at for each available investment instrument. No authentication required.
- **list_all_lirium_investments_providers** — List all investment providers available in lirium. Returns each provider record including its id, name, category, website_url, and logo_url. No authentication is required for this endpoint.
- **list_all_lirium_customer_investments** — List investments for a lirium customer. Returns: id, amount, and valued_position (including quote_asset, invested_amount, pnl, pnl_percentage, and net fee details). Required: customer_id.
- **list_all_lirium_order_receipts** — Download the PDF receipt for a lirium order. Returns the receipt file whose shape is content-type-specific and cannot be enumerated as discrete JSON fields. Required: customer_id, order_id.
- **update_a_lirium_order_authorization_by_id** — Approve or reject a lirium order authorization for a send order that requires partner authorization. Returns the updated order object including id, operation, state, created_at, customer_id, last_updated_at, submitted_at, asset, and send details. Required: customer_id, order_id, id, state.
- **list_all_lirium_customer_mastercard_alias** — Get the Mastercard alias for a lirium customer. Returns: alias. Required: customer_id.
- **update_a_lirium_customer_mastercard_alias_by_id** — Create or modify the Mastercard alias for a lirium customer. Returns: alias. Required: customer_id, alias.
- **create_a_lirium_customer_address_book** — Create an address book entry for a lirium customer. Returns: id, address, network, created, label, last_used, ownership_type, and beneficiary_full_name. Required: customer_id, address, network.
- **list_all_lirium_customer_address_books** — List address book entries for a lirium customer. Returns: address_book (array of saved entries with id, address, network, label, created, last_used, ownership_type, beneficiary_full_name) and suggestion (array of suggested addresses with the same fields). Required: customer_id.
- **update_a_lirium_customer_address_book_by_id** — Update a lirium customer address book entry by id. Returns: id, address, network, created, label, last_used, ownership_type, and beneficiary_full_name. Required: customer_id, id.
- **delete_a_lirium_customer_addrese_by_id** — Delete a customer address book item in lirium. Returns an empty response on success. Required: customer_id, address_book_id.
- **create_a_lirium_event_resend** — Resend a webhook event in lirium, triggering a new delivery attempt for the specified event. Returns: id, created_at, delivery_url, delivery_tries, and state of the new resend attempt. Required: event_id.
- **list_all_lirium_customer_incoming_fiat_instructions** — List existing deposit instructions for a customer in lirium. Returns: id, type, currency, status, ar_cvu, mx_clabe. Required: customer_id.
- **create_a_lirium_customer_incoming_fiat_instruction** — Create new deposit instructions for a customer in lirium. Returns: id, type, currency, status, ar_cvu, mx_clabe. Required: customer_id, type, currency.
- **list_all_lirium_customer_outgoing_fiat_instructions** — List outgoing fiat instructions (withdrawal destinations) for a lirium customer. Returns: id, type, currency, label, status, ownership, beneficiary_full_name, and type-specific bank details (ar_cbu, ar_alias, or mx_clabe). Required: customer_id.
- **create_a_lirium_customer_outgoing_fiat_instruction** — Create a new outgoing fiat instruction (withdrawal destination) for a lirium customer. Returns: id, type, currency, label, status, ownership, beneficiary_full_name, and type-specific bank details (ar_cbu, ar_alias, or mx_clabe). Required: customer_id, currency, type.
- **delete_a_lirium_customer_outgoing_fiat_instruction_by_id** — Delete an outgoing fiat instruction for a lirium customer, logically removing it from available withdrawal destinations so it can no longer be used in new orders. Returns an empty response on success. Required: customer_id, id.
- **delete_a_lirium_customer_address_by_id** — Delete a customer address in lirium by id. Returns an empty 204 response on success. Required: customer_id, id.

## How it works

1. **Link your customer's Lirium account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Lirium.** The Proxy API is a 1-to-1 mapping of the Lirium API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed crypto trading in core banking platforms** — Core banking SaaS providers can offer a turnkey digital asset module to their bank and credit union customers, letting end users buy, sell, and custody crypto without the SaaS needing virtual asset licenses or MPC wallet infrastructure.
- **Power stablecoin-based remittance corridors** — Cross-border payment platforms can route USD-to-LatAm transfers through stablecoin rails using Lirium's send orders and local fiat instructions (CVU, CLABE), slashing FX costs while preserving a standard fiat UX for end users.
- **Launch crypto earn products inside WealthTech** — Robo-advisors and wealth management platforms can expose yield-bearing crypto instruments alongside traditional assets by surfacing Lirium investment rates and subscribing client capital into yield products through a single order endpoint.
- **Add fiat-to-crypto on/off-ramps to neobanks and wallets** — Neobanks and white-label wallet builders can offer local-currency deposits that auto-convert to stablecoins, protecting users in inflationary markets without the SaaS managing banking partners or liquidity.
- **Mirror host KYC into a compliant crypto shadow account** — Platforms that already onboard verified users can programmatically provision Lirium customers and push verification documents, activating crypto capabilities for KYC-passed users without a duplicate onboarding flow.

## What you can build

- **Quote-locked buy/sell trading widget** — Fetch live exchange rates and execute a two-step order flow — create order to lock the quote, then confirm — to give end users slippage-protected crypto trading inside your app.
- **Local fiat deposit and withdrawal rails** — Provision per-user CVU (Argentina) and CLABE (Mexico) accounts via incoming and outgoing fiat instructions so users can move local currency in and out of crypto using domestic bank transfers.
- **Crypto Earn portfolio module** — Display available APYs from Lirium investment rates and let users subscribe or redeem yield positions through order operations, with active positions tracked via the customer investments endpoint.
- **Automated KYC-to-crypto activation pipeline** — On host KYC approval, create the Lirium customer, upload documents, and surface the resulting accounts and receiving addresses so the crypto product is live the moment onboarding completes.
- **Mastercard Crypto Credential remittances** — Use customer Mastercard aliases and the address book endpoints to let users send cross-border crypto payments by alias instead of raw blockchain addresses.
- **Real-time order and settlement notifications** — Subscribe to Lirium webhooks to push live updates into your product when orders move from pending to confirmed, crypto deposits arrive, or KYC status changes.

## FAQs

### How does Truto handle authentication with Lirium for each of our end customers?

Truto manages per-tenant credential storage and request signing for Lirium on your behalf. Your end users connect their Lirium partner account once, and Truto injects the correct credentials into every API call so you never store or rotate secrets yourself.

### Which Lirium order operations are supported through the integration?

The create customer order endpoint supports buy, sell, send, receive, swap, subscribe_investment, and redeem_investment within a single unified call. Order lifecycle actions like confirm and resend code are also exposed as dedicated tools.

### How do we keep order and balance data fresh without polling constantly?

Truto supports Lirium's webhook subscriptions, so you can register endpoints to receive real-time events for order state changes, incoming crypto deposits, and KYC updates. You can also list past webhook events for replay and reconciliation.

### Can we provision local fiat rails like CVU and CLABE per end user?

Yes. The incoming and outgoing fiat instruction endpoints generate localized bank details per Lirium customer, including ar_cvu for Argentina and mx_clabe for Mexico, so users can fund and withdraw via domestic transfers.

### Does the integration support uploading KYC documents from our onboarding flow?

Yes. After creating a Lirium customer, you can push verification files through the create customer document endpoint, letting you mirror your existing KYC process rather than running users through a second onboarding.

### How are exchange rates and investment APYs retrieved for display in our UI?

Use the list exchange rates endpoint for real-time bid/ask spreads on trading pairs, and the list investments rates and providers endpoints to surface available yield products with their current APY/APR before placing a subscribe_investment order.

## Related reading

- [Connect Lirium to ChatGPT: Manage Crypto Customer KYC and Orders](https://truto.one/blog/connect-lirium-to-chatgpt-manage-crypto-customer-kyc-and-orders/) — Learn how to build a Lirium MCP server to connect ChatGPT to your crypto infrastructure. Automate KYC document uploads, partner orders, and fiat workflows.
- [Connect Lirium to Claude: Monitor Rates, Investments, and Balances](https://truto.one/blog/connect-lirium-to-claude-monitor-rates-investments-and-balances/) — A definitive engineering guide to generating a secure Lirium MCP server and connecting it to Claude for automated crypto, fiat, and investment workflows.
- [Connect Lirium to AI Agents: Orchestrate Fiat and Trading Workflows](https://truto.one/blog/connect-lirium-to-ai-agents-orchestrate-fiat-and-trading-workflows/) — Learn how to connect Lirium to AI Agents using Truto's /tools endpoint. Build autonomous fiat, crypto trading, and compliance workflows without custom API code.
