You still hold the asset and nothing has been sold yet. The result is unrealised and moves with the price.
Trades · Trading journal
Every trade. Every entry. The whole story.
Bring the trading history UnifyTrade can read from your connected platforms into one journal, and keep the life of a position understandable across entries, DCA, partial exits and your own review.
Read-only connections. Nothing here can place an order.
- 09:41:02 Buy 0.0421 ETH
- 09:41:03 Buy 1.6669 ETH
- 11:02:55 Buy 1.2000 ETH
- 13:24:10 Sell 0.9000 ETH
- 15:40:31 Buy 1.1000 ETH
- 16:58:02 Buy 0.6200 ETH
- 17:21:47 Sell 0.2000 ETH
- 18:03:12 Buy 2.0000 ETH
- 18:44:09 Sell 0.4000 ETH
From the connected accounts, as far back as each venue allows.
Open, partially closed and closed, each with its own arithmetic.
Subtracted from the trade that paid them, once.
The journal arrives filled in. What you add is the review.
From a fill to a trade you can read
In a spreadsheet, the pipeline is you
Four things happen between an execution on the exchange and a trade worth reading back. UnifyTrade does three of them. The one it leaves is the one a machine has no way to do.
Read, not typed
The exchange already wrote it down
A read-only key, added once. Every fill arrives with its own price, its own quantity and its own fee, at the second it happened — while the position is still open.
In a spreadsheet: one buy becomes one row, at the price you remember, and the fee column stays a question mark.
Nine fills, one morning one position
Rebuilt, not averaged by hand
Nine fills fold into one position
Buys and sells of the same asset on the same account are stitched into one cycle: the real average entry, the break-even that includes fees, and the quantity still held. Sell a third of it and the position stays open.
In a spreadsheet: a partial exit has nowhere to go. Either the row is closed early, or it stays open and what is left is forgotten.
All Trades
Every position from every connected account in one list: spot, futures and shares together, each with the market it was taken on, the strategy you gave it and where its result stands. Filter it, search it, or open a row to see the executions the position was built from.
Partially Closed
The view a spreadsheet has no room for: positions where part of the quantity is sold and part is still running. Realised and unrealised stay apart, the average cost follows what is left, and the position becomes a win or a loss only once the last of it is gone.
Campaigns
A plan that runs across many buys, read as one idea instead of thirty rows: capital put in, average cost, quantity still held, and every entry that built it. The positions stay individually readable — a campaign groups them, it does not merge them.
Open
Everything still held, priced at the last sync: what it cost, what it is worth now and the unrealised difference between the two. None of it counts towards win rate or profit factor, because none of it is settled yet.
Closed
Finished cycles, and the only ones the statistics count: average entry and exit, hold time, fees, and the final result in money and in percent — beside the strategy, the mindset and the tags added at review.
Stocks
Shares sit in the same journal as the rest and are never merged with a crypto ticker that happens to share their name. Same position logic, same review, quantities in shares and the result in your display currency.
Yours, in two taps
The automation stops where you begin
Prices, quantities and fees are already in. What is left is the part only you were there for: the strategy you were following, and how you held it. Two taps and Save, and it stays on the position through every later sync.
In a spreadsheet: a free-text column, filled in on the good days and empty on the ones worth reading.
Strategy
How was it held? Two taps
Notes
Entered on the retest, added once. Took a third off at the target and let the rest run.
Price, fees and quantity are already filled in from the exchange. Save
Kept, day after day
A year of it becomes a calendar you can read
The same few seconds, repeated, turn into something a list of rows never gives back: the shape of a month, and what the mindset you tagged was worth in money.
In a spreadsheet: rows, and a pivot table rebuilt by hand every time you want to look.
- Month P&L
- +38,914.20
- Days traded
- 19 / 30
- Best mindset
- Patience +21,480
- Costliest mindset
- Revenge Trading −4,106
A spreadsheet, beside it
Eight things a spreadsheet cannot do for you
Not because the file is badly made — most traders' files are careful work. Because each of these needs arithmetic redone every time something changes, and nobody has an evening a week for that.
A spreadsheet has two real advantages this page will not pretend away: it is free, and it is entirely yours. Everything above is about arithmetic and time, not about the file being wrong.
Positions
A position, not a row per order
Buys and sells of the same asset on the same account are grouped into one position with one average entry, one quantity and one result. Each position says which of three states it is in.
Some of it has been sold and some is still held. Selling part of a position does not close it — the realised and the unrealised parts stay separate.
Nothing is left. The result is settled, and only then does the position count as a win or a loss in your statistics.
Buying over months
Eight buys, two exits, one position you can still read
After eight or ten entries spread over a year, few people remember how many times they bought, what the average became, or how much is left. The journal keeps the order of events, so you do not have to.
Buy 8 Sell 2 Average cost of what is still held 58,412.00
Adding to a position is neither good nor bad here. UnifyTrade records what happened and leaves the judgement to you.
Journey
Open a position you have held for months and read it in seconds
Every asset has a Journey: each round trip you have had in it, with what went in, what came out, what is still held and how long it has been held.
Average cost, entries and exits, invested, remaining quantity, realised and unrealised result, and how long the position has run — per cycle, and across the asset’s whole history with you.
Partial exits
Selling part of a position keeps the rest readable
When you sell into strength, the position is not finished. UnifyTrade shows how much left, what it realised, and what the remaining quantity is still worth — as three separate numbers, never one blended figure.
- Held before
- 59.00 SOL
- Sold
- 11.00 SOL
- Share of the position
- 18.64%
- Still held
- 48.00 SOL
A partial sell contributes its realised result immediately. The position becomes a win or a loss in your statistics only once it is fully closed.
Campaigns
Group a longer idea into one campaign
Some positions are one trade. Others are a plan you run for months across many buys. A campaign groups those entries so you can read the idea as a whole.
Entries, capital put in, average cost and what is still held — for the campaign, not just for each buy.
Your own context
The part the exchange never had
An execution says what happened. Only you can say why. Every position takes a strategy, a category, whether you followed your plan, how you felt, an exit reason, tags and notes.
Entered on the retest, added once. Took a third off at the target and let the rest run.
Reviewed trades feed Psychology
Once a trade carries a strategy, a mindset tag and whether the plan was followed, the Psychology page can look across all of them and show how those choices lined up with results.
Counting and grouping what you recorded. No model is guessing at your state of mind.
See the analyticsFinding it again
Find a trade from two years ago in one search
Search a ticker, a strategy, a tag or a note, then narrow by status, market, exchange, account, category, style, mindset, exit reason or date — including a custom range.
- Positions found
- 17
- Taken while hesitating
- −6,240.10
- Same setup, taken with patience
- +31,402.00
Every partially closed spot position on one exchange, this month, tagged breakout: that is four filters, and the list is the answer.
Evidence
The position on top, the fills underneath
One order can be filled in many pieces at different prices. UnifyTrade keeps every execution and shows you the position built from them — open the executions whenever you want to check the arithmetic.
Where each row came from
Rows read from an exchange, rows you added by hand and quantity that arrived by transfer are marked as what they are, so you always know which is which.
History imported from an exchange is never rewritten. A correction you make is recorded as yours.
Transfers
Moving coins between your accounts is not a new investment
Send an asset from one connected account to another and the naive reading is a sale on one side and a purchase on the other. UnifyTrade matches the two sides where the evidence supports it, and the cost follows the coins.
Matched from the withdrawal and deposit records of your own accounts. Where the evidence does not support a match, the arrival is marked as having no known cost rather than being guessed at.
Getting your history in
One journal, whichever venues you trade on
21 platforms connect by read-only API and 2 read a public wallet address. Not every method is available on every venue — the directory says exactly which.
Read-only API
Connect an exchange with keys that can only read. Later syncs pick up where the last one finished instead of walking history that has not changed.
Exchange export
Upload an .xlsx or .csv export into an account you have already connected. You see what is new before anything is written, and rows already stored are skipped.
By hand
Add a trade the API never saw, or correct a position yourself. Imported executions stay exactly as they arrived.
Counted from the connectors themselves. Shares are kept separate from crypto, so a ticker that exists in both is never one position.
Historical coverage
Your API is connected. But is your history complete?
A successful sync proves the key works. It does not prove your whole past arrived: some exchanges keep only a few months of fills, some answer only per trading pair, and a first import walks back a chosen distance and stops.
So UnifyTrade never infers completeness from success. It reads the history it actually received, names the gap in dates when one is provable, and says “coverage unknown” rather than “complete” when it cannot tell. Each card above carries what its connector declares about its own reach, per market.
Bringing the old file with you
Your spreadsheet is a starting point, not something to abandon
Years of rows do not have to be retyped, and they do not have to be thrown away either. Three steps, and the file becomes positions.
-
Connect what still exists
A read-only key on each venue you still use. Whatever the API can reach arrives on its own, with its fills, its fees and its dates, and it is the part you will never have to maintain again.
-
Upload the file for the rest
An .xlsx or .csv export — the exchange's own, or the sheet you have been keeping — goes into an account you have already connected. You see what is new before anything is written, and a row already stored is skipped rather than duplicated.
Accepts .xlsx.csv
-
Type only what nothing else saw
The OTC fill, the private sale, the venue nobody connects to. Added by hand, marked as added by hand, and from then on it behaves like every other position in the journal.
Imported executions are never rewritten afterwards. A correction you make is recorded as yours, beside what arrived, rather than replacing it quietly.
Mentor access
Let someone look, without handing over your account.
Sending screenshots is how most people share their trading, and it shows the good week. This shows the real pages — the ones you use — to one person, for the pages you pick, until the date you set.
Knowing who you are gets nobody in
Access is deny-by-default and belongs to a specific grant. Your email, your user id, your public portfolio link — none of them is a way in. Without a grant there is nothing to open.
The invitation itself expires
An unaccepted invitation lapses after a week, so a link that sat in an old inbox is not a door left open.
Read only
Read-only by construction. There is no path by which a mentor can change anything of yours.
Keeping it
What UnifyTrade keeps, said plainly
Three sentences, so nothing here is a promise the product cannot keep.
What is imported stays in your journal
Once history has been imported, it is yours to read in UnifyTrade under your account — you do not have to reconstruct it from an exchange interface again.
What was never imported is not there
How far back a platform lets an account read varies by venue and by endpoint. UnifyTrade imports what it can retrieve. It cannot recover history that was never available to it.
Read-only, by design
Where an API key is used, UnifyTrade asks for read access only. It does not need permission to trade or to withdraw, and never places an order.
Before you connect anything
The questions people actually ask
Can UnifyTrade place a trade or move my funds?
No. A connection is made with a read-only key, and there is no code in the product that places, amends or cancels an order, and none that transfers or withdraws anything. A key that carries trading rights is refused when you add it rather than accepted with a warning.
How far back will my history go?
As far as each venue lets an account read, which differs by exchange and even by endpoint — the table on this page names what each connector declares about its own reach. What is imported stays in the journal afterwards; what a venue never exposed cannot be recovered, and nothing here pretends otherwise.
Does it read futures, or only spot?
Both, on the venues where a connector reads them, and shares on the venues that offer them. Futures are kept apart from spot rather than merged into one position, and the Integrations directory says market by market which venue UnifyTrade can actually read.
I have years in a spreadsheet. Can I bring it?
Yes. An .xlsx or .csv export goes into an account you have already connected, you see what is new before anything is written, and rows already stored are skipped instead of duplicated. It becomes positions on the way in, not a second table sitting beside the first.
Where do my API keys live, and who can see them?
Encrypted with AES-256-GCM, in a file of their own, and no route anywhere hands one back — not to you, and not to an administrator, who sees only whether a connection is configured. When a key has to change you enter the new one; there is no flow that reveals the old.
My exchange is not in the list. Then what?
Then it is an import rather than a connection: upload the venue's own export, or add the trades by hand. The Integrations directory marks what is readable by API, what is wallet-only and what is not integrated yet, in those words rather than in a promise.
I hold shares as well as crypto. One journal or two?
One. Shares are read from the brokers that expose them and kept in the same journal, with the same position logic and the same review. They are never merged with a crypto ticker that happens to share their name, so a symbol that exists in both markets is never one position.
What does it cost, and what happens to my data if I leave?
The beta is free, and the Pricing page is where any change to that is stated rather than buried here. Your journal exports to one JSON file — executions, journal entries, categories, connections without their secrets and preferences — so leaving means taking it with you, not losing it.
Four things that cannot happen
- No order is ever placedThere is no order path in the codebase
- No funds are ever movedNo transfer or withdrawal call exists
- No seed phrase is ever asked forThere is nowhere to put one
- No stored secret is ever returnedNot to you, not to an administrator
Bring your trading history together
Connect a platform, import an export, or add a position by hand. The journal starts with the first thing you put in it.