# Orderbook Level 2 Source: https://apidocs.ripio.com/pages/trade/book/get_book___orderbook_level_2 get /trade/book/orders/level-2 Returns the level 2 orderbook. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Orderbook Level 3 Source: https://apidocs.ripio.com/pages/trade/book/get_book___orderbook_level_3 get /trade/book/orders/level-3 Returns the level 3 orderbook. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Get Cryptocurrency Deposit Source: https://apidocs.ripio.com/pages/trade/cryptocurrency deposits/get_cryptocurrency_deposits___get_cryptocurrency_deposit get /trade/deposits/deposit Gets a cryptocurrency deposit. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - deposit_read # List Cryptocurrency Deposits Source: https://apidocs.ripio.com/pages/trade/cryptocurrency deposits/get_cryptocurrency_deposits___list_cryptocurrency_deposits get /trade/deposits Lists the user's cryptocurrency deposits. **Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - deposit_read # Estimate Withdrawal Fee Source: https://apidocs.ripio.com/pages/trade/cryptocurrency withdrawals/get_cryptocurrency_withdrawals___estimate_withdrawal_fee get /trade/withdrawals/estimate-fee/{currency_code} Estimates the miner fee for a cryptocurrency withdrawal. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - withdrawal_read # Get Cryptocurrency Withdrawal Source: https://apidocs.ripio.com/pages/trade/cryptocurrency withdrawals/get_cryptocurrency_withdrawals___get_cryptocurrency_withdrawal get /trade/withdrawals/withdrawal Gets a cryptocurrency withdrawal. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - withdrawal_read # List Cryptocurrency Withdrawals Source: https://apidocs.ripio.com/pages/trade/cryptocurrency withdrawals/get_cryptocurrency_withdrawals___list_cryptocurrency_withdrawals get /trade/withdrawals Lists the user's cryptocurrency withdrawals. **Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - withdrawal_read # Create Cryptocurrency Withdrawal Source: https://apidocs.ripio.com/pages/trade/cryptocurrency withdrawals/post_cryptocurrency_withdrawals___create_cryptocurrency_withdrawal post /trade/withdrawals Creates a cryptocurrency withdrawal. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - withdrawal_write # Currencies Source: https://apidocs.ripio.com/pages/trade/general endpoints/get_general_endpoints___currencies get /trade/currencies Lists the active currencies available in the platform. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Operations Source: https://apidocs.ripio.com/pages/trade/general endpoints/get_general_endpoints___operations get /trade/operations Lists all active operation types. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Pairs Source: https://apidocs.ripio.com/pages/trade/general endpoints/get_general_endpoints___pairs get /trade/pairs Lists the active currency pairs available in the platform. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Cancel All Orders Source: https://apidocs.ripio.com/pages/trade/orders/delete_orders___cancel_all_orders delete /trade/orders/all Cancels all the user's active orders. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Cancel Order Source: https://apidocs.ripio.com/pages/trade/orders/delete_orders___cancel_order delete /trade/orders Cancels an active order by its `id`. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Cancel Order By External Id Source: https://apidocs.ripio.com/pages/trade/orders/delete_orders___cancel_order_by_external_id delete /trade/orders/by-external-id Cancels an active order by its `external_id`. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Estimate Price Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___estimate_price get /trade/orders/estimate-price/{pair} Estimates the market unit price for a specific amount of a given currency pair. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Get Trades Based On A Order Id Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___get_trades_based_on_a_order_id get /trade/orders/trades Get the trades from an order. **Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Get User Open Orders Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___get_user_open_orders get /trade/orders/open Lists the user's open orders. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Trades Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___trades get /trade/trades Lists the trades history based on the filtering criteria. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # User Order By External Id Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___user_order_by_external_id get /trade/orders/by-external-id/{external_id} Returns the details of a order belonging to the user (by external id). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # User Order By Id Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___user_order_by_id get /trade/orders/{id} Returns the details of an order belonging to the user (by id). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # User Orders Source: https://apidocs.ripio.com/pages/trade/orders/get_orders___user_orders get /trade/orders Lists the user's orders. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Cancel Order Source: https://apidocs.ripio.com/pages/trade/orders/post_orders___cancel_order post /trade/orders/cancel Cancels an active order by its `id` using POST. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Cancel Order By External Id Source: https://apidocs.ripio.com/pages/trade/orders/post_orders___cancel_order_by_external_id post /trade/orders/cancel-by-external-id Cancels an active order by its `external_id` using POST. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Create Order Source: https://apidocs.ripio.com/pages/trade/orders/post_orders___create_order post /trade/orders Creates a new order. Publishes updates in the following websocket topics: [`trade`](#operation/trade) (if there is a trade), [`orderbook`](#operation/orderbook), [`balance`](#operation/balance) and [`order_status`](#operation/order_status). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Update The Amount And/or Price Of An Order Source: https://apidocs.ripio.com/pages/trade/orders/put_orders___update_the_amount_and_or_price_of_an_order put /trade/orders Allows update the amount and/or price of an order, it is not possible to change a canceled or fully executed order. Publishes updates in the following websocket topics: [`orderbook`](#operation/orderbook), and [`balance`](#operation/balance). --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_write # Countries Source: https://apidocs.ripio.com/pages/trade/public/get_public___countries get /trade/public/countries Lists the active countries available in the platform. --- **Authorization** - No API key required — this endpoint is public. # Currencies Source: https://apidocs.ripio.com/pages/trade/public/get_public___currencies get /trade/public/currencies Lists the active currencies available in the platform. --- **Authorization** - No API key required — this endpoint is public. # Orderbook Level 2 Source: https://apidocs.ripio.com/pages/trade/public/get_public___orderbook_level_2 get /trade/public/orders/level-2 Returns the level 2 orderbook. --- **Authorization** - No API key required — this endpoint is public. # Orderbook Level 3 Source: https://apidocs.ripio.com/pages/trade/public/get_public___orderbook_level_3 get /trade/public/orders/level-3 Returns the level 3 orderbook. --- **Authorization** - No API key required — this endpoint is public. # Pairs Source: https://apidocs.ripio.com/pages/trade/public/get_public___pairs get /trade/public/pairs Lists the active currency pairs available in the platform. --- **Authorization** - No API key required — this endpoint is public. # Server Time Source: https://apidocs.ripio.com/pages/trade/public/get_public___server_time get /trade/public/server-time Returns the server time in miliseconds. --- **Authorization** - No API key required — this endpoint is public. # Ticker By Pair Source: https://apidocs.ripio.com/pages/trade/public/get_public___ticker_by_pair get /trade/public/tickers/{pair} Returns a 24 hour window statistics for a given pair. --- **Authorization** - No API key required — this endpoint is public. # Tickers Source: https://apidocs.ripio.com/pages/trade/public/get_public___tickers get /trade/public/tickers Returns a 24 hour window statistics for all pairs. --- **Authorization** - No API key required — this endpoint is public. # Trades Source: https://apidocs.ripio.com/pages/trade/public/get_public___trades get /trade/public/trades Lists the trades history based on the filtering criteria. **Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling. --- **Authorization** - No API key required — this endpoint is public. # List Balances Source: https://apidocs.ripio.com/pages/trade/ripio wallet/get_ripio_wallet___list_balances get /trade/ripio-wallet/balance Lists user balances from the Ripio Wallet. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - internal_balance_transfer_read # List Transfers Source: https://apidocs.ripio.com/pages/trade/ripio wallet/get_ripio_wallet___list_transfers get /trade/ripio-wallet/transfer Lists transfers between Ripio Wallet and Ripio Trade. Returns paginated transfer records filtered by date range, currency, type, and status. Use the `cursor` field from the response to navigate through pages. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - internal_balance_transfer_read # Execute Transfer Source: https://apidocs.ripio.com/pages/trade/ripio wallet/post_ripio_wallet___execute_transfer post /trade/ripio-wallet/transfer/{currency} Executes a transfer of funds between Ripio Trade and Ripio Wallet. The transfer can be initiated in both directions: - **TO_WALLET**: Moves funds from Ripio Trade to Ripio Wallet - **FROM_WALLET**: Moves funds from Ripio Wallet to Ripio Trade --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - internal_balance_transfer_write # Ticker By Pair Source: https://apidocs.ripio.com/pages/trade/ticker/get_ticker___ticker_by_pair get /trade/ticker/{pair} Returns a 24 hour window statistics for a given pair. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Tickers Source: https://apidocs.ripio.com/pages/trade/ticker/get_ticker___tickers get /trade/ticker Returns a 24 hour window statistics for all pairs. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - general_data_read # Websocket Ticket Source: https://apidocs.ripio.com/pages/trade/ticket/post_ticket___websocket_ticket post /trade/ticket Creates a new websocket ticket. Should be sent in the body property called `ticket` to subscribe to the websocket private topics. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - websocket_ticket # Synchronize Transaction Source: https://apidocs.ripio.com/pages/trade/transactions/post_transactions___synchronize_transaction post /trade/transactions/sync Manually synchronize a cryptocurrency deposit. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - deposit_read # Balance On Date Source: https://apidocs.ripio.com/pages/trade/user/get_user___balance_on_date get /trade/user/balances/{date} Lists the user's balances in the given date. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - balance_read # Balances Source: https://apidocs.ripio.com/pages/trade/user/get_user___balances get /trade/user/balances Lists the user's balances --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - balance_read # Get User Trades Source: https://apidocs.ripio.com/pages/trade/user/get_user___get_user_trades get /trade/user/trades Lists the user's trades. **Attention:** Due to performance concerns, this endpoint now uses cursor-based pagination. The pagination object currently included in the response is now a placeholder and will be entirely removed as of 2026-06-01. The parameter current_page is also a placeholder and will be removed at the same time. Please update your integration accordingly and refer to the documentation for the correct pagination handling. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Statement Source: https://apidocs.ripio.com/pages/trade/user/get_user___statement get /trade/user/statement Lists the user's statement. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - statement_read # Statement By Currency Source: https://apidocs.ripio.com/pages/trade/user/get_user___statement_by_currency get /trade/user/statement/{currency_code} Lists the user's statement by currency. --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - statement_read # Trading Fees Source: https://apidocs.ripio.com/pages/trade/user/get_user___trading_fees get /trade/user/trading-fees Get the user trading fees --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - trading_read # Get User Wallet Source: https://apidocs.ripio.com/pages/trade/wallets/get_wallets___get_user_wallet get /trade/wallets/{currency_code}/{network} Get user network's currency address --- **Authorization** - Requires a valid API key. - Required API-key permission(s): - deposit_read # Get Account Source: https://apidocs.ripio.com/pages/wallet/accounts/get_accounts___get_account get /wallet/account/ Returns the sanitized account profile for the authenticated user. Same shape for all countries: country-specific internal fields (e.g. `cuit`/`cvu` in AR, `rfc` in MX, `paymatico_reference`/`investor_survey` in ES/CL) are not part of this public contract. --- **Authorization** - Requires a valid API key. # Get Account Crypto Addresses Source: https://apidocs.ripio.com/pages/wallet/addresses/get_addresses___get_account_crypto_addresses get /wallet/addresses/ Returns all blockchain deposit addresses assigned to the authenticated user's account. Each entry includes the address string, the associated network (with metadata), an optional memo ID (required for networks like XRP/Stellar), and the address version. Results can be filtered by network code or address value, and are ordered by network display order. --- **Authorization** - Requires a valid API key. # Get Balances Source: https://apidocs.ripio.com/pages/wallet/balances/get_balances___get_balances get /wallet/balance/ Returns wallet balances (on-chain/fiat) and viral balances (DEX tokens) for the authenticated user. Wallet balances include available amount, and locked amount per currency. --- **Authorization** - Requires a valid API key. # Get Memecoin Balances Source: https://apidocs.ripio.com/pages/wallet/balances/get_balances___get_memecoin_balances get /wallet/balance/viral Returns only the memecoin (DEX) balances for the authenticated user. Results are filtered by the user's country, staff status, and enabled `SHOW_BALANCE_DEX` currency actions. This is a filtered subset of `GET /balance/` that omits traditional crypto and fiat wallet balances. --- **Authorization** - Requires a valid API key. # Get Wallet Balances Source: https://apidocs.ripio.com/pages/wallet/balances/get_balances___get_wallet_balances get /wallet/balance/wallet Returns only the crypto and fiat wallet balances for the authenticated user. This is a filtered subset of `GET /balance/` that omits memecoin (DEX) positions. Useful when the caller only needs traditional asset balances. --- **Authorization** - Requires a valid API key. # Remove An Own Bank Account Source: https://apidocs.ripio.com/pages/wallet/banking/delete_banking___remove_an_own_bank_account delete /wallet/banking/accounts/{rail_type}/{id}/ Removes a bank account owned by the authenticated user. - **AR (`bank` rail):** performs a soft delete. Returns `409` (`BANK_0002`) if the account has pending movements. - **BR (`pix` rail):** disables the Pix key (soft delete). Always succeeds if the key exists. **Domain error codes** (returned inside `data.detail[]` on error): - `BANK_0002` — the account has pending movements and cannot be removed. --- **Authorization** - Requires a valid API key. # Get Own Bank Account Detail Source: https://apidocs.ripio.com/pages/wallet/banking/get_banking___get_own_bank_account_detail get /wallet/banking/accounts/{rail_type}/{id}/ Returns the detail of a specific bank account owned by the authenticated user. Use the `rail_type` path parameter to indicate the account rail: - `bank` — Argentine bank account (CBU/CVU/alias). Only available for `country = AR`. - `pix` — Brazilian Pix key. Only available for `country = BR`. Returns `404` if the account does not exist, does not belong to the authenticated user, or `rail_type` is not recognized. --- **Authorization** - Requires a valid API key. # List Own Bank Accounts Source: https://apidocs.ripio.com/pages/wallet/banking/get_banking___list_own_bank_accounts get /wallet/banking/accounts/ Returns the list of the authenticated user's own registered bank accounts. **Country restriction:** Only available for accounts with `country = AR` or `country = BR`. - **AR** — returns Argentine bank accounts (CBU, CVU, alias). Each item has `type = "bank"`. - **BR** — returns Pix keys. Each item has `type = "pix"`. Both types appear in the same `data` array; use the `type` field to distinguish them. --- **Authorization** - Requires a valid API key. # List Ripio Deposit Accounts Source: https://apidocs.ripio.com/pages/wallet/banking/get_banking___list_ripio_deposit_accounts get /wallet/banking/deposit-accounts/ Returns the list of Ripio deposit accounts (fiat funding rails) the authenticated user can use to fund their account. Each list item is a discriminated union member sharing a common core (`type`, `account_number`, `account_label`, `currency`, `deposit_constraint`) plus rail-specific fields. Discriminated by `type`, depending on the account's country: - `country = AR` → `type: "cvu"`. Deposit by CVU (Clave Virtual Uniforme). `deposit_constraint` is `null` (any valid CVU may deposit). - `country = BR` → `type: "pix"`. Deposit by Pix, with `deposit_constraint.same_holder` indicating the required holder (CPF) for the originating account. `deposit_constraint` is always present: `null` means no restriction; an object communicates a rule. Only available for accounts with country `AR` or `BR`. Returns `403` for other countries. Returns `404` if the authenticated user does not have a Ripio deposit account provisioned. In that case, contact support. --- **Authorization** - Requires a valid API key. # Register An Own Bank Account Source: https://apidocs.ripio.com/pages/wallet/banking/post_banking___register_an_own_bank_account post /wallet/banking/accounts/ Registers a bank account owned by the authenticated user. **Country restriction:** Only available for accounts with `country = AR` or `country = BR`. - **AR** — accepts a CBU (22 digits), CVU (22 digits), or alias (alphanumeric with dots). Account ownership is validated against an external service before registration. Returns `201` if the account is newly registered, `200` if it was already registered. - **BR** — accepts a Pix key: e-mail, CPF (11 digits), CNPJ (14 digits), phone in E.164 format, or EVP (UUID). Ownership is validated before registration. Returns `201` if the key is new, `200` if it already exists. **Throttling:** Maximum 5 requests per minute and 20 requests per hour per user. **Domain error codes** (returned inside `data.detail[]`): - `BANK_0001` — the account does not belong to the authenticated user. - `BANK_0002` — conflict; the operation cannot be completed. - `BANK_0003` — the external validation service is temporarily unavailable. --- **Authorization** - Requires a valid API key. # Delete External Contact Source: https://apidocs.ripio.com/pages/wallet/contacts/delete_contacts___delete_external_contact delete /wallet/contacts/{type}/{pk}/ Deletes/unlinks a contact, identified by the composite key `(type, id)` (same pattern as `banking/accounts/{rail_type}/{id}/`): the auto-incrementing IDs of the crypto/bank store and of the rp_tag store collide with each other, so `type` is required to disambiguate and is authoritative for resolving the entity. `type=crypto`/`type=bank` unlinks (soft delete) the contact from the account; `type=rp_tag` deletes the P2P contact. Returns `404` if the `id` does not exist within the store selected by `type`, including when the `id` exists but belongs to a different type (no existence leak across types). Requires the `contacts_write` permission. The account must be fully operative. --- **Authorization** - Requires a valid API key. # List External Contacts Source: https://apidocs.ripio.com/pages/wallet/contacts/get_contacts___list_external_contacts get /wallet/contacts/ Returns the authenticated user's saved contacts, cursor-paginated. `crypto` and `bank` share the same underlying store and are merged into a single feed/cursor; when `contact_type` is omitted, both are returned together. `rp_tag` (internal Ripio P2P contacts) is **excluded by default**: it is only returned when `contact_type=rp_tag` is passed explicitly, and it paginates with its own independent cursor — there is no combined feed across all three types. Requires the `contacts_read` permission. The account must be fully operative. --- **Authorization** - Requires a valid API key. # Create External Contact (crypto, Bank Or Rp_tag) Source: https://apidocs.ripio.com/pages/wallet/contacts/post_contacts___create_external_contact_(crypto,_bank_or_rp_tag) post /wallet/contacts/ Creates a new contact. The body field `type` discriminates the flow: `crypto` saves a blockchain address (`network` + `currency` codes), `bank` saves an AR/ARS banking account (`entity_number` — CBU/alias; **replaces the old `type=fiat`, which now responds `400`**), or `rp_tag` adds another Ripio account as a P2P contact by its `rp_tag` handle (auto-whitelisted on creation, same semantics as the now-deprecated legacy `rp_tag` endpoint). **Idempotent + auto-whitelist (crypto/bank):** If an equivalent crypto/bank contact already exists for this account it is returned without creating a duplicate — and if it was not yet whitelisted, it is whitelisted as part of this call. **Rate limit:** Subject to the `contacts_gateway_hour` hourly rate limit. Only write operations (POST and DELETE) count toward this limit; GET is not throttled. Requires the `contacts_write` permission. The account must be fully operative. **NOTE:** Contacts created via this endpoint are automatically whitelisted, meaning they will not require OTP for operations. For this reason it is **strongly** recommended to have a separate api key with the contacts_write permission. --- **Authorization** - Requires a valid API key. # Get Wallet Currencies Source: https://apidocs.ripio.com/pages/wallet/currencies/get_currencies___get_wallet_currencies get /wallet/currencies/ Returns the list of on-chain and fiat currencies available in the authenticated user's wallet. Each entry includes basic metadata (ticker, name, symbol, decimals, categories) and the `actions` supported for that currency, expressed in the public rail vocabulary. Results are filtered by the user's country and KYC level. Each item in `actions` describes one `transaction_type` (`deposit`, `withdrawal` or `swap`) and the `rails` that serve it for this currency. `rails` is a subset of `bank`, `pix`, `crypto`, `ripio`; `swap` has no rail and is always returned as an empty array. A currency whose internal actions have no public equivalent is returned with `actions: []` (it still appears in the list). Supports optional search by ticker or name via the `search` query parameter. --- **Authorization** - Requires a valid API key. # Health Check. Source: https://apidocs.ripio.com/pages/wallet/general endpoints/get_general_endpoints___health_check. get /wallet/health/ Simple check for authentication. No permissions required. --- **Authorization** - No API key required — this endpoint is public. # Get Networks For A Currency Source: https://apidocs.ripio.com/pages/wallet/network/get_network___get_networks_for_a_currency get /wallet/network/currency-networks/{currency}/ Returns the list of blockchain networks available for the given currency for the authenticated user. Each entry includes network metadata (code, name, images), fee information, send/receive flags, min/max amounts, and travel rule requirements. The `currency` path parameter is the currency ticker (e.g. `BTC`, `ETH`, `USDT`). Results are filtered by the user's account country and feature flags, and ordered by the network's display order. --- **Authorization** - Requires a valid API key. # Get Wallet Rates Source: https://apidocs.ripio.com/pages/wallet/rates/get_rates___get_wallet_rates get /wallet/rates/ Returns the current buy/sell exchange rates for all wallet currency pairs available to the authenticated user. Rates are filtered by the user's country and account currency. Each entry includes the currency pair ticker, buy and sell rates, and the 24h variation percentage. --- **Authorization** - Requires a valid API key. # Get A Transaction By Id Source: https://apidocs.ripio.com/pages/wallet/transactions/get_transactions___get_a_transaction_by_id get /wallet/transactions/{id}/ Returns the details of a single transaction identified by its `id`. Restricted to the gateway's rails, same as the list endpoint: requesting the `id` of a transaction outside the gateway's rails (e.g. a `BUY`/`SELL`) returns `404`, not a raw/typed payload. --- **Authorization** - Requires a valid API key. # Get Available Rails Source: https://apidocs.ripio.com/pages/wallet/transactions/get_transactions___get_available_rails get /wallet/transactions/rails/ Returns the list of available transaction types for the authenticated user, grouped by rail. Each rail entry (`bank`, `pix`, `crypto`, `ripio`) includes its available transaction types (`deposit`, `withdrawal`, `swap`) with their fees and tax information. `swap` lives under `rail: "ripio"` (RN-003). Results are filtered based on the user's account country, KYC level, and app version. Canonical path; the legacy `GET /transactions/gateways/` remains as a deprecated alias returning the same response. --- **Authorization** - Requires a valid API key. # Get Transaction Limits Source: https://apidocs.ripio.com/pages/wallet/transactions/get_transactions___get_transaction_limits get /wallet/transactions/limits/ Returns the transaction limits for the authenticated user, grouped by rail. Each entry represents a rail (`bank`, `pix`, `crypto`, `ripio`, or `null` for the account-wide global limit) with its allowed transaction types (`deposit`, `withdrawal`, `swap`) and the corresponding per-currency limits and remaining amounts for the current period. `swap` lives under `rail: "ripio"` (RN-003); `rail: null` is exclusively the account-wide global limit (RN-009). An unlimited period is returned as `null` (never the internal `-1`); `currency` is never `null` (fiat of the user, or USDT for swap). --- **Authorization** - Requires a valid API key. # List Transactions Source: https://apidocs.ripio.com/pages/wallet/transactions/get_transactions___list_transactions get /wallet/transactions/ Returns a cursor-paginated list of the authenticated user's transactions, restricted to the gateway's rails (`bank`, `pix`, `crypto`, `ripio`, plus `swap` with `rail=null`) and ordered by creation date descending. Transactions of other internal types (e.g. `BUY`, `SELL`) are not part of this contract and are excluded. Supports filtering by `rail`, `transaction_type`, `currency` and `payment_method_id`. Pagination is cursor-based: the response includes `nc` (next cursor) and `pc` (previous cursor) tokens. Pass them back as `?cursor=` to navigate pages. Tokens are opaque — do not parse or modify them. --- **Authorization** - Requires a valid API key. # Create A Cvu Bank Withdrawal Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___create_a_cvu_bank_withdrawal post /wallet/transactions/bank/withdrawal/ Initiates an ARS withdrawal to a registered CVU/CBU bank account for the authenticated user. The `gateway_data.bank_account` field must be a valid CBU, CVU or alias. **Whitelisted contacts only:** The destination bank account must be a previously whitelisted contact of the user. Use `POST /contacts/` to create and whitelist a banking contact before calling this endpoint. **Own account exception:** If the destination CVU/CBU belongs to the authenticated user (i.e., it is registered as one of their own bank accounts), whitelisting is not required. **Country restriction:** Only available for accounts with `country = AR`. --- **Authorization** - Requires a valid API key. # Create A Pix Withdrawal Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___create_a_pix_withdrawal post /wallet/transactions/pix/withdrawal/ Initiates a BRL withdrawal via PIX for the authenticated user. The `gateway_data.pix_key` field must be a valid PIX key (CPF, CNPJ, email, phone, or random key). **Whitelisted contacts only:** The destination PIX key must be a previously whitelisted contact of the user. Use `POST /contacts/` to create and whitelist a banking contact before calling this endpoint. **Own account exception:** If the destination PIX key is registered as one of the authenticated user's own PIX keys, whitelisting is not required. **Country restriction:** Only available for accounts with `country = BR`. --- **Authorization** - Requires a valid API key. # Create A Swap Promise (quote) Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___create_a_swap_promise_(quote) post /wallet/transactions/quotes/ Creates a swap promise for a currency pair. A promise is a short-lived signed quote (JWT) returned in the `uuid` field that must be sent back to `POST /transactions/swap/` to execute the swap before it expires. The swap can be fiat-to-crypto, crypto-to-fiat or crypto-to-crypto. The `amount` can be expressed either in `from_currency` or in `to_currency`, indicated by `amount_currency`. The pair must be enabled for swap for the account (currency availability and per-account rollout apply); otherwise a 409 is returned. **How to obtain the required values:** - `from_currency` / `to_currency`: enabled swap currencies for the account's country. - `amount_currency`: must equal `from_currency` or `to_currency`. - `gateway`: use `"balance"` for the balance swap. --- **Authorization** - Requires a valid API key. # Execute A Balance Swap From A Promise Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___execute_a_balance_swap_from_a_promise post /wallet/transactions/swap/ Executes a swap using a previously created promise (the `uuid` token returned by `POST /transactions/quotes/`). The swap moves the user's balance: the `from_currency` is debited and, once the underlying trade completes, the `to_currency` is credited. The transaction is created in `PRO` (processing) status and completes asynchronously. The promise must be valid (not expired, not already used) and the account must have enough `from_currency` balance. **How to obtain the required values:** - `promise`: the `uuid` field returned by create_swap_promise. --- **Authorization** - Requires a valid API key. # Reprocess A Crypto Receive Transaction By Hash Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___reprocess_a_crypto_receive_transaction_by_hash post /wallet/transactions/crypto/deposit/reprocess-hash/ Triggers a reprocess of a crypto receive transaction identified by its blockchain hash. Useful when a deposit was not automatically detected or processed. The service will re-query the blockchain for the given hash and network combination. The account must be fully operative for crypto operations. **Rate limit:** 1 request per hash per reprocess window (cache-lock throttle). Additionally subject to the hourly rate limit scope `txn_reprocess_hash_hour`. **How to obtain the required values:** - `network`: use the `GET /network/currency-networks/{currency}/` endpoint. Use the `code` field of the desired network (e.g. `"bitcoin"`, `"ethereum"`). - `currency`: ISO 4217 crypto currency code (e.g. `"BTC"`, `"ETH"`, `"USDT"`). --- **Authorization** - Requires a valid API key. # Send Balance To Another User Via Ripio_tag Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___send_balance_to_another_user_via_ripio_tag post /wallet/transactions/ripio/withdrawal/ Performs an internal balance-to-balance transfer (P2P) to another user identified by their `ripio_tag`. The transfer is instantaneous when both accounts are valid, fully operative and in the same country. No external blockchain transaction is created. **Whitelisted contacts only:** The destination `ripio_tag` must be a previously whitelisted contact of the user. Use `POST /contacts/` with `type=rp_tag` to add and whitelist an rp_tag contact before calling this endpoint. **How to obtain the required values:** - `gateway_data.to_rp_tag`: the destination user's public handle. The destination account must be fully operative and from the same country as the origin account. - `currency`: any enabled currency (crypto or fiat) supported for SEND via the balance gateway. --- **Authorization** - Requires a valid API key. # Send Crypto To An External Address Source: https://apidocs.ripio.com/pages/wallet/transactions/post_transactions___send_crypto_to_an_external_address post /wallet/transactions/crypto/withdrawal/ Initiates a crypto WITHDRAWAL transaction to an external blockchain address for the authenticated user. The `address_to` field must be a valid address for the given `currency` and `network`. **Whitelisted contacts only:** The destination address must be a previously whitelisted crypto contact of the user. Use `POST /contacts/` to create and whitelist a crypto contact before calling this endpoint. **How to obtain the required values:** - `gateway_data.network`: use the `GET /currency-networks/` endpoint. Use the `code` field of the desired network (e.g. `"bitcoin"`, `"ethereum"`, `"polygon"`). - `network_fee`: use the `GET /currency-networks/` endpoint. Use the `network_fee` field of the chosen network. --- **Authorization** - Requires a valid API key. # Authentication Source: https://apidocs.ripio.com/static/api/authentication A authentication tutorial for using the Ripio API. You can create API Credentials on: [https://app.ripio.com/profile?tab=api](https://app.ripio.com/profile?tab=api). After creating the **API Credentials**, you'll need to save in a safe place two pieces of information, an **API Token** and a **Secret Key**. The credentials are required respectively to **Authenticate** and **Sign** all Private REST Requests. **Attention**: The Secret Key can only be viewed once and cannot be retrieved later. **If you lose the Secret Key, delete the set of credentials and create a new one**. ## Headers For all private routes, these Headers are required: | Header | Description | | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Authorization** | The API key as a string. | | **Timestamp** | A timestamp in milliseconds. See the Timestamp Security section for more details. | | **Timestamp-tolerance** | An additional, non-required parameter, that you can send to specify the number of milliseconds after the timestamp for the request to be valid. See the Timestamp Security section for more details. | | **Signature** | See the Generating Signature section for more details. | ## Timestamp Security Timestamp Security is a security method to guarantee the validation of the acceptable time window, in addition to guaranteeing the uniqueness of the request **Signature**. * **All Private Requests** also require a **Header** parameter, **Timestamp**, which must be the timestamp in milliseconds of when the request was created and sent. Can be generated with `Date.now()` if you're using JavaScript, for example. * An additional parameter, **Timestamp-tolerance**, non-required, may be sent to specify the max number of milliseconds after the timestamp, that the request is valid. If Timestamp-tolerance is not sent, it defaults to **5000 (5 seconds)**. * **It is recommended to use a small Timestamp-tolerance of 5000 (5 seconds) or less. The maximum value is 60,000 (60 seconds)**. ## Generating Signature To create a signature for all Private Requests, you must **encrypt** the hash-based message using **sha256 HMAC** and encode it in **Base64**. The **message** must contain: ``` Timestamp + HTTP Method + Path + JSON Payload ``` * Not including the **'+'** sign, just concatenate the content into a string. * The **Timestamp** is the same as the one sent in the Header. * For **GET** Requests, it is necessary to consider the **PATH** without **Query Params**. For example, this route: `/withdrawals/estimate-rate/ADA?network=cardano_testnet`. Just `/withdrawals/estimate-rate` is considered. Additionally, the **BODY** is considered an empty **String**. * **JSON Payload** must be a string and must be the same as the one sent in the request **Body**. **IMPORTANT:** To prevent an invalid signature, avoid using unnecessary decimal places in the request body properties. For instance, use `1` instead of `1.0`. Alternatively, you can also send numbers as strings in the request body, ensuring they are in the same format but as strings. For example: ```json theme={null} { 'amount': '0.01', 'pair': 'BTC_BRL', 'price': '300000', 'side': 'buy', 'type': 'limit' } ``` ## Examples We provide functional examples of API authentication in multiple programming languages. You can find them in our GitHub repository: [https://github.com/ripio/api/tree/main/authentication](https://github.com/ripio/api/tree/main/authentication) # Ripio Retail API Overview Source: https://apidocs.ripio.com/static/api/overview Access Ripio's Retail API to interact with wallet data and trade digital assets programmatically. REST and WebSocket endpoints for Ripio Wallet and Ripio Trade. The **Ripio Retail API** provides a unified programmatic interface for accessing Ripio's public retail services. It exposes a set of HTTP (REST) and WebSocket (WS) endpoints that allow clients to interact with Ripio systems in a consistent and structured way. All API access is authenticated and authorized, and requests are validated at the API boundary to ensure correctness, security, and predictable behavior. The API is designed to provide stable contracts across releases. This API is intended for **retail products**. If you are looking for enterprise, CaaS (Crypto as a Service), or Ramps integrations, please refer to the [B2B documentation](https://docs.ripio.com/). ### Products This API covers two core retail products: **Ripio Wallet** — Ripio's wallet service for retail users. Use this API to access wallet data on behalf of users, including account balances and wallet information. Designed for third-party integrations that need read access to user wallet state. **Ripio Trade** — Ripio's cryptocurrency exchange platform. Use this API to manage orders, access orderbooks, retrieve real-time market data, check balances, and review transaction history. Designed for users who want to programmatically buy, sell, and trade digital assets on the exchange. ### What you can build What you can build with Ripio Retail API: * Access user wallet balances and account data (Ripio Wallet) * Manage crypto buy and sell orders programmatically (Ripio Trade) * Retrieve real-time market data, orderbooks, and ticker information * Review transaction history and wallet activity ### Where to start * Authentication * Ripio Wallet – Introduction * Ripio Trade – Introduction ### Usage * Using the service path in combination with the endpoint path will redirect the request to the desired API: ``` METHOD https://api.ripio.com/:service/:path ``` * Example: ```shell theme={null} curl -X GET https://api.ripio.com/trade/public/server-time ``` ### Response Patterns All responses share a common envelope: ```json theme={null} { "error_code": null, "message": null, "data": {}, "timestamp": 1713278400000 } ``` * `error_code` – `null` on success; an error code on failure. * `message` – `null` on success; a human-readable error description on failure. * `data` – The response payload on success; `null` or an object with additional error details on failure. * `timestamp` – Unix timestamp in milliseconds of when the response was generated. #### Single Object ```json theme={null} { "error_code": null, "message": null, "data": { "id": "...", "..." }, "timestamp": 1713278400000 } ``` #### List Some endpoints return a flat array directly in `data`: ```json theme={null} { "error_code": null, "message": null, "data": [ { "..." }, { "..." } ], "timestamp": 1713278400000 } ``` #### List (Paginated) List endpoints return the collection alongside pagination metadata inside `data`. Pagination is cursor-based — pass the cursor value as the `c` query parameter to navigate pages. ```json theme={null} { "error_code": null, "message": null, "data": { "": [...], "nc": "", "pc": "" }, "timestamp": 1713278400000 } ``` * `nc` – Cursor for the next page. `null` if there are no more results. * `pc` – Cursor for the previous page. `null` if on the first page. ### Errors ```json theme={null} { "error_code": 1001, "message": "", "data": null, "timestamp": 1713278400000 } ``` * `error_code` – An error code identifying the failure type. * `message` – A human-readable explanation to help diagnose and resolve the issue. * `data` – Usually `null`, but may contain additional details about the error (e.g. field-level validation errors). * `timestamp` – Unix timestamp in milliseconds of when the response was generated. ## FAQ ### What is Ripio Retail API? Ripio Retail API is a set of REST and WebSocket endpoints that provides programmatic access to Ripio's retail crypto services: Ripio Wallet and Ripio Trade. ### Who is Ripio Retail API for? It is designed for developers and users who want to automate interactions with their Ripio account, such as accessing wallet data or managing trades programmatically.