What is Unicity OTC Swap?
Unicity OTC Swap is a trustless, non-custodial broker service that enables secure asset exchanges between two parties across different blockchain networks. Unlike traditional exchanges, there are no liquidity pools, order books, or third-party custody—just a direct peer-to-peer swap facilitated by smart escrow mechanisms.
How It Works
The service operates with two parties:
- Seller A (Asset A Seller): Wants to sell Asset A and receive Asset B
- Seller B (Asset B Seller): Wants to sell Asset B and receive Asset A
Both parties deposit their assets into secure escrow addresses. Once both deposits are confirmed, the broker atomically swaps the assets, ensuring neither party can lose funds without receiving their expected assets.
Why Use Unicity OTC Swap?
- Trustless: No need to trust a counterparty or exchange
- Non-custodial: You maintain control until the swap executes
- Cross-chain: Swap assets across different blockchains (ETH, Polygon, Unicity, etc.)
- Transparent: Track deal status in real-time
- Fair pricing: You set your own exchange rates
Always verify deposit addresses before sending funds. The service generates unique escrow addresses for each deal. Double-check you're using the correct address provided on your personal tracking page.
Seller A's Guide: Asset A Seller
As Seller A, you're initiating or participating in a deal where you'll sell Asset A and receive Asset B. Follow these steps:
Step 1: Create or Receive a Deal
Option A: Create a new deal
- Visit the Create Deal page
- Select your asset (Asset A) - chain, asset type, and amount
- Select Seller B's asset (Asset B) - chain, asset type, and amount
- Set the timeout period (typically 30-60 minutes)
- Click "Create Deal"
- Save your personal tracking link (Asset A Seller Link)
Option B: Receive an invitation
- Seller B creates the deal and shares the Asset A Seller link with you
- Open your personal tracking link
Bookmark your personal tracking link immediately! This is your portal to monitor and interact with the deal. The link contains a secure token unique to your role.
Step 2: Fill in Your Details
- Open your personal tracking page (Asset A Seller Link)
- Enter your receiving address for Asset B (where you want to receive the swapped asset)
- Optionally enter your email for status notifications
- Click "Submit Details"
Double-check your receiving address! This is where Asset B will be sent after the swap. If you provide an incorrect address, you may lose your swapped assets permanently.
Step 3: Wait for Seller B to Submit Details
The deal remains in CREATED state until Seller B also submits their details. Once both parties have submitted:
- Deal moves to COLLECTION state
- Countdown timer starts (e.g., 30 minutes)
- Escrow deposit address is revealed
Step 4: Send Your Deposit
Once in COLLECTION state:
- Copy the escrow deposit address shown on your tracking page
- Send EXACTLY the specified amount of Asset A to this address
- Send in a single transaction (don't split into multiple sends)
- Wait for blockchain confirmations
Different chains require different confirmation counts:
- Ethereum: 3 confirmations (~45 seconds)
- Polygon: 64 confirmations (~2-3 minutes)
- Unicity: 6 confirmations (~1 minute)
Step 5: Wait for Confirmations
After both you and Seller B deposit funds:
- Deal moves to WAITING state
- Countdown timer suspends (you won't lose time during confirmations)
- System waits for required blockchain confirmations on both deposits
- Your tracking page shows confirmation progress
Step 6: Automatic Swap Execution
Once both deposits reach required confirmations:
- Deal moves to SWAP state
- Countdown timer is removed permanently
- Broker executes the swap automatically
- Asset B is sent to your receiving address
- Asset A is sent to Seller B's receiving address
Step 7: Receive Your Assets
- Deal moves to CLOSED state
- Check your wallet for the received Asset B
- Transaction hashes are displayed on your tracking page
- The swap is complete!
Congratulations! You've successfully completed a cross-chain OTC swap. Your Asset B should now be in your wallet.
What If Something Goes Wrong?
If the deal times out or encounters issues:
- Deal moves to REVERTED state
- Your deposit is automatically refunded to your receiving address
- Check the "Refund Status" section on your tracking page
Seller B's Guide: Asset B Seller
As Seller B, you're participating in a deal where you'll sell Asset B and receive Asset A. Your process is similar to Seller A's:
Step 1: Create or Receive a Deal
Option A: Create a new deal
- Visit the Create Deal page
- Select Seller A's asset (Asset A) - chain, asset type, and amount
- Select your asset (Asset B) - chain, asset type, and amount
- Set the timeout period
- Click "Create Deal"
- Save your personal tracking link (Asset B Seller Link)
Option B: Receive an invitation
- Seller A creates the deal and shares the Asset B Seller link with you
- Open your personal tracking link
Step 2: Fill in Your Details
- Open your personal tracking page (Asset B Seller Link)
- Enter your receiving address for Asset A (where you want to receive the swapped asset)
- Optionally enter your email for notifications
- Click "Submit Details"
Ensure your receiving address is correct for the Asset A chain. Cross-chain addresses are different (e.g., Ethereum addresses differ from Unicity addresses).
Step 3: Wait for Seller A to Submit Details
Once both parties submit details, the deal moves to COLLECTION and the countdown begins.
Step 4: Send Your Deposit
- Copy the escrow deposit address from your tracking page
- Send EXACTLY the specified amount of Asset B
- Use a single transaction
- Wait for confirmations
Step 5-7: Confirmation, Swap, and Completion
The remaining steps are identical to Seller A's process:
- WAITING: Confirmations in progress
- SWAP: Broker executing swap
- CLOSED: Asset A received!
If you're receiving the deal link from Seller A, verify the amounts are correct before submitting your details. Once you deposit funds, the exchange rate is locked.
Understanding Deal States
Every deal progresses through a series of states. Understanding these states helps you track progress and know what to expect:
| State | Description | What Happens |
|---|---|---|
| CREATED | Deal initialized | Waiting for both Seller A and Seller B to submit their receiving addresses and details |
| COLLECTION | Collecting deposits | Countdown timer active. Waiting for both parties to deposit funds to escrow addresses |
| WAITING | Awaiting confirmations | Funds received. Timer suspended. Waiting for blockchain confirmations before executing swap |
| SWAP | Executing swap | Timer removed permanently. Broker is transferring assets. This cannot timeout |
| CLOSED | Successfully completed | Swap complete! Both parties have received their assets |
| REVERTED | Deal cancelled/timeout | Deal failed or timed out. Deposits are automatically refunded to parties |
State Transition Flow
CREATED
(Both parties submit details)
COLLECTION
(Both parties deposit funds)
WAITING
(Confirmations complete)
SWAP
(Transfers complete)
CLOSED
Note: Any state can move to REVERTED if timeout occurs or issues arise
- CREATED & COLLECTION: Timer counts down. If it reaches zero, deal reverts
- WAITING: Timer suspends. You don't lose time during confirmations
- SWAP: Timer removed permanently. Swap will complete regardless of time
Expected Timeline
Here's what to expect for timing during each stage of a typical deal:
Deal Creation (Instant)
- Creating a deal: <1 second
- Submitting party details: <1 second
Collection Phase (User-dependent)
- Depends on when both parties deposit
- Typical timeout setting: 30-60 minutes
- Best practice: Deposit as soon as deal enters COLLECTION
Confirmation Phase (Blockchain-dependent)
- Ethereum: 3 confirmations (approximately 45 seconds)
- Polygon: 64 confirmations (approximately 2-3 minutes)
- Unicity: 6 confirmations (approximately 1 minute)
- Solana: 32 confirmations (approximately 20 seconds)
Swap Execution (2-5 minutes)
- Transaction construction: ~30 seconds
- Broadcasting both transfers: ~30 seconds
- Waiting for transfer confirmations: 1-4 minutes
Total Typical Duration
5-15 minutes from both deposits being sent to final asset receipt (assuming both parties deposit promptly)
Always set your timeout period with enough buffer. Recommended minimums:
- Fast swaps: 30 minutes (for active participants)
- Standard swaps: 60 minutes (recommended default)
- Large amounts: 90-120 minutes (extra caution time)
Security & Best Practices
How Your Funds Are Protected
1. Non-Custodial Design
The broker never takes custody of your funds in a way where they could be stolen:
- Escrow addresses are generated deterministically using HD wallets
- The broker can only execute the swap according to the deal terms
- If the deal fails, refunds are automatic and mandatory
2. Atomic Swap Guarantee
Once both deposits are confirmed and locked:
- The swap will execute atomically (both transfers or neither)
- Neither party can cancel or withdraw during SWAP state
- Even if one transfer fails, it will be retried automatically
3. Reorg Protection
The system protects against blockchain reorganizations:
- Confirmations are set above typical reorg depths
- If a reorg invalidates deposits, deal reverts to COLLECTION
- Timer resumes to give parties time to re-deposit
Best Practices
- Verify deposit addresses: Always copy from your tracking page, never from external sources
- Double-check receiving addresses: One typo could mean permanent loss of funds
- Use exact amounts: Send precisely the amount shown. Extra funds may not be credited correctly
- Single transaction: Don't split deposits into multiple sends
- Bookmark your tracking link: You'll need it to monitor the deal
- Don't share your tracking token: Each link contains a secret token. Don't post it publicly
- Test with small amounts first: If you're new, try a small swap before large amounts
- Verify chain compatibility: Ensure your wallet supports the chains involved
What Could Go Wrong?
| Issue | Prevention | Resolution |
|---|---|---|
| Wrong deposit address | Always copy from tracking page | Funds may be unrecoverable; contact support |
| Wrong receiving address | Double-check before submitting | Cannot be changed after submission |
| Incorrect deposit amount | Send exact amount shown | May trigger refund if insufficient |
| Deal timeout | Deposit promptly, use adequate timeout | Automatic refund to receiving address |
| Blockchain congestion | Use higher gas, set longer timeout | Wait for confirmations or deal reverts |
Frequently Asked Questions
General Questions
Q: What chains are supported?
A: Currently supported chains include:
- Unicity PoW (mandatory - at least one side must be Unicity)
- Ethereum (Mainnet and Sepolia testnet)
- Polygon
- Base
- Additional chains can be added by the operator
Q: What's the minimum/maximum swap amount?
A: Limits depend on the specific deployment configuration. Check the deal creation page for current limits. Production deployments typically enforce reasonable minimums to ensure swaps are economically viable after gas costs.
Q: Can I cancel a deal?
A: Not directly once you've deposited, but:
- In CREATED state: Simply don't proceed (no funds involved)
- In COLLECTION state: Wait for timeout and receive automatic refund
- In WAITING/SWAP states: Cannot cancel (funds are locked for swap)
- In REVERTED state: Refund is automatic
Q: What happens if only I deposit?
A: If the other party doesn't deposit before timeout:
- Deal enters REVERTED state
- Your deposit is automatically refunded to your receiving address
Q: Can I do multiple swaps simultaneously?
A: Yes! Each deal is independent. You can participate in multiple deals at the same time, each with its own tracking link.
Technical Questions
Q: What if there's a blockchain reorg?
A: The system handles reorgs gracefully:
- If a reorg happens before locking: Deal reverts from WAITING back to COLLECTION
- Timer resumes to give parties time to re-deposit
- After locking: Reorgs are extremely unlikely due to confirmation depths
Q: What are "confirmations"?
A: Confirmations are the number of blocks added after your transaction block. More confirmations = more security against reorgs. Each chain has different confirmation requirements based on its security model.
Q: Why did my transaction fail with "insufficient gas"?
A: For EVM chains, you need native currency for gas:
- Sending ETH on Ethereum: Need extra ETH for gas
- Sending USDT on Polygon: Need MATIC for gas
- The escrow address may be funded with gas automatically (depends on configuration)
Q: What is the "tank wallet"?
A: Some deployments use a "tank wallet" to automatically fund escrow addresses with gas for EVM chains. This is transparent to users—if enabled, the operator's tank pays for your gas and gets refunded after successful swaps.
Troubleshooting Questions
Q: My deposit isn't showing up. What do I do?
A: Check the following:
- Verify transaction was confirmed on-chain (use block explorer)
- Ensure you sent to the correct escrow address
- Confirm you sent the exact amount required
- Wait for required confirmations (shown on tracking page)
- If still not showing after confirmations, contact support with transaction hash
Q: The countdown timer hit zero. What happens?
A: Deal enters REVERTED state:
- All deposits are automatically refunded
- Check "Refund Status" section on your tracking page
- Refunds go to the receiving address you specified
Q: Can I get help with a stuck deal?
A: Yes! Contact support with:
- Your deal ID (shown on tracking page)
- Current deal state
- Your role (Seller A or Seller B)
- Description of the issue
- Transaction hashes if applicable
Troubleshooting Common Issues
Issue: Can't Access My Tracking Page
Symptoms: Lost my tracking link or it doesn't work
Solutions:
- Check browser history for the tracking URL
- Search email for invitation with the link
- If you know the deal ID and your token, reconstruct URL:
/d/{dealId}/a/{token}or/d/{dealId}/b/{token} - Contact support with any deal information you have
Issue: "Submit Details" Button Doesn't Work
Symptoms: Button is disabled or nothing happens when clicked
Solutions:
- Ensure you've filled in a valid receiving address for your chain
- Check browser console for errors (F12 then Console tab)
- Try a different browser
- Verify you have internet connectivity
- Wait a few seconds and try again (might be a temporary network issue)
Issue: Sent Wrong Amount
Symptoms: Deposited more or less than required amount
Solutions:
- Less than required: Deal will likely timeout and refund
- More than required: Excess is treated as surplus and may be used for commission or refunded
- Prevention: Always send EXACTLY the amount shown
- Contact support with transaction hash for assistance
Issue: Transaction Not Confirming
Symptoms: My transaction is stuck "pending"
Solutions:
- Low gas price: For EVM chains, you can speed up the transaction by replacing it with higher gas
- Network congestion: Wait for congestion to clear
- Check block explorer: Verify transaction was actually broadcast
- If deal times out before confirmation, you'll receive a refund
Issue: Deal Shows REVERTED
Symptoms: Deal state changed to REVERTED unexpectedly
Reasons:
- Countdown timer reached zero before both parties deposited
- One party deposited insufficient amount
- Blockchain reorg invalidated deposits and timeout occurred
Resolution:
- Check "Refund Status" section on tracking page
- Your deposit will be refunded automatically to your receiving address
- Wait for refund confirmation (usually within minutes)
- If refund doesn't arrive, contact support with deal ID
Issue: Refund Not Received
Symptoms: Deal reverted but refund hasn't arrived
Solutions:
- Check your receiving address in a block explorer
- Verify you submitted the correct receiving address initially
- Wait for network confirmations (may take a few minutes)
- Check tracking page for refund transaction hash
- If no refund after 30 minutes, contact support urgently
Issue: Swap Completed but Asset Not in Wallet
Symptoms: Deal shows CLOSED but I don't see my asset
Solutions:
- Token not added to wallet: For ERC-20/SPL tokens, you may need to manually add the token contract to your wallet
- Check block explorer: Verify the transfer transaction was confirmed
- Wrong wallet: Ensure you're checking the wallet with the receiving address you provided
- Wallet sync issue: Try refreshing your wallet or switching networks
- Copy the payout transaction hash from tracking page and look it up on block explorer
When to Contact Support
- Funds haven't arrived 30+ minutes after CLOSED state
- Refund hasn't arrived 30+ minutes after REVERTED state
- You sent funds to the wrong address
- The tracking page shows errors or unexpected behavior
- You suspect any security issue with your deal
Get Support
Need help? We're here to assist you with any issues or questions about your OTC swap.
Before Contacting Support
- Check the FAQ and Troubleshooting sections above
- Gather relevant information:
- Your deal ID
- Your role (Seller A or Seller B)
- Current deal state
- Transaction hashes (if applicable)
- Screenshots of any errors
- Check your tracking page for status updates
Contact Information
Contact the operator of this Unicity OTC Swap service instance for assistance. Support contact information is typically provided by your service operator.
When contacting support, include your deal ID and a clear description of your issue.
Response Times
- Critical issues (missing funds, security concerns): Within 1-2 hours
- High priority (deal stuck, timeout concerns): Within 4-6 hours
- General questions (how-to, clarifications): Within 24 hours
Most issues can be resolved by:
- Checking your tracking page for real-time status
- Verifying transactions on block explorers
- Reviewing this guide's FAQ and troubleshooting sections
- Waiting for blockchain confirmations (be patient!)