Trust API

You can run queries in our Sandbox environment using our Postman collection.

Schema Types

Table of Contents

Query

Field Argument Type Description
auth Auth!
authentication AuthenticationInput
user User!

Use this to get information about a user (AuthenticationInput or API key must be provided)

authentication AuthenticationInput
getPartialPinChallenge PinChallenge

Get the partial pin challenge for the a user.

email String!
getAuthenticationTokens AuthenticationResponse!

Submit the partial pin and if successful return the authentication tokens

getAuthenticationTokensInput GetAuthenticationTokensInput!
refreshAuthenticationTokens Authentication!

Refresh the authentication tokens

authentication AuthenticationInput!
transactionInfo TransactionResponse!

Get the updated status of the transaction that has already been submitted (AuthenticationInput or API key must be provided)

authentication AuthenticationInput
transactionId String!
getRequest RequestItem!

Retrieves the request item associated with the given requestId (AuthenticationInput or API key must be provided)

authentication AuthenticationInput
requestId String!
getTransactionCount GetTransactionCountResponse!

Retrieve the transaction count for address and chainId as TrustVault sees it. Takes into account queued transactions. Contact Support to enable

getTransactionCountInput GetTransactionCountInput!
vasps VaspConnection!

Retrieves a list of all active vasps

nextToken String

Mutation

Field Argument Type Description
createSubWallet CreateSubWalletResponse!

create a subWallet for a given wallet

createSubWalletInput CreateSubWalletInput!
createEthereumTransaction CreateEthereumTransactionResponseInterface!

create an Ethereum Transaction specifying only the minimal attributes of the transaction and send the transaction to the TrustVault authorised signer(s) inbox for signing. Use the requestId to query the status of the transaction later.

createTransactionInput CreateEthereumTransactionInput!
createBitcoinTransaction CreateBitcoinTransactionResponseInterface

create a Bitcoin Transaction specifying only the minimal attributes of the transaction and send the transaction to the TrustVault authorised signer(s) inbox for signing. Use the requestId to query the status of the transaction later. NOTE: returns null if an error occurred

createBitcoinTransactionInput CreateBitcoinTransactionInput!
createBitcoinAddress BitcoinAddressResults!
createBitcoinAddressInput CreateBitcoinAddressInput!
createChangePolicyRequest ChangePolicyRequestResponse!

create a change policy request of a wallet(s) (available via API key authentication only)

createChangePolicyRequestInput CreateChangePolicyRequestInput
addSignature RequestIdResponse!

add public key & signature pairs for the given requestId (available via API key authentication only)

addSignatureInput AddSignatureInput
cancelRequest RequestIdResponse!

cancel the request item associated with the given requestId, optionally pass a reason for cancelling

requestId String!
reason String
createEthPersonalSign CreateEthPersonalSignResponse!

Create a request to sign a given message using the private key of the given ethereum address

createEthPersonalSignInput CreateEthPersonalSignInput!
createEthSignTypedData CreateEthSignTypedDataResponse

Create a request to sign with eth_signTypedData a message using the private key of the given ethereum address

createEthSignTypedDataInput CreateEthSignTypedDataInput!
createAddressBookEntry SuccessResponse!

Add new entry to address book

addressBookEntryInput AddressBookEntriesInput!
requestCsvTransactions RequestTransactionsCsv

Users transactions in csv string, csv will be sent to a registered email, optionally can pass asset and walletId

requestCsvTransactionsInput RequestCsvTransactionsInput!
requestAuditLog AsyncReportRequestResponse!

Organisation audit log as csv string, csv will be sent to the registered email

requestAuditLogInput RequestAuditLogInput!
createEvmTransactionLite CreateEvmTransactionLiteResponse!

Lightweight version of createEthereumTransaction which takes a raw transaction and its set of pre-signed signRequests. Returned is the signed rawTransactionBytes.

createTransactionInput CreateEvmTransactionLiteInput!
createEIP1559Transaction CreateEvmTransactionResponse!

EIP1559 transactions

createEIP1559TransactionInput CreateEIP1559TransactionInput!
createEIP2930Transaction CreateEvmTransactionResponse!

EIP2930 Transactions

createEIP2930TransactionInput CreateEIP2930TransactionInput!
updateTravelRuleInfo UpdateTransferResponse!

Travel rule

authentication AuthenticationInput
transfers [TransferInput!]!

Objects

AccessListItem

Field Argument Type Description
address String!
storageKeys [String!]!

Address

Field Argument Type Description
id String!

Unique identifier for the address

AddressBook

Field Argument Type Description
asset BaseAsset

asset if the address book references a known asset

address String!

Chain address

chain Chain

Chain the address belongs to

name String!

Name of the address

label String

Label (optional)

memo String

Memo (optional), only supported for some chains

type [AddressBookEntryType!]!
counterparty CounterpartyInfo

Information of the counterparty that should be used for travel rule if a transaction contains the address of interest (NOTE: only applicable if type contains TRAVEL_RULE)

AddressBookConnection

Field Argument Type Description
items [AddressBook!]

Array with all the Address Book items

nextToken String

nextToken for pagination. Not used for now.

whitelistEnabled Boolean

Whitelist flag

AddressConnection

Field Argument Type Description
items [GenericAddress!]

The current page of Address objects. This can be an empty array if there are no items on this page - (null for exchange wallets)

nextToken String

The token to use to get the next page of Address objects. If items is an empty array then this value should be null

AddressPublicKeyProvenance

Field Argument Type Description
unverifiedAddress String

Do not use for transactions, instead derive the address from the public key after verifying it with the trustVaultProvenanceSignature (null for exchange subWallets)

publicKey String!

The sub-wallet's public key

path [String!]!

The HD wallet path of the sub-wallet

trustVaultProvenanceSignature String!

The trustvault signature over SHA-256(DER(publicKey + path + walletId))

addressType BitcoinAddressType

Bitcoin address type (only available on Bitcoin subWallets)

AllowedDestinationsResponse

Field Argument Type Description
asset AssetSymbol!
subWalletIds [String!]!

Amount

Field Argument Type Description
value String

Big decimal in string format

currency String!

could be the asset symbol or fiat currency

timestamp String

Timestamp represents how stale the data is NOTE: timestamp is either the timestamp when the amount of the asset is queried or if converted from another currency the timestamp of the convertion rate used

in Amount!

convert the value to another currency NOTE: currently only supports asset -> fiat / assets -> assets

currency String!

Asset

Field Argument Type Description
symbol String!

The ticker symbol used to uniquely identify this asset within our systems. This will often match the publicly used ticker symbol, but may diverge where there are multiple matching assets.

name String!

The name of the asset

iconUrl String!

The location of a standardised icon for this asset

type AssetType!

The asset type

chain String!

The chain the asset belongs to (ETHEREUM / BITCOIN)

dateAdded String!

The ISO date that this asset was added to the catalog

decimalPlace Int!

The maximum number of decimal place for the asset

displaySymbol String!

Public ticker symbol

contractAddress String

The contract address of the asset (i.e. ERC20 tokens)

AssetBalance

Field Argument Type Description
asset BaseAsset
amount Amount

AsyncReportRequestResponse

Field Argument Type Description
email String

The email who will receive the auditLog

requestId String!

A unique identifier for this request

Auth

Field Argument Type Description
chainInfos [ChainInfo!]!

returns a list of all supported chains and information about them (only Ethereum supported for now)

chainInfo ChainInfo!

returns the information about the chain requested, for EVM pass chain: ETHEREUM chainId: 0x12 if supported

chain Chain!
chainId String

Authentication

Field Argument Type Description
enc String

Encrypted blob 3 tokens

iv String
tag String

AuthenticationResponse

Field Argument Type Description
authentication Authentication
pinChallenge PinChallenge

Balance

Field Argument Type Description
asset Asset

Asset object

amount Amount

Amount of the asset - optional conversion in the currency given

available Amount

The available to spend net of any fees (Support on certain exchanges only)

BalanceConnection

Field Argument Type Description
items [Balance!]

The current page of Asset objects. This can be an empty array if there are no items on this page - (null for exchange wallets)

nextToken String

The token to use to get the next page of Wallet objects. If items is an empty array then this value should be null

BitcoinAddress

Field Argument Type Description
id String!

Unique identifier for the address.

addressType BitcoinAddressType!

The type (e.g. COMPATIBILITY) of the address generated as displayed in the 'id' field

addressUsageType BitcoinAddressUsage!

The address usage type (e.g. CHANGE or RECEIVE)

transactions TransactionConnection!

Transactions were received into the given bitcoin address.

limit Int
nextToken String

BitcoinAddressResults

This is a type so we can add more properties later, e.g. total number of addresses

Field Argument Type Description
address GenericAddress!

BitcoinInput

see: https://en.bitcoin.it/wiki/Transaction#Input

Field Argument Type Description
address String!

The address of the UTXO

txId String!

The hash of the transaction that generated the UTXO

outputIndex Int!

The specific output in the referenced transaction id above

script String!

public key + signature over the hash of the transaction

sequence String!

Indicates if the transaction is final. Max value indicates finality (0xFFFFFFFF)

value Int!

The amount of satoshi in the UTXO

publicKeyProvenanceData BitcoinPublicKeyProvenance!

The provenance signature data for the address of the utxo

unverifiedDigestData TransactionDigestData!

IMPORTANT: This should only be used to verify that the digest you created from the transaction input is correct. NEVER sign this digest without verifying!

BitcoinOutput

Field Argument Type Description
recipientAddress String!

The address of the transaction recipient

amountToSend Int!

The amount of satoshi to be sent

publicKeyProvenanceData BitcoinPublicKeyProvenance

The provenance signature data for the change address. (Only the change output will have it)

BitcoinPublicKeyProvenance

Field Argument Type Description
publicKey String!

The sub-wallet's public key

path [String!]!

The HD wallet path of the sub-wallet

trustVaultProvenanceSignature String!

The trustvault signature over SHA-256(DER(publicKey + path + walletId))

unverifiedAddress String!

Do not use for transactions, instead derive the address from the public key after verifying it with the trustVaultProvenanceSignature

addressType BitcoinAddressType!

Bitcoin address type

BitcoinSign

Field Argument Type Description
transaction BitcoinTransaction!

The raw bitcoin transaction

changeAddressProvenance BitcoinPublicKeyProvenance

The provenance signature data for the change address

BitcoinTransaction

see: https://wiki.bitcoinsv.io/index.php/Bitcoin_Transactions

Field Argument Type Description
version Int!
inputs [BitcoinInput!]!

The UTXOs to be spent

outputs [BitcoinOutput!]!

The recipient(s) of the transaction - including the change address

lockTime Int!

Block height or timestamp when transaction is final

sighash Int!

The signature type for the transaction

BlockchainSubWallet

Field Argument Type Description
walletInfo WalletInfo

Wallet Information for this SubWallet

address String

Convenience property showing the current address. For enhanced security, generate on the address on the client from the subWallet public key after verifying the signature

subWalletId String!
name String!

name of the subWallet

createdAt String!

Creation time stamp (ISO 8601 UTC time)

updatedAt String!

Modified time stamp (ISO 8601 UTC time)

walletType WalletType!

Wallet Type

publicKey String!

The public key of the subWallet - used to generate the address on the client side

chain Chain!

The chain of the subWallet

trustVaultPublicKeySignature String!

The TrustVault signature over the public key

addresses AddressConnection!

Bitcoin Addresses associated with this subWallet, addressType defaults to RECEIVE

limit Int
nextToken String
addressUsageType ChainAddressUsage
transactions TransactionConnection!

Transaction connection

limit Int
nextToken String
assetSymbols [String]
address String
balance AssetBalance

assetId: NATIVE, or contract address chainId: For EVM only, specify hex

assetId String
chainId String
balances ⚠️ BalanceConnection!

List of token assets with balances associated with the subWallet (ETH + ERC20 if Ethereum else BTC on Bitcoin) NOTE: pagination is not implemented yet - limit and nextToken are currently ignored

⚠️ DEPRECATED

use balance field

limit Int
nextToken String
total Amount!

The total value of all the tokens associated with the subWallet

BlockchainTransaction

This represents an asset transfer within a transaction (there could be multiple transfers in a transaction)

Field Argument Type Description
from GenericAddress!

The exchange the transaction is sent from

to GenericAddress!

The exchange the transaction is sent to

amount Amount!

The amount of the transferred asset

status TransactionStatus!

Status of the transaction

createdAt String

Timestamp the transaction was created at (ISO 8601 UTC date time):

updatedAt String

Timestamp the transaction was last updated (ISO 8601 UTC date time):

fee Amount!

The transaction cost paid to the network for processing the transaction

transactionHash String!

the unique identifier of the transaction

transactionDirection TransactionDirection

the direction the transaction was sent

chainTransaction ChainRawTransaction

Chain specific raw transaction

ChainInfo

Field Argument Type Description
name Chain!

the name of the chain (ETHEREUM, BITCOIN, etc..)

symbol String!

the native token symbol belonging to the chain (ETH, BTC, BNB, etc...)

feePrice FeePrice

the fee price at a specific speed (FAST, MEDIUM, SLOW are supported on all chains)

speed String
feePrices [FeePrice]

all the possible feePrices for a given chain (a minimum of 3 items)

ChainInfoDescription

Field Argument Type Description
chainId String
protocol String

ChainRawEthereumTransaction

Field Argument Type Description
amount String!

The amount in wei that was transferred in the transaction (hex string)

from String!

The address for which the transaction is destined

to String

The address for which the transaction is destined

blockHeight Int!

The height of the block where this transaction is in

r String!

The r value of the ECDSA signature

s String!

The s value of the ECDSA signature

transactionIndex String

The index position of the transaction in the block. (hex string - null when its pending)

v String!

The recovery id

gasLimit String!

The gas limit of the transaction (hex string)

gasPrice String!

The gas price per unit of gas of the transaction in wei (hex string)

nonce String!

The number of transactions made by the sender prior to this one (hex string)

decodedInput EthDecodedMethodData

The decoded input data sent along with the transaction

decodedEvents [EthDecodedMethodData!]!

The decoded event logs of the transaction (could be empty if there are no events, unsupported events is not included)

ChangePolicyRequest

Field Argument Type Description
requestId String!

Unique identifier for the change policy request

policyTemplate PolicyTemplate!

The policy change that describe the new delegate/recoverer schedules

recovererTrustVaultSignature String!

The TrustVault signature over the recoverer schedule. Use this to verify the recoverer schedule did indeed came from TrustVault

walletId String!

Unique identifier for the wallet to which the change policy is going to be applied to

unverifiedDigestData SignData!

IMPORTANT: This digest data should only be used to verify that the digest you created from the policyTemplate is correct. NEVER sign this digest without verifying!

ChangePolicyRequestResponse

Field Argument Type Description
requests [ChangePolicyRequest!]!

The list of change policy requests created

Cluster

Field Argument Type Description
type ClusterType
name String

ContractInfo

TokenInfo

Field Argument Type Description
contractAddress String
contractDisplayName String
chainInfo ChainInfoDescription
type String
erc20TokenInfo ERC20TokenInfo

ContractManagementConnection

Field Argument Type Description
items [ContractManagementItem]!

An array of all tokens

nextToken String

Pagination token

ContractManagementItem

Field Argument Type Description
contractInfo ContractInfo!

token information

subWallets SubWalletConnection!

The addresses that manage the contract

CounterpartyInfo

Field Argument Type Description
name String!
vasp VaspInfo!

CreateBitcoinDraftTransaction

Field Argument Type Description
signData BitcoinSign

The transaction data to be signed

chainRate String

Bitcoin rate in desired currency

fee Int

The transaction fee in satoshi

maxAllowedToSend String

The max allowed to send in satoshi

feeForMax String

The fee for the max send amount in satoshi

balance String

The current balance of the wallet in satoshi

CreateBitcoinTransactionIdResponse

Field Argument Type Description
requestId String

Unique identifier for the transaction request

signData BitcoinSign

The transaction data to be signed

chainRate String

Bitcoin rate in desired currency

fee Int

The transaction fee in satoshi

maxAllowedToSend String

The max allowed to send in satoshi

feeForMax String

The fee for the max send amount in satoshi

balance String

The current balance of the wallet in satoshi

CreateEthPersonalSignResponse

Field Argument Type Description
requestId String

The unique identifier for the ethereum personal sign request (null if sendToDevicesForSigning is false)

signData EthPersonalSignData

The details of message data to be signed

CreateEthSignTypedDataResponse

Field Argument Type Description
requestId String

The unique identifier for the ethereum personal sign request (null if sendToDevicesForSigning is false)

signData EthSignTypedData

The details of message data to be signed

CreateEthereumDraftTransaction

Field Argument Type Description
signData EthereumSign!

Data needed to sign a transaction

chainRate String!

Ethereum rate in desired currency

assetRate String!

Token rate in desired currency

CreateEthereumTransactionResponse

Field Argument Type Description
requestId String!

The unique identifier for the ethereum transaction request

signData EthereumSign!

Data needed to sign a transaction

chainRate String!

Ethereum rate in desired currency

assetRate String!

Token rate in desired currency

CreateEvmTransactionLiteResponse

Field Argument Type Description
signData EthereumSign!

Data needed to sign a transaction

rawTransactionBytes String!

Raw transaction bytes of signed transaction

CreateEvmTransactionResponse

Field Argument Type Description
requestId String!

The unique identifier for the ethereum transaction request

signData EvmSign!

Data needed to sign a transaction

chainRate String!

Ethereum rate in desired currency

assetRate String!

Token rate in desired currency

CreateExchangeTransferResponse

Field Argument Type Description
transactionId String!

NOTE: deprecated by trustVaultTransactionId

trustVaultTransactionId String!

The Trustvault transaction id

CreateSubWalletResponse

Field Argument Type Description
subWalletId String!

Unique id for the subWallet

receiveAddressDetails AddressPublicKeyProvenance!

The receive address details of the newly created subWallet

CreateXdcNetworkTransactionResponse

Field Argument Type Description
requestId String!

The unique identifier for the ethereum transaction request

signData EthereumSign!

Data needed to sign a transaction

chainRate String!

Ethereum rate in desired currency

assetRate String!

Token rate in desired currency

DigestData

Field Argument Type Description
digest String!

The digest of the message input

signData String!

The DER encoded transaction digest and the wallet path

shaSignData String!

The SHA3-256 digest of the signData

EIP1559Transaction

Field Argument Type Description
from String!

Hex - From address

to String

Hex - To address

value String

Hex - The value of ETH to send with this transaction

chainId String!

Hex - The chainId e.g. 1 for mainnet or 17000 for Holesky

nonce String!

Hex - The number of transactions a user has already sent (plus 1 for this transaction)

gasLimit String!

Hex - Limit of gas used for the transaction execution (wei)

data String

Hex - compiled contract code for the transaction

maxFeePerGas String!

Hex - Maximum fee per gas (wei)

maxPriorityFeePerGas String!

Hex - Maximum priority fee per gas (wei)

accessList [AccessListItem!]!

Access list

r String

The r value of the signature (optional as it will not exist if tx is not signed)

s String

The s value of the signature (optional as it will not exist if tx is not signed)

v String

The recovery Id of the Ethereum chain (optional as it will not exist if tx is not signed)

EIP2930Transaction

Field Argument Type Description
from String!

Hex - From address

to String!

Hex - To address

value String!

Hex - The value of ETH to send with this transaction

chainId String!

Hex - The chainId e.g. 1 for mainnet or 17000 for Holesky

nonce String!

Hex - A counter for the number of transactions sent by the account

gasLimit String!

Hex - Limit of gas used for the transaction execution (wei)

data String!

Hex - compiled contract code for the transaction

accessList [AccessListItem!]!

Access list

gasPrice String!

Hex - Gas price per unit consumed (wei)

r String

The r value of the signature (optional as it will not exist if tx is not signed)

s String

The s value of the signature (optional as it will not exist if tx is not signed)

v String

The recovery Id of the Ethereum chain (optional as it will not exist if tx is not signed)

ERC20TokenInfo

Field Argument Type Description
name String
symbol String
decimals String
totalSupply String

EthDecodedArrayParameter

Field Argument Type Description
name String

The parameter name of the decoded input array, only available on the top level params in EthDecodedMethodData

type String!

The solidity type of the input parameter (bytes, uint, address etc..)

items [EthDecodedParameter!]!

The value of the input parameter

EthDecodedMethodData

Field Argument Type Description
id String!

The keccak hash of method signature in hex string 4 bytes for decodedInput ("0x" + 8 hex strings) 32 bytes for decodedEvents ("0x" + 64 hex strings)

signature String!

The signature of the method the transaction invoked (i.e. transfer(address to, uint256 amount))

params [EthDecodedParameter!]!

The decoded parameters of the method

EthDecodedStringParameter

Field Argument Type Description
name String

The parameter name of the decoded input, only available on the top level params in EthDecodedMethodData

type String!

The solidity type of the input parameter (bytes, uint, address etc..)

value String!

The value of the input parameter

EthPersonalSignData

Field Argument Type Description
messageAddress MessageAddress!

The message and address from which the message is signed from

hdWalletPath HdWalletPath!

The HD wallet path within the BIP32 Wallet

unverifiedDigestData DigestData!

The digest of the message

EthSignTypedData

Field Argument Type Description
messageAddress MessageAddress!

The message and address from which the message is signed from

hdWalletPath HdWalletPath!

The HD wallet path within the BIP32 Wallet

unverifiedDigestData DigestData!

The digest of the message

EthereumSign

Field Argument Type Description
transaction EthereumTransaction!

An Ethereum Transaction

hdWalletPath HdWalletPath!

The HD wallet path within the BIP32 Wallet

unverifiedDigestData TransactionDigestData!

IMPORTANT: This should only be used to verify that the digest you created from the transaction is correct. NEVER sign this digest without verifying!

EthereumTransaction

Field Argument Type Description
to String!

The address to send this transaction is directed to

value String!

The value of ETH to send with this transaction

chainId Int!

The chainId e.g. 1 for mainnet or 17000 for Holesky

nonce Int!

The number of transactions a user has already sent (plus 1 for this transaction)

gasLimit String!

Int (as String) of the gas provided for the transaction execution.

gasPrice String!

Int (as String) of the gasPrice used for each paid gas

fromAddress String!

The address the transaction is sent from

r String

The r value of the signature (optional as it will not exist if tx is not signed)

s String

The s value of the signature (optional as it will not exist if tx is not signed)

v String

The recovery Id of the Ethereum chain (optional as it will not exist if tx is not signed)

data String

The compiled code of a contract OR the hash of the invoked method signature and encoded parameters.

EvmAsset

Field Argument Type Description
name String!
chainId String!

0x prefixed hex

contractAddress String
decimals Int

Only present for certain known EVM chains

assetSymbol String!
iconUrl String

EvmSign

Field Argument Type Description
transaction EvmSignTransaction!

An Ethereum Transaction

hdWalletPath HdWalletPath!

The HD wallet path within the BIP32 Wallet

unverifiedDigestData TransactionDigestData!

IMPORTANT: This should only be used to verify that the digest you created from the transaction is correct. NEVER sign this digest without verifying!

ExchangeSubWallet

Field Argument Type Description
walletInfo WalletInfo

wallet info

address String

subWallet address

subWalletId String!

Unique id for the subWallet. String format of the subWalletId (id/type/index)

name String!

The name of the subWallet

createdAt String!

Creation time stamp (ISO 8601 UTC date time):

updatedAt String!

Modified time stamp (ISO 8601 UTC date time):

walletType WalletType!

Wallet Type

transactions TransactionConnection!

Transaction connection

limit Int
nextToken String
assetSymbols [String]
address String
exchangeName String

Name of the exchange if its an exchange subWallet

status ExchangeSubWalletStatus

status of the exchange subWallet

balance AssetBalance

assetId: NATIVE, or contract address chainId: For EVM only, specify hex

assetId String
chainId String
balances ⚠️ BalanceConnection!

List of token assets with balances associated with the subWallet (ETH + ERC20 if Ethereum else BTC on Bitcoin) NOTE: pagination is not implemented yet - limit and nextToken are currently ignored

⚠️ DEPRECATED

use balance field

limit Int
nextToken String
allowedDestinations [AllowedDestinationsResponse!]!

All the wallets that this wallet can send to for each supported asset.

asset AssetSymbol

ExchangeTransaction

Field Argument Type Description
from GenericAddress!

The exchange the transaction is sent from

to GenericAddress!

The exchange the transaction is sent to

amount Amount!

The amount of the transferred asset

status TransactionStatus!

Status of the transaction

createdAt String

Timestamp the transaction was created at (ISO 8601 UTC date time):

updatedAt String

Timestamp the transaction was last updated (ISO 8601 UTC date time):

FeePrice

Field Argument Type Description
tip String

the optional tip or priority fee that can be added in most networks. Same unit as price

speed String!

the name of the fee price, typical values are slow, medium and fast.

price String!

price in the unit specified

unit String!

unit of the prices given. e.g. wei or satoshi per byte or other chain specific units

waitTimeInSeconds String

estimated wait time (in seconds) for the transaction to be included in a block at this price

GenericAsset

Field Argument Type Description
name String!
assetSymbol String!
decimals Int
iconUrl String

GenericTransaction

Field Argument Type Description
from GenericAddress!

The exchange the transaction is sent from from.id can be set to empty string if not present for outbound bitcoin transaction, from.id is the subwallet ID

to GenericAddress!

The exchange the transaction is sent to

amount Amount!

The amount of the transferred asset

status TransactionStatus!

Status of the transaction

cancelReason String

Reason the Transaction was cancelled

createdAt String

Timestamp the transaction was created at (ISO 8601 UTC date time):

updatedAt String

Timestamp the transaction was last updated (ISO 8601 UTC date time):

chainDescription String!

Free text field describing the chain

transfers TransfersConnection!

may be empty until transfers are known

id String!

Unique identifier for the transaction

trustVaultInitiated Boolean!

Indicates if the transactions was created and signed from our systems

GenericTransactionConnection

Field Argument Type Description
items [GenericTransaction]

Array of transactions on this page

nextToken String

Token used for querying on the next page

GetTransactionCountResponse

Field Argument Type Description
count String

Number of transactions for provided address on provided chainId

HdWalletPath

The HDWalletPath within the BIP32 Wallet

Field Argument Type Description
hdWalletPurpose String!

Purpose is a constant set to 44' (or 0x8000002C) following the BIP43 recommendation. It indicates that the subtree of this node is used according to this specification

hdWalletCoinType String!

Coin type is a constant, set for each cryptocoin

hdWalletAccount String!

This level splits the key space into independent user identities, so the wallet never mixes the coins across different accounts.

hdWalletUsage String!

Constant 0 is used for external chain(e.g. for receiving payments) and constant 1 for internal chain (also known as change addresses)

hdWalletAddressIndex String!

Addresses are numbered from index 0 in sequentially increasing manner. This number is used as child index in BIP32 derivation.

MessageAddress

Field Argument Type Description
message String!

The message string to be signed

address String!

The address of the public key pair from which the message will be signed from

Organisation

Field Argument Type Description
trustId String!

The trustId

name String!

The Organisation Name

defaultIntermediary Boolean!

Indicates whether the Organisation often acts as an intermediary for transfers on behalf of their customers

canActAsIntermediary Boolean!

Indicates whether the Organisation can act as an intermediary or can only make direct transfers

PinChallenge

Pin challenge to successfully authenticate

Field Argument Type Description
firstPinDigitPosition String!
secondPinDigitPosition String!
sessionToken String!

Policy

Field Argument Type Description
walletId String!

The walletId associated with this policy

recovererSchedules [[Schedule]]!

Schedule describing the recoverers policy

delegateSchedules [[Schedule]]!

Schedule describing the delegates policy

creationTimestamp Int!

Creation time stamp (unix timestamp)

creationDeadline Int!

Deadline for the creation to policy (unix timestamp) - security feature

masterPublicKey String!

Public key of the HSM

version Int!

The version of the policy

PolicyTemplate

Field Argument Type Description
expiryTimestamp Int!

The epoch timestamp the policy change request is valid until

delegateSchedules [[Schedule!]!]!

The schedule that describes which public keys and how many of it is needed to access wallet funds

recovererSchedules [[Schedule!]!]!

The schedule that describes which public keys and how many of it is needed to change the wallet policy

Portfolio

Field Argument Type Description
total Amount!

The total value of all the assets under the portfolio

balances BalanceConnection!

The asset balance summaries of each of the coins (ETH/BTC) The balance summaries of each of the asset (i.e. ETH, BTC..)

timestamp String

The timestamp of the portfolio values (ISO 8601 UTC time)

PortfolioConnection

Field Argument Type Description
items [Portfolio!]!

The current page of Portfolio objects. There will be a portfolio item for each time Period specified in the query

nextToken String

The token to use to get the next page of Portfolio objects. If items is an empty array then this value should be null

PortfolioCsv

Field Argument Type Description
csv String!

CSV portfolio in string format. columns (trustId, subWalletId, asset, value, Value, timestamp)

PublicKeyUser

A type referring to a User that has signed with this publicKey in the past

Field Argument Type Description
email String

email if user, empty if API Key

description String!

Description of the principal

publicKey String!

Device Public Key

RequestIdResponse

Field Argument Type Description
requestId String!

Unique identifier for the change policy request

RequestItem

Field Argument Type Description
requestId String!

The unique identifier for the request

status String!

The status of the request

type String!

The type of the request - RECOVERY CREATION ETHTRANSACTION EXTERNALETHTRANSACTION BTCTRANSACTION EXCHANGETRANSFER, ETHPERSONALSIGN ETHTYPEDDATASIGN

transactionHash String

Unique identifier of the transaction in the blockchain. (only available on BTC_TRANSACTION request type)

signatures Signatures

The signatures for the request

rawTransactionBytes String

Raw transaction bytes of the transaction

RequestTransactionsCsv

Field Argument Type Description
email String!

Schedule

Field Argument Type Description
quorumCount Int!

Defines the minimum number of public keys needed to sign to satisfy the schedule

keys [String!]!

The list of public keys that can sign for the wallet

SignData

Field Argument Type Description
signData String!

The DER encoded transaction digest and the wallet path

shaSignData String!

The SHA3-256 digest of the signData

Signatures

Field Argument Type Description
der String

DER formatted signature

raw String!

r + s signature

rawVrs String

v + r + s signature

SignedTransaction

Field Argument Type Description
transaction EthereumTransaction!
transactionDigest String!

SubWalletConnection

Field Argument Type Description
items [SubWallet]

The current page of SubWallet objects. This can be an empty array if there are no items on this page

nextToken String

The token to use to get the next page of SubWallet objects. If items is an empty array then this value should be null

SubWalletId

Field Argument Type Description
id String!

The HD wallet id

type SubWalletType!

The subwallet type

index Int!

The HD wallet index of the subwallet

SubWalletSummary

Field Argument Type Description
subWalletType String!

Type of subWallet

deleted Int

Number of deleted subWallets

count Int

Number of SubWallets

SuccessResponse

Field Argument Type Description
success Boolean!

TransactionConnection

Connection object to navigate through the transactions

Field Argument Type Description
items [Transaction]

Array of transactions on this page

nextToken String

Token used for querying on the next page

TransactionCsv

Field Argument Type Description
csv String!

CSV in string format.

nextFromDate String

The date timestamp (ISO 8601 UTC time) to be inputted in the subsequent call to get the truncated transactions.

rowsTruncated Int

Amount of rows was truncated.

TransactionDigestData

Field Argument Type Description
transactionDigest String!

The transaction digest of the input

signData String!

The DER encoded transaction digest and the wallet path

shaSignData String!

The SHA3-256 digest of the signData

TransactionId

deprecated because you should use the createEthereumTransactionRaw mutation instead. Not supported after 31st March 2020.

Field Argument Type Description
transactionId String

TransactionResponse

Field Argument Type Description
status TransactionResponseStatus
signedTransaction SignedTransaction

Transfer

Field Argument Type Description
id String!
from GenericAddress!

from.id can be empty string if not present from.id is subWalletId for outbound Bitcoin

to GenericAddress!
direction String!

RECEIVED" | "SENT" | "SELF"

asset BaseAsset!
amount Amount!
originator TravelRuleInfo
beneficiary TravelRuleInfo
submitted Boolean!

Whether the transfer has been previously submitted

TransfersConnection

Field Argument Type Description
items [Transfer]!

space here for additional props, e.g. total etc in future

nextToken String

TravelRuleInfo

Field Argument Type Description
name String
accountId String
customerId String
isCaller Boolean
vasp VaspInfo

UpdateTransferResponse

Field Argument Type Description
success Boolean!

Whether the update was successful

User

Field Argument Type Description
securityTokens UserSecureTokens

User's secure tokens

firstName String

User's first name

lastName String

User's last name

email String

User's email

organisation Organisation!

Organisation details

portfolio PortfolioConnection!

Get the portfolio summary for the user - startDate / endDate is ISO 8601 UTC timestamp

startDate String
endDate String
timePeriod TimePeriod
csvPortfolio PortfolioCsv!

Get the portfolio summary broken down by assets for each subWallet a user has in csv string format - startDate / endDate is ISO 8601 UTC timestamp, currency defaults to GBP NOTE: currently only supports ONEMONTHDAILY timePeriod and could fail to get the most recent time point if the endDate timestamp is within the last 30 minutes of the current hour

endDate String!
timePeriod TimePeriod!
currency String
contractManagement ContractManagementConnection

ONLY the subWallet details (name, address etc...) and Transactions is supported.

subWallet SubWallet
subWalletId String!
subWallets SubWalletConnection!
subWalletId String

optional parameter to get the subWallet for the given subWalletId

currency String

defaults to GBP

limit Int

pagination limit

nextToken String

pagination next token

searchName String

optional parameter to get the wallets matching the given searchName

walletsInfo WalletsInfoConnection!

Get Wallets along with associated subwallet summaries NOTE: pagination is not implemented yet - limit and nextToken are currently ignored

includeDeleted Boolean

optional parameter to include deleted Wallets

includePolicy Boolean

optional parameter to include each Wallet's policy

limit Int

pagination limit

nextToken String

pagination next token

addressBook AddressBookConnection
transactions GenericTransactionConnection!
limit Int

Optional parameter to set number of results per page, max 50

nextToken String

pagination next token

transaction GenericTransaction
id String!

UserSecureTokens

Field Argument Type Description
hmaciOS String

The hmac for secure intercom from iOS

hmacWeb String

The hmac for secure intercom from web

Vasp

Field Argument Type Description
id String!

id of the vasp

name String!

name of the vasp

VaspConnection

Field Argument Type Description
items [Vasp]!
nextToken String

VaspInfo

Field Argument Type Description
id String

id of the vasp

name String

name of the vasp

type VaspType

The VASP type

WalletInfo

Field Argument Type Description
walletId String!

Unique identifier for the wallet

walletName String

Name of wallet

policy Policy

Wallet's signing policy

policyProvenanceSignature String

Wallet's provenance signature

subWalletsSummary [SubWalletSummary]

Summary of SubWallets in Wallet

deleted Boolean

Is this wallet deleted

cluster Cluster!

Cluster information for this wallet

uniquePolicyPublicKeys [PublicKeyUser]

List of all publicKeys used in the Policy

WalletsInfoConnection

Field Argument Type Description
items [WalletInfo]

The current page of Wallet objects. This can be an empty array if there are no items on this page

nextToken String

The token to use to get the next page of Wallet objects. If items is an empty array then this value should be null

defaultWalletId String

Unique identifier for default wallet

Inputs

AccessListItemInput

Field Type Description
address String!
storageKeys [String!]!

AddSignatureInput

Field Type Description
signRequests [SignRequest!]!

The signature to be added for the requestId

requestId String!

Unique identifier for the request to which the signatures will be added

AddressBookEntriesInput

Field Type Description
authentication AuthenticationInput
entries [AddressBookEntryInput!]!

AddressBookEntryInput

Field Type Description
address String!
name String!
chain Chain!
label String
memo String
type [AddressBookEntryType!]

If not set it will be defaulted to [RECIPIENT]

counterparty CounterpartyInfoInput

AuthenticationInput

Field Type Description
enc String!
iv String!
tag String!

CounterpartyInfoInput

Field Type Description
name String
vasp VaspInfoInput

CreateBitcoinAddressInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

addressType BitcoinAddressType

Only COMPATABILITY IS SUPPORTED

addressUsageType BitcoinAddressUsage

 Only Receive is supported

subWalletIdString String!

The unique identifier for the subWallet you wish to send this transaction from

CreateBitcoinTransactionInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user. Optional for API key authentication

bitcoinTransactionParams CreateBitcoinTransactionParams!

The create bitcoin transaction parameters

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToNetworkWhenSigned Boolean

Request that when the transaction is signed by the authorised signer(s), TrustVault will send it directly to the network

currency String

The currency to return the assets in. See docs for supported currencies. defaults to GBP

sendToDevicesForSigning Boolean

If the transaction should be submitted for devices for signing. Set to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. Defaults to true.

CreateBitcoinTransactionParams

Field Type Description
subWalletId String!

The unique identifier for the subWallet you wish to send this transaction from

to String!

The address this transaction is directed to

amount TransactionAmount!

The value of BTC to send with this transation in satoshis

speed TransactionSpeed

The speed at which you want the network to accept the transaction. This a dynamic value for the gasPrice and helps determine the fee. The fee is charged by the network in satoshi. This value is included in the total amount of the transaction. Defaults to MEDIUM

satoshiPerByte String

The amount of satoshi you are willing to pay per byte of the transaction

CreateChangePolicyRequestInput

Field Type Description
delegateSchedules [[ScheduleInput!]]!

The schedule that describes which public keys and how many of it is needed to access wallet funds. (Only supports 1 of 1 schedule currently)

walletId String

Unique identifier for the wallet which the new delegate schedule is going to apply to If not specified the new delegate schedule will going to be applied to ALL the wallets associated with the user

CreateEIP1559TransactionInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

transaction EvmEIP1559Transaction

The EthereumTransaction to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToNetworkWhenSigned Boolean

Request that when the transaction is signed by the authorised signer(s), TrustVault will send it directly to the network

currency String

The currency to return the assets in. See docs for supported currencies. defaults to GBP

rpcUrl String

A non-authenticated Rpc Url of a node to submit transactions to

CreateEIP2930TransactionInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

transaction EvmEIP2930Transaction!

The EthereumTransaction to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToNetworkWhenSigned Boolean

Request that when the transaction is signed by the authorised signer(s), TrustVault will send it directly to the network

currency String

The currency to return the assets in. See docs for supported currencies. defaults to GBP

rpcUrl String

A non-authenticated Rpc Url of a node to submit transactions to

CreateEthPersonalSignInput

Eth Personal Sign

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

messageAddress MessageAddressInput!

The signPersonalMessage to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToDevicesForSigning Boolean

If the transaction should be submitted for devices for signing. Set to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. Defaults to true.

signatureEncryptionPublicKey String

A public key of the caller used to encrypt the signature. Must be on the secp256k1 curve

CreateEthSignTypedDataInput

Eth Sign Typed Data

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

messageAddress MessageAddressInput!

The EthSignTypeData to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToDevicesForSigning Boolean

If the transaction should be submitted for devices for signing. Set to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. Defaults to true.

signatureEncryptionPublicKey String

A public key of the caller used to encrypt the signature. Must be on the secp256k1 curve

CreateEthereumTransactionInput

Transactions

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

ethereumTransaction EthereumTransactionInput!

The EthereumTransaction to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

sendToNetworkWhenSigned Boolean

Request that when the transaction is signed by the authorised signer(s), TrustVault will send it directly to the network

currency String

The currency to return the assets in. See docs for supported currencies. defaults to GBP

sendToDevicesForSigning Boolean

If the transaction should be submitted for devices for signing. Set to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. Defaults to true.

rpcUrl String

A non-authenticated Rpc Url of a node to submit transactions to

CreateEvmTransactionLiteInput

Field Type Description
ethereumTransaction EvmRawTransactionInput!

The EthereumTransaction to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

signRequests [SignRequest!]!

The signatures which satisfy the wallet's policy

expectedDigest String!

The digest the user signed (this should include the wallet path)

hdWalletPath HdWalletPathInput!

The HD wallet path within the BIP32 Wallet

CreateExchangeTransferInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

exchangeTransfer ExchangeTransferInput!

The ExchangeTransfer to be signed

source String!

A text field identifying where the request to sign came from - your application name should go here

CreateSubWalletInput

CreateSubWallet

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user

walletId String!

Unique id for the HD wallet

type SubWalletType!

Name of the asset (i.e BTC / ETH)

name String!

Name of the subWallet (i.e BTC / ETH)

EthereumTransactionInput

Field Type Description
to String!

The address this transaction is directed to OR the ERC20 token recipient

assetSymbol String

This TrustVault supported asset you are trying to send. For Ether set this to ETH for ERC20 token, set this to the TrustVault token symbol. (See docs for supported tokens)

value String!

For ETH, the value of ETH to send with this transaction in WEI, for ERC20, the value in base unit. e.g. for a token with 6 decimal places, to send 1 token specify 1000000

speed TransactionSpeed

The speed at which you want the network to accept the transaction. This a dynamic value for the gasPrice and helps determine the fee. The fee is charged by the network in ETH. This value is included in the total amount of the transaction. Defaults to MEDIUM (either speed or gasLimit + gasPrice must be given)

gasLimit String

Int (as String) of the gas provided for the transaction execution (either speed or gasLimit + gasPrice must be given)

gasPrice String

Int (as String) of the gasPrice used for each paid gas (either speed or gasLimit + gasPrice must be given)

fromAddress String!

The address the transaction is sent from (This must be owned by the user whose authentication tokens you are using)

nonce Int

The number of transactions made by the sender prior to this one (will be calculated automatically if not given)

chainId Int

The chainId e.g. 1 for mainnet or 17000 for Holesky (will be calculated automatically if not given)

data String

The compiled code of a contract OR the hash of the invoked method signature and encoded parameters (will be calculated automatically if not given)

EvmEIP1559Transaction

Field Type Description
from String!

Hex - From address

to String

Hex - To address

value String!

Hex - The value of ETH to send with this transaction

chainId String!

Hex - The chainId e.g. 1 for mainnet or 17000 for Holesky

nonce String!

Hex - The number of transactions a user has already sent (plus 1 for this transaction)

gasLimit String!

Hex - Limit of gas used for the transaction execution (wei)

data String

Hex - compiled contract code for the transaction, valid values undefined, 0x, 0xdeadbeef etc

maxFeePerGas String!

Hex - Maximum fee per gas (wei)

maxPriorityFeePerGas String!

Hex - Maximum priority fee per gas (wei)

accessList [AccessListItemInput!]

Access list

EvmEIP2930Transaction

Field Type Description
from String!

Hex - From address

to String

Hex - To address

value String!

Hex - The value of ETH to send with this transaction

chainId String!

Hex - The chainId e.g. 1 for mainnet or 17000 for Holesky

nonce String!

Hex - A counter for the number of transactions sent by the account

gasLimit String!

Hex - Limit of gas used for the transaction execution (wei)

data String

Hex - compiled contract code for the transaction, valid values undefined, 0x, 0xdeadbeef etc

accessList [AccessListItemInput!]!

Access list

gasPrice String!

Hex - Gas price per unit consumed (wei)

EvmRawTransactionInput

Field Type Description
type Int

The Ethereum transaction envelope type, defaults to 0 (legacy) if not provided

to String!

The address this transaction is directed to OR the ERC20 token recipient

value String!

The value of ETH to send with this transactiona

gasLimit String

Int (as String) of the gas provided for the transaction execution.

gasPrice String

Int (as String) - wei

maxPriorityFeePerGas String

Int (as String) - wei

maxFeePerGas String

Int (as String) - wei

fromAddress String!

The address the transaction is sent from (This must be owned by the user whose authentication tokens you are using)

nonce Int

The number of transactions made by the sender prior to this one

chainId Int

The chainId e.g. 1 for mainnet or 17000 for Holesky

data String

The compiled c code of a contract OR the hash of the invoked method signature and encoded parameters

ExchangeTransferInput

The ExchangeTransferInput to be sent

Field Type Description
fromSubWalletId String
toSubWalletId String
value String!

The amount of the asset to be transferred, a decimal integer string in the base unit of the asset e.g. Satoshis for BTC or Wei for ETH

assetSymbol AssetSymbol!

The asset to be transferred

ExchangeWalletId

Field Type Description
id String!

The id of the wallet

type ExchangeType!

The type of the exchange wallet, i.e. which exchange is it on

index Int!

The 0-based index of the key within the same wallet. This allows us to have multiple exchange accounts of the same type within a single wallet. This isn't expected right now, but good to be future proof

GetAuthenticationTokensInput

Field Type Description
email String!
pinChallenge PinChallengeAttempt!

GetTransactionCountInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user (optional for API key users)

chainId Int!

The chainId of the desired transaction count e.g. 1 for mainnet or 17000 for Holesky

address String!

Address from which to count the number of transaction

walletId String!

Internal Only. Temporarily used to determine whether queuing is turned on for that account/wallet

HdWalletPathInput

The HDWalletPath within the BIP32 Wallet

Field Type Description
hdWalletPurpose String!

Purpose is a constant set to 44' (or 0x8000002C) following the BIP43 recommendation. It indicates that the subtree of this node is used according to this specification

hdWalletCoinType String!

Coin type is a constant, set for each cryptocoin

hdWalletAccount String!

This level splits the key space into independent user identities, so the wallet never mixes the coins across different accounts.

hdWalletUsage String!

Constant 0 is used for external chain(e.g. for receiving payments) and constant 1 for internal chain (also known as change addresses)

hdWalletAddressIndex String!

Addresses are numbered from index 0 in sequentially increasing manner. This number is used as child index in BIP32 derivation.

MessageAddressInput

Field Type Description
message String!

The message string to be signed

address String!

The address of the public key pair from which the message will be signed from

version String

Version of the ethsignedtypeddata. defaults to "V3". format is currently "V3" or "V4"

PinChallengeAttempt

The pin digits the user has to input

Field Type Description
firstPinDigit String!
secondPinDigit String!
sessionToken String!

PublicKeySignaturePair

Field Type Description
publicKey String!

The public key of the private key that was used to sign the digest

signature String!

The signature generated when the digest was signed by the private key

RequestAuditLogInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user (optional for API key users)

toDate String

The end date from date in ISO format e.g. '2022-11-29T16:52:03.892Z'. Will default to now

fromDate String

The initial from date in ISO format e.g. '2022-11-29T16:52:03.892Z'. Will default to one month ago

RequestCsvTransactionsInput

Field Type Description
authentication AuthenticationInput

The authentication tokens for the user (optional for API key users)

assetSymbols [String]
toDate String
fromDate String!
count Int
subWalletId String

RequestSignatureInput

Field Type Description
authentication AuthenticationInput!
transaction TransactionInput!
transactionDigest String!
source String

ScheduleInput

Field Type Description
quorumCount Int!

Defines the minimum number of public keys needed to sign to satisfy the schedule

keys [String]!

The list of public keys that can sign for the wallet

SignRequest

Field Type Description
publicKeySignaturePairs [PublicKeySignaturePair]!

The public key and signature pair over the digest

SubWalletIdInput

Field Type Description
id String!

The HD wallet id

type SubWalletType!

The subwallet type

index Int!

The HD wallet index of the subwallet

TransactionAmount

Field Type Description
value String!
currency String!

TransactionInput

deprecated because you should use the createEthereumTransactionRaw mutation instead. Not supported after 31st March 2020.

Field Type Description
to String!
value String!
chainId Int!
nonce Int!
gasLimit String!
gasPrice String!
fromAddress String!
data String
v Int!

TransferInput

Field Type Description
id String!

The transfer ID ${transactionId}-${index} e.g. 1245-0

beneficiary TravelRuleInfoInput!

The beneficiary information

originator TravelRuleInfoInput!

The originator information

submit Boolean

Whether to submit the transfer for compliance review or not

TravelRuleInfoInput

Field Type Description
name String

The name of the originator

accountId String

The account ID of the originator

customerId String

The customer ID of the originator If value >= 1000 EUR, an additional identifier for customer is required

isCaller Boolean!

True means the Organisation is the originator/beneficiary (depending on transfer direction of SENT/RECEIVED respectively) False means that the originator/beneficiary is the User's Organisation is acting as an intermediary OR its an unrelated 3rd party. (depending on the transfer direction)

vasp VaspInfoInput

The VASP (virtual asset service provider) information

VaspInfoInput

Field Type Description
id String

id of the vasp

name String

name of the vasp if no id is provided

type VaspType

The VASP type

Enums

AddressBookEntryType

Value Description
RECIPIENT
TRAVEL_RULE

AssetSymbol

Symbol of the asset

Value Description
ETH
BTC

AssetType

NATIVE - assets that are native the chain (i.e. Etheruem, Bitcoin), ERC20 - Ethereum ERC20 Tokens

Value Description
NATIVE
ERC20
BEP2

BitcoinAddressType

Value Description
LEGACY
COMPATIBILITY
NATIVE

BitcoinAddressUsage

Value Description
CHANGE
RECEIVE

Chain

" The blockchain on which an asset is traded ChainInstance (not protocol)

Value Description
BINANCE_SMART_CHAIN
BITCOIN
CARDANO
ETHEREUM
RADIX
RIPPLE
SOLANA
DOGE
VECHAIN
XDCNETWORK
SUBSTRATE

ChainAddressUsage

All possible Address Usages across all chains, does not necessarily apply to each chain

Value Description
RECEIVE
STAKE
CHANGE

ClusterType

Value Description
ONLINE
ULTRA_COLD

ExchangeSubWalletStatus

Value Description
UNINITIALISED
RECEIVE
ALL
TOTP_ONLY

ExchangeType

Value Description
KRAKEN
COINBASE_PRIME
LUNO
BITMEX
VALR
TAGOMI
KRAKEN_FUTURES

ExchangeWalletStatus

The status of a wallet

  • UNINITIALISED - A wallet that has not been initialised.Cannot send, receive or see their balances.
  • RECEIVE - A wallet that has not been initialised but can only receieve.
  • ALL - A wallet that has been initialised with api keys that can receive , send and see their balances.
  • TOTP_ONLY A wallet that has been initialised with only TOTP. It can receive transactions.
Value Description
UNINITIALISED
RECEIVE
ALL
TOTP_ONLY

SubWalletType

Value Description
KRAKEN
COINBASE_PRIME
LUNO
BITMEX
ETH
BTC
VALR
TAGOMI
KRAKEN_FUTURES
RADIX
XDCNETWORK
BINANCE_SMART_CHAIN

TimePeriod

ONEMONTHDAILY - daily for the last 31 days

Value Description
HOURLY
DAILY
WEEKLY
MONTHLY
ONE_MONTH_DAILY
ONE_WEEK_DAILY
ONE_DAY

TransactionDirection

The direction the transaction was sent the transaction was sent to the same address that it came from (sent to yourself) the client sent a transaction to someone the client received a transaction from someone

Value Description
SELF
SENT
RECEIVED

TransactionResponseStatus

Value Description
PENDING
QUEUED
SIGNED
SUBMITTED
USER_CANCELLED
ERROR
BLOCKED

TransactionSpeed

Value Description
SLOW
MEDIUM
FAST

TransactionStatus

The status that a blockchain transaction or exchange transfer can take. NOTE: This list is subject to additions, do not assume this is a finalized list

  • DRAFT - The transaction has not been signed by any users of the account and is not ready to be submitted to the blockchain yet
  • SIGNED - The transaction has been signed by all necessary users and re-signed by TrustVault / not yet been processed by the Exchange Service
  • PREPROCESSING - A transfer that has been currently being preprocessed but yet not completed. (ie moved from KRAKEN FUTURES to KRAKEN SPOT but not yet confirmed that it has been deposited.).
  • PREPROCESSED - A transfer has been preprocessed ie; moved from KRAKEN-FUTURES to KRAKEN-SPOT, but not been submitted to the sending exchange/network.
  • SUBMITTED - The transfer has been submitted to the sending exchange / submitted to the network for processing
  • ON_CHAIN - The transaction has been sent to the network and included in at least 1 block. Currently waiting for further confirmations to be CONFIRMED (i.e. not yet guaranteed that the block is in the longest chain of that network)
  • RECEIVED - The receiving exchange has identified the on-chain transaction but has not yet credited it to the client's account.
  • CREDITED The funds are cleared in the client's account.
  • CONFIRMED - The transaction has been included in enough blocks to deem it irreversible /
  • USER_CANCELLED - The transaction was cancelled by a user
  • POSTPROCESSING - A transfer that has been credited but has not finished being preprocessed (eg moved from Kraken-Spot to Kraken-Futures).
  • COMPLETED - All the postprocessing activities have successfully finished. ie; moved from KRAKEN-SPOT to KRAKEN-FUTURES.
  • ERROR - The transaction is in an error state
  • NOT_AVAILABLE - The transaction status cannot be obtained at this point. Try again later
  • BLOCKED - The transaction cannot be sent as it is BLOCKED by client defined rules
  • AWAITING USER TRAVEL_RULE - The transaction requires more information to be provided, this can be done on the Bitpanda Custody website
  • AWAITING_COMPLIANCE - The transaction is being reviewed by our compliance team
  • AWAITING_SIGNATURES - The transaction is waiting all necessary users to sign the transaction
  • REJECTED - The transaction has been rejected by the compliance team and cannot be sent
  • CLEARED - A transaction that did NOT originate from TrustVault was cleared by compliance meaning they can spend any resulting funds received.
Value Description
DRAFT
SIGNED
PREPROCESSING
PREPROCESSED
SUBMITTED
ON_CHAIN
RECEIVED
CREDITED
CONFIRMED
USER_CANCELLED
SYSTEM_CANCELLED
POSTPROCESSING
COMPLETED
ERROR
BLOCKED
NOT_AVAILABLE
AWAITING_USER_TRAVEL_RULE
AWAITING_COMPLIANCE
AWAITING_SIGNATURES
REJECTED
CLEARED

VaspType

Value Description
LISTED
UNLISTED
UNKNOWN
UNHOSTED

WalletFilter

BLOCKCHAIN (i.e. Ethereum, Bitcoin), EXCHANGE (i.e. Coinbase, Kraken)

Value Description
BLOCKCHAIN
EXCHANGE
ALL

WalletType

Value Description
EXCHANGE
BLOCKCHAIN
UNIVERSAL

Scalars

Boolean

The Boolean scalar type represents true or false.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Interfaces

BaseAsset

Field Argument Type Description
name String!
assetSymbol String!
decimals Int
iconUrl String

Possible Types: GenericAsset, EvmAsset

ChainRawTransaction

Field Argument Type Description
amount String!

The amount in wei that was transferred in the transaction - hex string

blockHeight Int!

The height of the block where this transaction is in

Possible Types: ChainRawEthereumTransaction

Connection

Field Argument Type Description
nextToken String

Possible Types: VaspConnection, TransfersConnection, SubWalletConnection, WalletsInfoConnection, AddressBookConnection, AddressConnection, BalanceConnection, GenericTransactionConnection

CreateBitcoinTransactionResponseInterface

Field Argument Type Description
signData BitcoinSign

The transaction data to be signed

chainRate String

Bitcoin rate in desired currency

fee Int

The transaction fee in satoshi

maxAllowedToSend String

The max allowed to send in satoshi

feeForMax String

The fee for the max send amount in satoshi

balance String

The current balance of the wallet in satoshi

Possible Types: CreateBitcoinDraftTransaction, CreateBitcoinTransactionIdResponse

CreateEthereumTransactionResponseInterface

Field Argument Type Description
signData EthereumSign!

Data needed to sign a transaction

chainRate String!

Ethereum rate in desired currency

assetRate String!

Token rate in desired currency

Possible Types: CreateEthereumDraftTransaction, CreateEthereumTransactionResponse, CreateXdcNetworkTransactionResponse

EthDecodedParameter

Field Argument Type Description
name String

The parameter name of the decoded input array, only available on the top level params in EthDecodedMethodData

type String!

The solidity type of the input parameter (bytes, uint, address etc..)

Possible Types: EthDecodedArrayParameter, EthDecodedStringParameter

GenericAddress

Field Argument Type Description
id String!

Possible Types: Address, BitcoinAddress

PublicKeyProvenance

Field Argument Type Description
publicKey String!

The sub-wallet's public key

path [String!]!

The HD wallet path of the sub-wallet

trustVaultProvenanceSignature String!

The trustvault signature over SHA-256(DER(publicKey + path + walletId))

SubWallet

Field Argument Type Description
walletInfo WalletInfo

Wallet Information for this SubWallet

address String

subWallet address

subWalletId String!

Unique id for the subWallet. String format of the subWalletId (id/type/index)

name String!

name of the subWallet

createdAt String!

Creation time stamp (ISO 8601 UTC time)

updatedAt String!

Modified time stamp (ISO 8601 UTC time)

walletType WalletType!

SubWallet Type

transactions TransactionConnection!

Transaction connection

limit Int
nextToken String
assetSymbols [String]
address String
balance AssetBalance

assetId: NATIVE, or contract address chainId: For EVM only, specify hex

assetId String
chainId String
balances ⚠️ BalanceConnection!

List of token assets with balances associated with the subWallet (ETH + ERC20 if Ethereum else BTC on Bitcoin) NOTE: pagination is not implemented yet - limit and nextToken are currently ignored

⚠️ DEPRECATED

use balance field

limit Int
nextToken String

Possible Types: BlockchainSubWallet, ExchangeSubWallet

Transaction

Transaction object

Field Argument Type Description
from GenericAddress!

The exchange the transaction is sent from

to GenericAddress!

The exchange the transaction is sent to

amount Amount!

The amount of the transferred asset

status TransactionStatus!

Status of the transaction

createdAt String

Timestamp the transaction was created at (ISO 8601 UTC date time):

updatedAt String

Timestamp the transaction was last updated (ISO 8601 UTC date time):

Possible Types: GenericTransaction, BlockchainTransaction, ExchangeTransaction

Unions

EvmSignTransaction

Type Description
EIP2930Transaction
EIP1559Transaction