Fin provides payment infrastructure that lets platforms accept crypto deposits from multiple sources — exchange wallets, external wallets, and more — with built-in fee handling, token conversion, and multi-chain delivery. Three APIs power the entire flow: Quote Estimation, Create Order, and Get Payment Details.Documentation Index
Fetch the complete documentation index at: https://developer.fin.com/llms.txt
Use this file to discover all available pages before exploring further.
Payment Sources
Fin currently supports three deposit sources, with more on the way.| Source | How It Works | Status |
|---|---|---|
| Bybit Pay | User scans a QR code from their Bybit account. Funds are deducted and routed through Fin to the destination wallet. | Live |
| Kraken Pay | User pays from their Kraken account. Same flow as Bybit Pay — funds route through Fin to the destination. | Integrating |
| External Wallet | User sends from any wallet — exchange, dApp, hardware, mobile. Fin receives the deposit, deducts a fee, and forwards to the destination wallet. | Live |
| Clipper | Additional exchange payment source. | Coming Soon |
Use Cases
1. Prediction Market Deposits
A prediction market platform wants to let users deposit funds directly from their exchange accounts or external wallets. What the user does:- Opens the deposit flow on the platform
- Selects Bybit Pay, Kraken Pay, or pays from an external wallet
- Confirms the transaction
- Platform calls the Quote Estimation API to get the conversion rate and fees for the deposit amount.
- User confirms. Platform calls the Create Order API to initiate the transaction.
- For exchange pay (Bybit/Kraken): user scans a QR code to authorize payment from their exchange account. For external wallets: user sends to a provided deposit address.
- Fin receives the funds, deducts the platform fee, and credits the destination wallet.
- Platform calls Get Payment Details API to confirm settlement and update the user’s balance.
- Pay with USDC → receive USDC on Solana, Base, or Ethereum
- Pay with USDC → receive USDC on Polygon
- Additional tokens and chains can be added based on platform requirements
2. Multi-Chain Wallet Top-Ups
A platform wants to let users top up their account balance with a range of tokens across different chains. What the user does:- Initiates a deposit on the platform
- Chooses their preferred token and payment method
- Sends funds from any external wallet
- Quote Estimation API returns the rate, fee, and expected delivery amount for the selected token pair.
- Create Order API generates the deposit address or QR code.
- User sends funds. Fin receives the deposit, handles any conversion, deducts the fee, and delivers to the destination wallet.
- Get Payment Details API confirms the transaction status.
- Bitcoin on the Bitcoin network
- ETH on Ethereum
- USDT on Tron
- USDC on Solana, Base, Ethereum
3. Cross-Token Deposits
A platform accepts a specific token (e.g., PYUSD), but users hold a different token (e.g., USDT on Bybit). What the user does:- Initiates a deposit
- Pays with USDT from Bybit Pay
- Receives PYUSD in their platform wallet
- Quote Estimation API returns the USDT → PYUSD conversion rate and fees.
- Create Order API initiates the order and generates the Bybit Pay QR code.
- User scans the QR code. USDT is deducted from their Bybit Pay account.
- Fin converts USDT to PYUSD, deducts the fee, and deposits PYUSD into the user’s platform wallet.
- Get Payment Details API confirms delivery.
API Overview
| API | Purpose |
|---|---|
| Quote Estimation | Returns the conversion rate, fees, and estimated delivery amount for a given token pair and amount. |
| Create Order | Initiates the deposit transaction. Returns a QR code (for exchange pay) or a deposit address (for external wallets). |
| Get Payment Details | Returns the current status of an order — pending, completed, or failed — along with transaction details. |
Supported Assets
| Token | Chains |
|---|---|
| USDC | Solana, Base, Ethereum, Polygon |
| USDT | Tron |
| ETH | Ethereum |
| BTC | Bitcoin |
| PYUSD | Solana |
How Fees Work
Fin deducts a platform-defined fee from each transaction before delivering funds to the destination wallet. The fee is surfaced to the user upfront via the Quote Estimation API — no hidden costs.Integration Flow for receiving payments
Flow of APIs for Crypto transfer to external wallets:

Step 1: Get crypto wallets for a given customer
- Call the Get Customer Details API to get the wallet addresses assigned to the customer along with their balances.
- Fin provisions wallets for the following chains: Polygon, Ethereum, and Solana. (Save wallet IDs to use in quote later)
- You will receive crypto in these wallets from the external sources.
Step 2: Create an external crypto wallet to withdraw crypto from Fin wallets
- Call the Create beneficiary V3 endpoint with the fields required for external crypto. (Save beneficiary ID to use in quote later)
- Follow the exact payload structure given in the request example.
- Monitor webhook for beneficiary approval (beneficiary.created, beneficiary.status). It’s almost instant.
- You can check beneficiary details using Fetch beneficiary details V2
Step 3: Monitor crypto deposit in the Fin issues wallet
- Webhook event to monitor:
transaction.status- TransactionType:
CRYPTO_DEPOSIT - Status:
FUND_RECEIVED
- TransactionType:
Step 4: Create a quote to get a quote estimation
- Call the Create quote with
beneficiary_idandcrypto_wallet_id. - You will get a quote estimation and expiry time
Step 5: Execute the quote before it expires
- Call Execute quote with the
quote_idfrom the former response
Step 6: Monitor the webhook for withdrawal confirmation
- Webhook event to monitor:
transaction.status- TransactionType:
CRYPTO_WITHDRAWAL - Status:
FUND_REQUEST_SUCCESS
- TransactionType:
