Trident Markets
OverviewDisclosures

Your first trade

This is the long version, written for someone who has never used an off-book Bitcoin desk. The videos are built from the real screens, in the order you meet them. Read it once before you bind a wallet. The short legal rules are in the disclosures, the user agreement, the privacy policy, and the arbitration process. If this page and those pages ever disagree, those pages govern.

First trade overview

Watch the first trade in nine screens: account, wallet, identity, quote, accept. Three rules run through it. Your key stays in your wallet, the tape is not a fill, and a quote lasts thirty seconds.

What this desk is, and what it is not

Trident matches a large Bitcoin order with another client without putting that size on a public order book. Settlement is a Bitcoin 2-of-3 script issued by HodlHodl. Trident is not a bank, does not hold your coins, does not hold your dollar wire, and is not a key in the script. The third key belongs to HodlHodl as independent arbitrator.

Three sentences worth memorising:

  • Your private key never comes to this website.
  • Your counterparty sees a hash, not your name. Trident and Zyphe can still identify you.
  • A quote lasts thirty seconds. A price on the tape is not a fill.

Screen 1 — Home

Start with Open an account. The tape at the bottom is a public reference price. It is not this desk’s book, and it is not a fill.

The path, in order

  1. Create an account and sign in.
  2. Bind the Bitcoin wallet that will fund settlement, and its compressed public key.
  3. Complete identity verification with Zyphe.
  4. Pass the residency screen and receive an access token.
  5. Request a firm quote, then accept it before it expires.
  6. Fund the HodlHodl 2-of-3 from your own wallet. Pay the dollar leg by wire, not to Trident.
  7. Co-sign the release with your own key software. Two of three signatures spend the coins.

Skip a step and the next one refuses you. A missing wallet blocks identity. A missing or revoked access token blocks a quote. A quote in Ether, Tether, or dollars is refused before any script exists. Only Bitcoin against a dollar wire settles.

The short videos in each section follow the screens in order, numbered one to nine. Those numbers count screens, not the sections of this page.

1. Registration

Open an account with email and a password, or with Google or X through the sign-in broker. Do this yourself. One natural person, or one legal entity, per account. Do not share the login, sell the account, or let someone else trade in your name.

Screen 2 — Create an account

Enter your name, an email you control, and a password, then Create account. Google or X opens the same account, not a second one. One person or entity per account.

What to have ready

  • An email inbox you control.
  • A Bitcoin wallet whose seed you wrote down offline. UniSat, OKX, Xverse, Leather, or WalletConnect are the usual paths. A manual address is allowed if you can also supply the compressed settlement public key.
  • The country where you actually reside, as two letters (for example US).
  • A way to pay a dollar wire later, from an account in your own name. Trident never receives that wire.

What “sign in” does

Sign-in proves the browser is you. On the live preview, sign-in may finish in a popup and hand this site a session token. That token is a login credential. It is not Bitcoin, and it is not the access token described later. Sign out from the account menu when you are done on a shared machine. Signing out does not move coins and does not cancel a funded escrow.

2. Account management

After sign-in you have a profile: email, wallet fields, residency, and a KYC status (unverified, pending, verified, or rejected). You can return to the desk, request quotes, and read your own matches. You cannot read another client’s legal name, and you cannot open the sealed surveillance log. That log is for a configured operator, not for customers.

Changing the country on a verified profile is not a cosmetic edit. The desk clears the screened residency, marks identity unverified, and revokes the access token. You stop being able to request quotes until identity is done again. Open Bitcoin scripts are not swept. They stay with you, the counterparty, and HodlHodl.

If the access token is revoked for any reason — sanctions, a failed check, or an operator — new quotes freeze. Revocation is not a signature. Nobody at Trident can spend the escrow because of it.

3. Attach the wallet

Bind the wallet before identity. The site asks your wallet software for an address and a compressed public key. You approve that in the wallet. The seed phrase and the private key stay in the wallet. If a page, a support agent, or an email asks for the seed, it is not this desk. Close it.

Screen 3 — Connect a wallet

Bind a Bitcoin wallet before identity: Connect Bitcoin wallet, WalletConnect, or paste an address and key by hand. The seed and the private key stay in the wallet.

Trident stores:

  • The address, and a SHA3-512 fingerprint of it.
  • The compressed public key, and a SHA3-512 fingerprint of it.
  • Which software you used (WalletConnect, an injected wallet, or manual).
  • The residency country you typed at bind time. That country is not the screened country. Screening uses only the country attested when identity is verified.

Screen 4 — Bind pasted wallet

Keep BTC selected, paste a bc1 address and its 66-character compressed public key, starting 02 or 03, then Bind pasted wallet. That key is public. It is not the seed.

Use a Bitcoin wallet. An Ether address can be typed in, and it will not settle. The script that actually holds coins is a Bitcoin P2WSH. Fund from the same wallet you bound, so the key that co-signs is the key the script expects.

4. Identity, KYC, and attestation

Identity is Zyphe, not a form Trident files in a drawer. You start verification from onboarding. If production Zyphe is configured, a tab opens on Zyphe’s host. You complete their document and liveness checks there. Trident stores the session id, the provider’s decision, a SHA3-512 hash of that decision, and the country the provider attested. Trident does not store the passport image, the selfie, or the raw document payload. Zyphe keeps those.

Screen 5 — Desk before identity

Read the KYC unverified badge, then click Verify with Zyphe. The wallet is bound and the desk opens, but a quote will not price until identity is verified.

What “attestation” means here

The word is used for three different events. Do not mix them up.

  • Zyphe attestation. The provider says the check passed or failed, and which country the documents support. That country is what the sanctions screen reads. You cannot overwrite it by editing your profile.
  • Sandbox attestation. Only when production Zyphe is not loaded. You tick a box that you are the person opening the account and you type a country. That opens a demonstration desk. It is not production customer identification. A production process refuses this path.
  • On-chain funding. Bitcoin showing up at the 2-of-3 address is the public fact that coins arrived. A signature hash displayed on the desk is not a broadcast Bitcoin transaction. You still co-sign in your own wallet.

Screen 6 — Sandbox KYC

On the sandbox page, confirm your country, tick the attestation, and click Complete sandbox KYC. That opens a demonstration desk. It is not production identification, and not a passport check.

A verified status with no attested country does not unlock the desk. The screen needs a country. “Verified” with an empty country stays pending. A rejected decision, or a sanctions hit, revokes access.

5. Two identity pages, and only one of them spends a nullifier

The sandbox page and the production page are not the same check, and neither page is taken down because the other is waiting.

When no production Zyphe key is loaded, the identity page is the sandbox attestation. Its job is to open a demonstration desk after you bind a wallet, name a country, and confirm the statement. It does not carry a Groth16 proof, so the nullifier rule does not block it. A quote on that desk is a demonstration. It is not a production identification.

When production Zyphe is loaded, that page’s job is the hosted check. Zyphe validates the person with a Groth16 proof. The circuit binds the nullifier to the identity secret and the scope. This desk spends the published nullifier once, and it looks in the spent set before it changes the account. A second presentation of that same nullifier does not verify. The first account, and the page itself, stay as they were. A proof with no nullifier is not this production check. A claim id is not a nullifier. The proof bytes are not the replay key, because a Groth16 proof can be rescaled and still verify. A proof that names another chain, another contract, or a different desk domain is rejected and does not spend a nullifier here. This desk has no EVM chain id. Its domain is this protocol and the Bitcoin rail. Rewriting the public domain and resubmitting the old proof does not make it a proof for this desk. The public inputs that count are the domain, the nullifier, and one commitment. A long list of attributes is rejected and not stored. The proof bytes are not stored either. There is no on-chain pairing check here, so the gas cost of folding public inputs on an EVM verifier is not a cost this desk pays.

An account that has not finished either page cannot request a quote. That is the button on the desk, not a block on the page. The sandbox page remains available until a production key is configured. A hosted session that times out leaves that account unverified and does not close the sandbox page, and it does not move a funded script.

HodlHodl attests the coins on the Bitcoin 2-of-3. The exact deposit at the script is the lock. Two of the three keys release it. That is the attestation path. A stalled endpoint anywhere else does not lock or release those coins.

What binds a match is a SHA3-512 statement: the trade id, the two orders, the asset, the quantity, and the price. That hash is not the Groth16 proof. An auditor view key can open a sealed copy of the same statement. The view key is an X25519 key for surveillance. It is not one of the three Bitcoin keys, and customers do not receive it.

6. A firm quote

On the desk you choose Buy or Sell and type a Bitcoin quantity as a decimal string, not a rounded slogan. The smallest Bitcoin quote is 0.01000000 BTC. More than eight decimal places is refused. Ether, Tether, and a dollar quantity never become a script, even though those symbols can appear in a price window.

Screen 7 — Verified desk

With KYC verified, keep BTC, choose Buy or Sell, type a decimal quantity of at least 0.01 BTC, and request a quote. ETH, USDT, and USD stay off. Dollars move by wire, not on this desk.

The price starts from a public mid. The desk then adds an impact-adjusted half-spread. The half-spread is 8 basis points, plus a term that grows with the square root of the dollar size, and it is capped at 80 basis points. One basis point is 0.01 percent. A buyer pays the mid plus that half-spread. A seller receives the mid minus it. The spread is inside the price. It is not a separate invoice, and it is not a wire to Trident.

Worked shape, not a live quote. On a $10,000,000 notional the impact term is about 40 basis points, so the half-spread sits near the 48 basis point region, still under the cap. On a much smaller print the half-spread stays near the 8 basis point floor. Your screen shows the firm price for that thirty-second window. When the window closes, the quote is dead. Request another. A price you remember from the homepage tape is not a fill.

The homepage tape is a reference price. It is not this desk’s book. Nothing you type is published there.

What accept does

Accepting posts your side as a resting order and tries to match it against opposite resting size whose owner still has an active access token. A buy matches a sell only when your price is at least the seller’s price. A sell matches a buy only when your price is at most the buyer’s price. The fill quantity is the smaller of the two remainders, so a large order can fill in more than one piece. Whatever does not fill stays resting until you cancel it. Cancelled, unmatched size is not a dispute and does not open a script.

Screen 8 — Firm quote

Read the firm price and its clock, and accept before it runs out or request another. The spread is inside the price. Accept posts it off-book. It does not send Bitcoin.

A match is one database transaction. It writes the trade, the SHA3-512 statement, the two remaining-size updates, and — when both settlement public keys are on file — the 2-of-3 address. If any of that fails, none of it is kept. You will not see a trade with no statement, or a statement for a trade that was rolled back.

The counterparty on your screen is a label like CP- followed by eight characters of their public-key fingerprint. That is not their name. Copy the quote id, the order id, the trade id, and the settlement id into your own notes.

Screen 9 — After accept

After Accept, unmatched size rests in the privacy-preserving order book. A match adds a 2-of-3 bc1 address in Settlement. The bc1 on your Wallet tile is yours, not the escrow. Coins sent anywhere else are not this trade.

7. Funds, transfers, and conversions

Trident does not run a balance for you. There is no deposit address that belongs to the house, no internal ledger you can withdraw, and no convert button.

If you are the seller

  1. Wait until the desk shows a settlement in awaiting deposit and a bc1 address.
  2. In your own wallet, send the Bitcoin quantity to that address. Pay the miner fee from your wallet. Trident does not pay that fee and does not choose the fee rate.
  3. The desk watches public chain data on a best-effort basis and may later show funded with a satoshi total. A lag, or a watch that never flips, does not mean the coins are gone. Your wallet and any Bitcoin explorer are the record.
  4. You still have to receive the dollar wire under the escrow terms before you co-sign a release. Do not co-sign because a chat message says the wire was sent. Confirm the wire in your own bank.

If you are the buyer

  1. You do not send Bitcoin to the script. The seller does.
  2. You pay dollars by wire, from an account in your own name, as the escrow terms specify. The beneficiary is not Trident.
  3. After the coins are in the script and the seller agrees you have paid, you co-sign. Two signatures spend the output toward you.
  4. Until those two signatures are broadcast and confirmed, you do not have the coins in your wallet. “Matched” is not “received.”

What conversion would mean, and why it is refused

  • Bitcoin. Only from the bound wallet to the 2-of-3 address for that settlement id. Not to a Trident address. Not to the counterparty’s personal address, unless the escrow terms say the coins have already been released.
  • Dollars. A wire between the parties. Trident does not convert dollars into Bitcoin or Bitcoin into dollars, and does not stand in the middle of the wire.
  • Ether, Tether, wrapped coins, another chain. Refused before a script exists. A hashlocked second chain would publish a secret when someone claimed it, would have no HodlHodl arbitrator, and could not carry a fiat wire. That product is not this one.

If you do not already hold Bitcoin, buy it somewhere else, into the wallet you bound, before you accept a sell that you will have to fund. Leave enough extra for the miner fee. A wallet that can pay the exact script amount and nothing more will fail to broadcast.

8. Escrow, the three keys, and release

A matched trade locks Bitcoin in a pay-to-witness-script-hash address. You will see it as a bc1 address. The witness script is a sorted 2-of-3 multisig: the opcode for “two”, then the three compressed public keys in sorted order, then the opcode for “three”, then CHECKMULTISIG. The descriptor looks like wsh(sortedmulti(2, …three keys…)). Sorting means neither side can change the address by listing the keys in a different order. All three keys are 33-byte compressed secp256k1 keys.

  1. The buyer’s key, from the wallet they bound.
  2. The seller’s key, from the wallet they bound.
  3. HodlHodl’s key for that contract index, as independent arbitrator. Not Trident’s.

Any two of those three can spend. In the ordinary case the buyer and the seller both sign after the wire has landed: the coins move to the buyer. If they disagree after funding, one party and HodlHodl can spend, but only after HodlHodl decides under their own rules at hodlhodl.com. Trident staff cannot substitute a signature and cannot reconstruct a lost seed.

What the sign control on this desk actually does

The desk can record a SHA3-512 commitment that you marked the settlement, tied to the settlement id, your user id, and the address. That commitment is not a Bitcoin signature, and it is not a broadcast. A status of releasable means two of those desk-side marks exist and the watch has seen funding. It does not mean the coins have moved. You still build and broadcast the spend in your own wallet, or followHodlHodl’s signing flow. If your wallet never shows a transaction, nothing has been released, whatever the desk status says.

Statuses, in the order you meet them

  • Quote open. Thirty seconds to accept. Then it is expired.
  • Quote accepted. Your resting order exists. It may already have filled, in whole or in part.
  • Order resting. Size is still unmatched. You may cancel what remains.
  • Trade pending settlement. A match exists. The statement hash exists. Coins have not moved yet.
  • Settlement awaiting deposit. The bc1 address exists. Nobody has funded it, as far as the watch can see.
  • Settlement funded. The watch has seen satoshis at that address. Confirm in your wallet before you treat it as final. Confirmation on Bitcoin is not instant.
  • Settlement releasable. The watch has seen funds and two desk-side marks exist. You still must broadcast a real spend.

If you lose the key

Trident cannot restore it. If the script is already funded, you are in a dispute path: you still have one key, the counterparty has one, and HodlHodl has the third. Two of those can finish, which means a lost key does not by itself strand the coins, and it also means you no longer have a unilateral veto. If you have not funded yet, stop and recover the wallet before you send coins.

What to write down before you send

  • Settlement id, trade id, and the full bc1 address.
  • The Bitcoin amount and the firm price.
  • Your role, buyer or seller, and the counterparty label.
  • After you broadcast, the transaction id from your wallet.
  • After you wire, your bank’s reference. Do not email the seed next to any of these.

9. Disputes and arbitration

A dispute exists only when a match has opened an escrow address, at least one side has funded or claims to have funded, and the two sides do not agree on release, refund, or a partial release. An expired quote, a refused Ether quote, or size you cancelled is not a dispute.

  1. Write compliance@tridentmarkets.net with the settlement id shown on the desk. Do not send a seed, a private key, or a passport scan.
  2. Trident confirms the funding watch, the quote, the SHA3-512 statement, and the hashed labels of both parties.
  3. The contract is referred to HodlHodl. Their escrow rules decide release. Identity documents stay at Zyphe; Trident can produce the decision hash, not the images.

Arguments about the website itself — a frozen access token, a KYC decision, these terms — are account disputes. They are handled under Wyoming law. They do not put a Trident key into the script, because Trident does not have one.

10. What is private, and what must be kept or reported

“Off-book” means the size is not on a public order book. It does not mean anonymous to the house, and it does not mean invisible on Bitcoin after you fund.

Private from your counterparty

  • Your legal name, email, and documents.
  • Your residency. They see a hashed label.

Known to Trident

  • The sign-in identity, the bound address, the settlement public key, and the SHA3-512 fingerprints.
  • The country attested at verification, the KYC session id, and the decision hash.
  • Quotes, matches, statement hashes, and settlement ids.

Known to other parties, on purpose

  • Zyphe holds the documents you uploaded and the check result.
  • HodlHodl holds the arbitrator key and the escrow contract under their terms, including the three public keys.
  • The Bitcoin network, once you fund, shows the escrow address, the amount, and later the spend. Anyone can see that. No desk setting hides a confirmed transaction.

What is retained, and when a report can happen

Matching records, settlement records, and customer-identification decision hashes are kept for the BSA/AML recordkeeping period. Account rows that the law does not require can be deleted on request to compliance@tridentmarkets.net.

Before a quote is priced, residency is screened and an active access token is required. A hit revokes the token and freezes new matching. It does not seize an open script. The screen is a residency check, not a full legal-name sanctions file. Do not treat a clear screen as a promise that a name would clear a government list.

Trident may refuse a quote, freeze new matching, or file a report where the law requires it, including on legal process. Breaking a transfer into smaller pieces to avoid a reporting duty is prohibited. Do not ask support how to structure around a threshold. There is no public licence number displayed on this site, and none should be inferred from the fact that a screen exists.

11. The five planes, in plain language

The desk is split into five duties so that matching, identity, and settlement coordination are not one pile of data with one key. You do not pick a plane. You use the desk, and the work lands in the right duty.

  • Account. Sign-in, profile, the wallet you bound.
  • Matching. Firm quotes and the off-book match.
  • Settlement coordination. The handoff into a HodlHodl Bitcoin 2-of-3. Not a second chain.
  • Record. The statement hash and the sealed audit copy.
  • Screening. The residency decision and the access token.

None of the five can spend the escrow alone. Spending still takes two of the three Bitcoin keys, and Trident is none of them.

12. Why this is not a Firecracker VM

Firecracker is a microVM: a very small virtual machine some clouds start for a single request, so that request cannot see its neighbour. It is a real isolation tool. It is not what holds your Bitcoin here.

Your keys are in your wallet. Your documents are at Zyphe. The arbitrator key is at HodlHodl. The coins, once sent, sit in a Bitcoin script any node can see. Putting those inside a Firecracker VM would be a different product, and it would be a false description of this one. Isolation on this desk is the split above: separate duties, separate key holders, and no path for Trident to sign.

13. The quantum threat, including harvest-now-decrypt-later

“Post-quantum” on this desk means the commitments, not the Bitcoin signature scheme, and not every box in the archive.

What a hash commitment survives

SHA3-512 is a hash. Shor’s algorithm, the one a cryptographically relevant quantum computer would use against elliptic curves, does not invert a hash. Grover’s algorithm is only a square-root speedup. SHA3-512 still has a wide margin under that speedup. Quote hashes, address fingerprints, public-key fingerprints, decision hashes, and match statements are in this class. An attacker who copies them today does not “decrypt” them later. There is no ciphertext. There is a fingerprint.

Harvest now, decrypt later

HNDL is a different problem. Someone records ciphertext today and waits until a quantum computer can break the key agreement that wrapped it. The sealed surveillance record is in that class. It is boxed with X25519 (an elliptic-curve key agreement) and XChaCha20-Poly1305. A future quantum computer that breaks X25519 could open those boxes. Treat the sealed audit archive as HNDL-exposed. Do not put a seed, a private key, or a document image into a support message on the theory that the archive will hide it. The archive is not where those belong, and the box is not quantum-safe.

Bitcoin itself

The 2-of-3 uses secp256k1, the curve Bitcoin uses today. A future quantum computer could forge a signature once a public key is visible, which happens when an output is spent and can happen earlier if a key is published. That is forge-later, not classic HNDL, and Trident cannot upgrade Bitcoin’s curve. Your practical defence now is ordinary and unfashionable: keep the seed offline, do not reuse careless exports, and do not fund a script you do not intend to finish.

What you should assume

  • Fingerprints and statement hashes are the post-quantum part.
  • The auditor’s sealed boxes are not.
  • The coins move under today’s Bitcoin rules, which are not post-quantum.
  • No slogan upgrades the curve.

The upgrade path, and where it stops

The runway for the service plane is hybrid, not a new Bitcoin script. Key agreement would pair today’s X25519 with ML-KEM (the NIST encapsulation standard, formerly Kyber). Signatures on that same plane would add ML-DSA (formerly Dilithium), with SLH-DSA as the hash-based alternative. Either classical half or the new half failing alone should not open the box. That work is not done. The sealed archive is still X25519 only, so it stays harvest-now-decrypt-later exposed until the hybrid is actually in use.

The 2-of-3 does not take that path. Spending it needs Bitcoin’s ECDSA or Schnorr signatures, which change only if Bitcoin changes. There is no enclave here holding a Trident signing key, because Trident does not have one. A disclosure that says every message, or the escrow itself, is post-quantum is wrong.

When the desk refuses you

A refusal is a stop, not a hint to retry with a smaller disguise. Read the sentence. The usual ones:

  • No wallet, or no compressed public key. Bind both before identity will finish the account.
  • Minimum size. Below 0.01 BTC the quote is not priced.
  • Quote expired. The thirty seconds passed. Request a new firm quote. Do not accept an old id.
  • Quote is no longer open. You already accepted it, or it was otherwise closed.
  • Access revoked, or no active token. Identity is missing, rejected, or the residency screen hit. Open scripts are untouched. New quotes stop.
  • Country change after verification. The screened country is cleared and you are unverified again. This is intentional. It is not a bug to route around.
  • Asset is not Bitcoin. Ether, Tether, and dollars are refused before a script exists.
  • Settlement not found. The id is not yours. You cannot mark someone else’s escrow.
  • Someone asks for the seed “to finish settlement.” That is not a desk error. Stop. The seed never finishes a settlement on this site.

Records you keep, and records the house keeps

Your own file should be enough to explain the trade to your bank, your accountant, and, if it comes to it, HodlHodl: the ids above, the address, the transaction id, the wire reference, and the firm price. The house file is the quote, the match, the SHA3-512 statement, the settlement row, and the Zyphe decision hash. Those are kept for the BSA/AML recordkeeping period. They are not a substitute for your wallet history, and your wallet history is not a substitute for them.

A subpoena or other legal process can require Trident to identify you from the account, the wallet fingerprint, and the decision hash, and to point at Zyphe for the documents. Counterparties cannot make that demand of each other through the desk. Do not use hashed labels as a way to hide a trade from a reporting duty that applies to you. Your bank, your tax authority, and the wire itself have their own rules. This page does not restate those rules and does not set a dollar threshold. Structuring a transfer to avoid a duty you already have is prohibited.

A clean first trade, checklist

  1. Create the account yourself. Do not share it.
  2. Bind a Bitcoin wallet. Approve the address and compressed public key in the wallet. Never type the seed here.
  3. Finish Zyphe. Wait until the status is verified and the access token is active. If you change country later, expect to verify again.
  4. Request a Bitcoin quote. Read the price and the thirty-second clock. Accept only if you can fund.
  5. Send Bitcoin only to the 2-of-3 address for that settlement id. Wire dollars only as the escrow terms say, never to Trident.
  6. Co-sign the release in your wallet when the other leg is done. Keep the settlement id.
  7. If you disagree after funding, write compliance@tridentmarkets.net with that id and no keys. HodlHodl decides the coins.

If you are stuck

Use the support portal or write desk@tridentmarkets.net. Include the quote id or the settlement id. Do not send keys, seeds, or document images. For a privacy request or a record question, write compliance@tridentmarkets.net.

Trident Markets

Trident Markets Group LLC is incorporated in Casper, Wyoming and does business from Los Angeles, California. The desk is non-custodial. Settlement is a HodlHodl 2-of-3.

Legal

Privacy PolicyArbitration ProcessUser AgreementCode of ConductSite Terms and ConditionsAcceptable Use PolicyRisk & regulatory disclosures

Help

First-trade guideSupport Portaldesk@tridentmarkets.netcompliance@tridentmarkets.net

© 2026 Trident Markets Group LLC. All rights reserved.

tridentmarkets.net