What you can do through the API
Supported venues
Each venue’s guide lists the fields it requires for every direction and scenario.
TrustCo is a custodian, not an exchange, and works the same way. It is unrelated to TRUST, the Travel Rule network.
Step 1: Find the fields to send
Answer these in order, then find the matching row in the venue’s guide:- Venue: Binance, Bitstamp, Bitfinex, OKX, or TrustCo.
- Direction: withdrawal from the exchange, or deposit to it.
- Jurisdiction (Binance only): the country of your Binance entity, sent as
vaspCountry. - Relationship: the other party is you (
FirstParty) or someone else (ThirdParty). - Counterparty wallet: a private (unhosted) wallet, or an account at another VASP.
- Entity type:
IndividualorBusiness.
Step 2: Build the piiData payload
type and typeVersion stay in plain text; everything inside data is encrypted in Step 3.
Party fields
VASP fields
Transaction fields (Binance)
For a complete plaintext example per scenario, see the venue’s guide.
Step 3: Encrypt the values
Exchanges accept RSA only; hybrid encryption (RSA with AES) is rejected.- Algorithm: RSA-OAEP with SHA-256.
- Scope: encrypt each value in
dataindividually, keeping the object structure; every value becomes a base64 ciphertext. - Key: your workspace exchange public key. It is workspace-wide, not tied to an exchange, and is the same key that encrypts exchange credentials.
Step 4: Create the transaction
Before you go live
- Map your customer data to the fields each venue requires.
- Check that the plaintext PII matches the KYC records you hold.
- Test in a sandbox workspace.
Limitations
- Fireblocks does not validate
piiData. The API accepts any payload; if the exchange requires data that is missing or incomplete, the transaction may fail. - Never send unencrypted PII in an API call.