Trust API
You can run queries in our Sandbox environment using our Postman collection.
Schema Types
Table of Contents
- Query
- Mutation
-
Objects
- Account
- Address
- AddressBook
- AddressBookConnection
- AddressConnection
- AddressPublicKeyProvenance
- Amount
- Asset
- Authentication
- AuthenticationResponse
- Balance
- BalanceConnection
- BitcoinAddress
- BitcoinAddressResults
- BitcoinInput
- BitcoinOutput
- BitcoinPublicKeyProvenance
- BitcoinSign
- BitcoinTransaction
- BlockchainSubWallet
- BlockchainTransaction
- BlockchainWallet
- ChainRawEthereumTransaction
- ChangePolicyRequest
- ChangePolicyRequestResponse
- Cluster
- CreateBitcoinDraftTransaction
- CreateBitcoinTransactionIdResponse
- CreateCardanoTransactionResponse
- CreateEthPersonalSignResponse
- CreateEthSignTypedDataResponse
- CreateEthereumDraftTransaction
- CreateEthereumTransactionResponse
- CreateRadixTransactionResponse
- CreateRippleTransactionResponse
- CreateSubWalletResponse
- DigestData
- EthDecodedArrayParameter
- EthDecodedMethodData
- EthDecodedStringParameter
- EthPersonalSignData
- EthSignTypedData
- EthereumSign
- EthereumTransaction
- EvmAsset
- GenericAsset
- GenericTransaction
- GenericTransactionConnection
- HdWalletPath
- MessageAddress
- Organisation
- PinChallenge
- Policy
- PolicyTemplate
- Portfolio
- PortfolioConnection
- PortfolioCsv
- RequestIdResponse
- RequestItem
- RequestTransactionsCsv
- Schedule
- SignData
- Signatures
- SignedTransaction
- SubWalletConnection
- SubWalletId
- SubWalletSummary
- TransactionConnection
- TransactionCsv
- TransactionDigestData
- TransactionId
- TransactionResponse
- Transfer
- TransfersConnection
- TravelRuleInfo
- UpdateTransferResponse
- User
- UserWallet
- Vasp
- VaspConnection
- VaspInfo
- WalletConnection
- WalletInfo
- WalletsInfoConnection
-
Inputs
- AddSignatureInput
- AuthenticationInput
- CardanoPaymentTransactionInput
- CardanoStakeTransactionInput
- CreateBitcoinAddressInput
- CreateBitcoinTransactionInput
- CreateBitcoinTransactionParams
- CreateCardanoPaymentTransactionInput
- CreateCardanoStakeTransactionInput
- CreateCardanoUnstakeTransactionInput
- CreateCardanoWithdrawalTransactionInput
- CreateChangePolicyRequestInput
- CreateEthPersonalSignInput
- CreateEthSignTypedDataInput
- CreateEthereumTransactionInput
- CreateRadixTransactionInput
- CreateRippleTransactionInput
- CreateSubWalletInput
- EthereumTransactionInput
- GetAuthenticationTokensInput
- MessageAddressInput
- PinChallengeAttempt
- PublicKeySignaturePair
- RadixTransactionInput
- RequestCsvTransactionsInput
- RequestSignatureInput
- RippleTransactionInput
- ScheduleInput
- SignRequest
- SubWalletIdInput
- TransactionAmount
- TransactionInput
- TransferInput
- TravelRuleInfoInput
- VaspInfoInput
- Enums
- Scalars
- Interfaces
Query
Field | Argument | Type | Description |
---|---|---|---|
user | User! |
Use this to get information about a users - can only be accessed with valid token |
|
authentication | AuthenticationInput | ||
userWallet ⚠️ | UserWallet! |
Contains all the fields that can only be accessed with valid tokens. (Not supported after 31st March 2020) ⚠️ DEPRECATED
|
|
authentication | AuthenticationInput | ||
getPartialPinChallenge | PinChallenge |
Get the partial pin challenge for the a user. - mutation? |
|
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 for |
|
authentication | AuthenticationInput | ||
transactionId | String! | ||
getRequest | RequestItem! |
Retrieves the request item associated with the given requestId |
|
authentication | AuthenticationInput | ||
requestId | String | ||
vasps | VaspConnection! |
Retrieves a list of all active vasps |
Mutation
Field | Argument | Type | Description |
---|---|---|---|
requestSignature ⚠️ | TransactionId! |
deprecated because you should use the createEthereumTransaction mutation instead. Not supported after 31st March 2020 ⚠️ DEPRECATED
|
|
requestSignatureInput | RequestSignatureInput! | ||
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 transactionId to query the status of the transaction later. |
|
createTransactionInput | CreateEthereumTransactionInput! | ||
createRippleTransaction | CreateRippleTransactionResponse! |
Create a Ripple transaction request |
|
createRippleTransactionInput | CreateRippleTransactionInput! | ||
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 transactionId 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! | ||
createRadixTransaction | CreateRadixTransactionResponse! |
Create a radix transaction request to sign using the private key of the given subWalletId |
|
createRadixTransactionInput | CreateRadixTransactionInput! | ||
createCardanoPaymentTransaction | CreateCardanoTransactionResponse! | ||
transactionInput | CreateCardanoPaymentTransactionInput! | ||
createCardanoStakeTransaction | CreateCardanoTransactionResponse! | ||
transactionInput | CreateCardanoStakeTransactionInput! | ||
createCardanoUnstakeTransaction | CreateCardanoTransactionResponse! | ||
transactionInput | CreateCardanoUnstakeTransactionInput! | ||
createCardanoWithdrawalTransaction | CreateCardanoTransactionResponse! | ||
transactionInput | CreateCardanoWithdrawalTransactionInput! | ||
requestCsvTransactions | RequestTransactionsCsv |
Users transactions in csv string, csv will be sent to a registered email, optionally can pass asset |
|
requestCsvTransactionsInput | RequestCsvTransactionsInput! | ||
updateTravelRuleInfo | UpdateTransferResponse! |
Add or update travel rule information for a given transfer |
|
authentication | AuthenticationInput | ||
transfers | [TransferInput!]! |
Objects
Account
Deprecated as of 31st March 2020 along with UserWallet query
Field | Argument | Type | Description |
---|---|---|---|
address | String! |
The address of the account (wallet) |
|
accountName | String! |
The name of the account (wallet) |
|
assetGuid | String! |
Unique id for the specific path / address in the HD Wallet |
|
accountPublicKey | String! |
Public key of the account (wallet) |
|
walletId | String! |
Unique id for the HD wallet |
|
assetName | String! |
Name of the asset (i.e BTC / ETH) |
|
devicePublicKey | String! |
Public key of the device related to the wallet |
|
policyHSMProvenanceSignature | String! |
Signature of the HSM over the policy |
|
accountHSMProvenanceSignature | String! |
Signature of the HSM over the account (wallet) |
|
accountWalletPath | [String]! |
The specific path in the HD wallet |
|
policy | Policy! |
Policy of wallet |
|
recoverersVersion | Int! |
The version of the recoverer's policy |
|
creationTimestamp | Int! |
Creation time stamp |
|
modifiedTimestamp | Int! |
Modified time stamp |
Address
Field | Argument | Type | Description |
---|---|---|---|
id | String! |
Unique identifier for the address |
AddressBook
Field | Argument | Type | Description |
---|---|---|---|
address | String! |
Chain address |
|
chain | Chain |
Chain the address belongs to |
|
name | String! |
Name of the address |
|
label | String |
Label (optional) |
AddressBookConnection
Field | Argument | Type | Description |
---|---|---|---|
items | [AddressBook!] |
Array with all the Address Book items |
|
nextToken | String |
nextToken for pagination. Not used for now. |
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 |
|
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 |
|
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) |
Amount
Field | Argument | Type | Description |
---|---|---|---|
value | String |
Big decimal in string format or "NaN" string value. "NaN" string indicates that TrustVault failed to get amount value |
|
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 conversion 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 Trustology 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) |
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 |
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 |
|
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 usgage type (e.g. CHANGE or RECEIVE) |
|
transactions | TransactionConnection! |
Transactions were received into the given bitcon address. |
|
limit | Int | ||
nextToken | String |
BitcoinAddressResults
AddressCreationResults 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 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 signature of the trustvault HSM over the wallet |
|
unverifiedAddress | String! |
Do not use for transactions, instead derive the address from the public key |
|
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 |
---|---|---|---|
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 |
|
id ⚠️ | String! |
Unique id for the subWallet. String format of the subWalletId (id/type/index) ⚠️ DEPRECATED
|
|
subWalletId | String! | ||
name | String! |
The 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 |
|
limit | Int | ||
nextToken | String | ||
transactions | TransactionConnection! |
Transaction connection (see supported-assets docs for available assetSymbols) |
|
limit | Int | ||
nextToken | String | ||
assetSymbols | [String] | ||
address | 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 |
|
limit | Int | ||
nextToken | String | ||
total | Amount! |
The total value of all the tokens associated with the subWallet |
|
requestCsvTransactions ⚠️ | RequestTransactionsCsv |
Users transactions in csv string, csv will be sent to a registered email, optionally can pass asset ⚠️ DEPRECATED
|
|
assetSymbols | [String] | ||
toDate | String | ||
fromDate | String! | ||
count | Int |
BlockchainTransaction
Field | Argument | Type | Description |
---|---|---|---|
from | GenericAddress! |
The address the transaction is sent from |
|
to | GenericAddress! |
The address 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 |
BlockchainWallet
Field | Argument | Type | Description |
---|---|---|---|
address | String |
Convenience property showing the current address. For enhanced security, generate on the address on the client from the wallet public key after verifying the signature |
|
id | String! |
Unique id for the HD wallet |
|
subWalletId ⚠️ | SubWalletId! |
Unique identifier for the sub wallet ⚠️ DEPRECATED
|
|
subWalletIdString | String! |
Unique identifier for the subWallet in string format |
|
name | String! |
The name of the account (wallet) |
|
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 wallet - used to generate the address on the client side |
|
chain | Chain! |
The chain of the wallet |
|
trustVaultPublicKeySignature | String! |
The TrustVault signature over the public key |
|
addresses | AddressConnection! |
Bitcoin Addresses associated with this wallet |
|
limit | Int | ||
nextToken | String | ||
transactions | TransactionConnection! |
Transaction connection |
|
limit | Int | ||
nextToken | String | ||
assetSymbols | [String] | ||
address | String | ||
balances | BalanceConnection! |
List of token assets with balances associated with the wallet (ETH + ERC20 if Ethereum else BTC on Bitcoin) NOTE: pagination is not implemented yet - limit and nextToken are currently ignored |
|
limit | Int | ||
nextToken | String | ||
total | Amount! |
The total value of all the tokens associated with the wallet |
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 (null when input is unsupported) |
|
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 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 |
CreateBitcoinDraftTransaction
Field | Argument | Type | Description |
---|---|---|---|
signData | BitcoinSign |
The transction 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 |
|
trustVaultTransactionId ⚠️ | String |
The Trustvault transaction id ⚠️ DEPRECATED
|
|
signData | BitcoinSign |
The transction 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 |
CreateCardanoTransactionResponse
Field | Argument | Type | Description |
---|---|---|---|
requestId | String |
The unique identifier for the transaction Optional in case sendToDevicesForSigning is false |
CreateEthPersonalSignResponse
Eth Personal Sign
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 |
|
transactionId ⚠️ | String! |
The unique identifier for the ethereum transaction request ⚠️ DEPRECATED
|
|
trustVaultTransactionId ⚠️ | String! |
The unique identifier for the ethereum transaction request ⚠️ DEPRECATED
|
|
signData | EthereumSign! |
Data needed to sign a transaction |
|
chainRate | String! |
Ethereum rate in desired currency |
|
assetRate | String! |
Token rate in desired currency |
CreateRadixTransactionResponse
Field | Argument | Type | Description |
---|---|---|---|
requestId | String! |
The unique identifier for the radix transaction sign request |
CreateRippleTransactionResponse
Field | Argument | Type | Description |
---|---|---|---|
requestId | String |
The unique identifier for the transaction |
|
signData | 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! |
CreateSubWalletResponse
Field | Argument | Type | Description |
---|---|---|---|
subWalletId | String! | ||
receiveAddressDetails | AddressPublicKeyProvenance! |
DigestData
Field | Argument | Type | Description |
---|---|---|---|
digest | String! |
The digest of the input |
|
signData | String! |
The DER encoded of the digest |
|
shaSignData | String! |
The SHA56 digest of the signData |
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
Ethereum Transaction Decoded data
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 HDWalletPath 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 3 for ropsten |
|
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 (either speed or gasLimit + gasPrice must be given) |
|
gasPrice | String! |
Int (as String) of the gasPrice used (in WEI) for each unit of gas (either speed or gasLimit + gasPrice must be given) |
|
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! |
GenericAsset
Field | Argument | Type | Description |
---|---|---|---|
name | String! | ||
assetSymbol | String! | ||
decimals | Int |
GenericTransaction
Field | Argument | Type | Description |
---|---|---|---|
from | GenericAddress! |
The address 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 address the transaction is sent to address.id can be set to empty string if not present |
|
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): |
|
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 |
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
Eth Sign Typed Data
Field | Argument | Type | Description |
---|---|---|---|
message | String! |
The message string to be signed |
|
address | String! |
The address from which the message will be signed from |
Organisation
Field | Argument | Type | Description |
---|---|---|---|
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, |
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 |
|
transactionHash | String |
Unique identifier of the transaction in the blockchain. (only available on transaction requests) |
|
signature ⚠️ | String |
The signature for the message (r + s OR r + s + v for ETHPERSONALSIGN request type) ⚠️ DEPRECATED
|
|
signatures | Signatures |
The signature for the request |
RequestTransactionsCsv
Field | Argument | Type | Description |
---|---|---|---|
String! |
Email of the initiator, defaults to registered organisations email if initated from api |
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 policyTemplate |
|
shaSignData | String! |
The SHA256 digest of the signData |
Signatures
Field | Argument | Type | Description |
---|---|---|---|
der | String |
DER formatted signature |
|
raw | String! |
r + s signature |
SignedTransaction
Field | Argument | Type | Description |
---|---|---|---|
transaction | EthereumTransaction! | ||
transactionDigest | String! |
SubWalletConnection
Field | Argument | Type | Description |
---|---|---|---|
allSubWalletsPortfolio ⚠️ | Portfolio |
NOTE: applies to all of your subWallets (w/o filtering / limit) ⚠️ DEPRECATED
|
|
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 |
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 SHA256 digest of the signData |
TransactionId
Deprecated as of 31st March 2020 along requestSignature mutation, use the createEthereumTransaction mutation instead.
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 |
TransfersConnection
Field | Argument | Type | Description |
---|---|---|---|
items | [Transfer]! | ||
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 |
---|---|---|---|
firstName | String |
User's first name |
|
lastName | String |
User's last name |
|
String |
User's email |
||
organisation | Organisation! |
Organisation details |
|
portfolio | PortfolioConnection! |
Get the portfolio summary for the user - startDate, endDate (ISO 8601 UTC time) |
|
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. Could fail to get the most recent time point if the endDate timestamp is within the first 30 minutes of the current hour |
|
endDate | String! | ||
timePeriod | TimePeriod! | ||
currency | String | ||
wallet | Wallet |
ONLY the wallet details (name, address etc...) and Transactions is supported. |
|
walletId | String! |
Pick the wallet by walletId |
|
subWallet | SubWallet |
Fast query for a single subWallet ONLY the subWallet details (name, address etc...) and Transactions is supported. |
|
subWalletId | String! | ||
wallets | WalletConnection! |
Get the users wallets with balance. A Wallet can be thought of as a BIP32 HD wallet NOTE: pagination is not implemented yet - limit and nextToken are currently ignored Has API key support |
|
walletId | String |
Optional parameter to get the wallet for the given wallet id |
|
walletType | WalletType |
Optional parameter to get the wallets matching the given WalletType |
|
currency | String |
Defaults to GBP |
|
searchName | String |
Optional parameter to get the subWallets matching the given searchName |
|
limit | Int |
Pagination limit |
|
nextToken | String |
Pagination next token |
|
subWallets | SubWalletConnection! | ||
subWalletId | String |
Optional parameter to get the subWallet for the given subWalletId |
|
walletType | WalletType |
Optional parameter to get the subWallets matching the given WalletType |
|
currency | String |
Defaults to GBP |
|
searchName | String |
Optional parameter to get the subWallets matching the given searchName |
|
limit | Int |
Pagination limit |
|
nextToken | String |
Pagination next token |
|
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 |
|
getCsvTransactions ⚠️ | TransactionCsv |
Users transactions in csv string, optionally can pass asset and walletId (see supported-assets docs for available assetSymbols) ⚠️ DEPRECATED
|
|
walletId | String | ||
assetSymbols | [String] | ||
toDate | String | ||
fromDate | String! | ||
count | Int | ||
requestCsvTransactions ⚠️ | RequestTransactionsCsv |
Users transactions in csv string, csv will be sent to a registered email, optionally can pass asset and subWalletId ⚠️ DEPRECATED
|
|
assetSymbols | [String] | ||
toDate | String | ||
fromDate | String! | ||
count | Int | ||
addressBook | AddressBookConnection |
Users addressbook information |
|
transactions | GenericTransactionConnection! | ||
limit | Int |
Optional parameter to set number of results per page, max 50 |
|
nextToken | String |
pagination next token |
|
transaction | GenericTransaction | ||
id | String! |
UserWallet
Deprecated as of 31st March 2020 along with UserWallet
Field | Argument | Type | Description |
---|---|---|---|
getAccounts | [Account]! |
Get the users accounts (wallets) no balance info - lightweight |
|
walletFilter | WalletFilter | ||
getTransactionInfo | TransactionResponse |
Get the updated status of the transaction |
|
transactionId | String! |
Vasp
Field | Argument | Type | Description |
---|---|---|---|
id | String! |
id of the vasp |
|
name | String! |
name of the vasp |
VaspConnection
Get vasps (Travel Rule API)
Field | Argument | Type | Description |
---|---|---|---|
items | [Vasp]! | ||
nextToken | String |
VaspInfo
Transaction history (Travel Rule API)
Field | Argument | Type | Description |
---|---|---|---|
id | String |
id of the vasp |
|
name | String |
name of the vasp |
|
type | VaspType |
The VASP type |
WalletConnection
Field | Argument | Type | Description |
---|---|---|---|
allWalletsPortfolio ⚠️ | Portfolio |
NOTE: applies to all of your wallets (w/o filtering / limit) ⚠️ DEPRECATED
|
|
items | [Wallet] |
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 |
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 |
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
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 |
AuthenticationInput
Field | Type | Description | |
---|---|---|---|
enc | String! | ||
iv | String! | ||
tag | String! |
CardanoPaymentTransactionInput
Field | Type | Description | |
---|---|---|---|
amount | String! |
0x prefixed hexadecimal value of the transaction in Lovelace |
|
to | String! |
Cardano address to send payment to (e.g addr1xyz456) |
CardanoStakeTransactionInput
Field | Type | Description | |
---|---|---|---|
poolId | String! |
Pool Identifier e.g pool1abc123 |
CreateBitcoinAddressInput
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit a request to create a Bitcoin address (optional for API key users) |
|
addressType | BitcoinAddressType |
Only COMPATIBILITY IS SUPPORTED |
|
addressUsageType | BitcoinAddressUsage |
Only Receive is supported |
|
subWalletIdString | String |
The unique identifier for subWallet you wish to send this transaction from |
CreateBitcoinTransactionInput
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature. 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. defaults to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. |
CreateBitcoinTransactionParams
Field | Type | Description | |
---|---|---|---|
subWAlletId | String | ||
to | String! |
The address this transaction is directed to |
|
amount | TransactionAmount! |
The value of BTC to send with this transaction in satoshis |
|
speed | TransactionSpeed |
The speed at which you want the network to accept the transaction. 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 |
CreateCardanoPaymentTransactionInput
Field | Type | Description | |
---|---|---|---|
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. |
|
authentication | AuthenticationInput |
The authentication tokens for the user (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
|
cardanoTransactionInput | CardanoPaymentTransactionInput! |
The cardano transaction to be signed |
CreateCardanoStakeTransactionInput
Field | Type | Description | |
---|---|---|---|
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. |
|
authentication | AuthenticationInput |
The authentication tokens for the user (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
|
cardanoTransactionInput | CardanoStakeTransactionInput! |
The cardano transaction to be signed |
CreateCardanoUnstakeTransactionInput
Field | Type | Description | |
---|---|---|---|
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. |
|
authentication | AuthenticationInput |
The authentication tokens for the user (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
CreateCardanoWithdrawalTransactionInput
Field | Type | Description | |
---|---|---|---|
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. |
|
authentication | AuthenticationInput |
The authentication tokens for the user (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
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 |
CreateEthPersonalSignInput
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature (optional for API key users) |
|
messageAddress | MessageAddressInput! |
The EthereumTransaction 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
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature (optional for API key users) |
|
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
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature (optional for API key users) |
|
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. defaults to false to allow reviewing transaction data. Set to true when you want to send a transaction to devices to sign. |
CreateRadixTransactionInput
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
|
radixTransactionInput | RadixTransactionInput! |
The Radix transaction details to be signed |
CreateRippleTransactionInput
Field | Type | Description | |
---|---|---|---|
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. |
|
authentication | AuthenticationInput |
The authentication tokens for the user (optional for API key users) |
|
subWalletId | String! |
The unique identifier for subWallet you wish to sign this transaction from |
|
rippleTransactionInput | RippleTransactionInput! |
The XRP transaction to be signed |
CreateSubWalletInput
CreateSubWallet
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user which to submit the transaction for signature |
|
walletId | String! |
Unique id for the HD wallet |
|
type | SubWalletType! |
Name of the asset (i.e BTC / ETH) |
|
name | String! |
EthereumTransactionInput
A simple Ethereum transaction input
Field | Type | Description | |
---|---|---|---|
to | String! |
The address this transaction is directed to OR the ERC20 token recipient |
|
assetSymbol | String! |
The TrustVault supported asset you are trying to send. (see supported-assets docs for available assetSymbols) |
|
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 |
|
gasLimit | String |
Int (as String) of number of units of gas provided for the transaction execution (either speed or gasLimit + gasPrice must be given) |
|
gasPrice | String |
Int (as String) of the gasPrice used (in WEI) for each unit of 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 3 for ropsten (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) |
GetAuthenticationTokensInput
Field | Type | Description | |
---|---|---|---|
String! | |||
pinChallenge | PinChallengeAttempt! |
MessageAddressInput
Field | Type | Description | |
---|---|---|---|
message | String! |
The message string to be signed |
|
address | String! |
The address from which the message will be signed from |
|
version | String |
Version of the ethsignedtypeddata. defaults to "V3". format is currently "V3" or "V4" Based on EIP712 https://eips.ethereum.org/EIPS/eip-712 |
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 |
RadixTransactionInput
Field | Type | Description | |
---|---|---|---|
amount | String! |
Decimal whole number string |
|
hash | String! |
Transaction hash to sign (hex string) |
|
type | String! |
Transaction type (TRANSFER, STAKE, UNSTAKE) |
|
from | String! |
From address |
|
to | String! |
To address |
|
message | String! |
Message to display during signing (ASCII) |
RequestCsvTransactionsInput
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput |
The authentication tokens for the user submitting a request to export transactions, the export will be sent to the user linked with the authentication information (optional for API key users) |
|
assetSymbols | [String] | ||
toDate | String | ||
fromDate | String! | ||
count | Int | ||
subWalletId | String |
RequestSignatureInput
Deprecated as of 31st March 2020 along requestSignature mutation, use the createEthereumTransaction mutation instead.
Field | Type | Description | |
---|---|---|---|
authentication | AuthenticationInput! | ||
transaction | TransactionInput! | ||
transactionDigest | String! | ||
source | String |
RippleTransactionInput
Field | Type | Description | |
---|---|---|---|
amount | String! |
0x prefixed hexadecimal Value for the number of XRP to send (in drops) |
|
destination | String! |
XRP Address to send Payment to |
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 as of 31st March 2020 along requestSignature mutation, use the createEthereumTransaction mutation instead.
Field | Type | Description | |
---|---|---|---|
to | String! | ||
value | String! | ||
chainId | Int! | ||
nonce | Int! | ||
gasLimit | String! | ||
gasPrice | String! | ||
fromAddress | String! | ||
data | String | ||
v | Int! |
TransferInput
Update Transfer info (Travel Rule API)
Field | Type | Description | |
---|---|---|---|
id | String! |
The Transfer ID The format differs depending on the transfer direction: SENT or SELF: ${GUID}:${Number} e.g. 5e5f9c62-b146-4bd3-800f-1b725cf22960:0 RECEIVED: ${transctionHash}:${index} e.g. 964...f10: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/beneficiary |
|
accountId | String |
The account ID of the originator/beneficiary |
|
customerId | String |
The customer ID of the originator/beneficiary |
|
isCaller | Boolean! |
If this is for a SENT or SELF transfer:
If this is for a RECEIVED transfer, the definitions above apply to the beneficiary rather than the originator
|
|
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
AssetType
NATIVE - assets that are native the chain (i.e. Ethereum, 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
Value | Description |
---|---|
BITCOIN | |
ETHEREUM | |
RADIX | |
RIPPLE | |
XDCNETWORK | |
BINANCE_SMART_CHAIN |
ClusterType
Value | Description |
---|---|
ONLINE | |
ULTRA_COLD |
SubWalletType
Value | Description |
---|---|
ETH | |
BTC | |
RADIX | |
XDCNETWORK | |
BINANCE_SMART_CHAIN |
TimePeriod
Value | Description |
---|---|
HOURLY | |
DAILY | |
WEEKLY | |
MONTHLY | |
ONE_MONTH_DAILY |
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 | |
SIGNED | |
USER_CANCELLED | |
ERROR | |
BLOCKED |
TransactionSpeed
Value | Description |
---|---|
SLOW | |
MEDIUM | |
FAST |
TransactionStatus
The status that a blockchain transaction can take.
- 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
- PREPROCESSING - A transfer that is currently being preprocessed.
- PREPROCESSED - A transfer has been preprocessed but not been submitted to the network.
- SUBMITTED - The transfer has been submitted to the network for processing
- ON_CHAIN - The transaction has been sent to the network and included in atleast 1 block
- 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
- COMPLETED - All the postprocessing activities have successfully finished.
- 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
Value | Description |
---|---|
DRAFT | |
SIGNED | |
PREPROCESSING | |
PREPROCESSED | |
SUBMITTED | |
ON_CHAIN | |
RECEIVED | |
CREDITED | |
CONFIRMED | |
USER_CANCELLED | |
POSTPROCESSING | |
COMPLETED | |
ERROR | |
BLOCKED | |
NOT_AVAILABLE |
VaspType
Value | Description |
---|---|
LISTED | |
UNLISTED | |
UNKNOWN | |
UNHOSTED |
WalletFilter
BLOCKCHAIN (i.e. Ethereum, Bitcoin)
Value | Description |
---|---|
BLOCKCHAIN | |
ALL |
WalletType
Value | Description |
---|---|
BLOCKCHAIN |
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 |
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, WalletConnection, SubWalletConnection, WalletsInfoConnection, AddressBookConnection, AddressConnection, BalanceConnection, TransfersConnection, GenericTransactionConnection
CreateBitcoinTransactionResponseInterface
Field | Argument | Type | Description |
---|---|---|---|
signData | BitcoinSign |
The transction 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
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
SubWallet
Field | Argument | Type | Description |
---|---|---|---|
address | String |
SubWallet address |
|
id ⚠️ | String! |
Unique id for the subWallet. String format of the subWalletId (id/type/index) ⚠️ DEPRECATED
|
|
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! |
SubWallet Type |
|
transactions | TransactionConnection! |
Transaction connection |
|
limit | Int | ||
nextToken | String | ||
assetSymbols | [String] | ||
address | 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 |
|
limit | Int | ||
nextToken | String | ||
requestCsvTransactions ⚠️ | RequestTransactionsCsv |
Users transactions in csv string, csv will be sent to a registered email, optionally can pass asset ⚠️ DEPRECATED
|
|
assetSymbols | [String] | ||
toDate | String | ||
fromDate | String! | ||
count | Int |
Possible Types: BlockchainSubWallet
Transaction
Transaction object
Field | Argument | Type | Description |
---|---|---|---|
from | GenericAddress! |
The address the transaction is sent from |
|
to | GenericAddress! |
The address 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
Wallet
Field | Argument | Type | Description |
---|---|---|---|
address | String |
Main Wallet address |
|
id | String! |
Unique id for the HD wallet |
|
subWalletId ⚠️ | SubWalletId! |
Unique identifier for the sub wallet ⚠️ DEPRECATED
|
|
subWalletIdString | String! |
Unique identifier for the subWallet in string format |
|
name | String! |
The name of the account (wallet) |
|
createdAt | String! |
Creation time stamp (ISO 8601 UTC time) |
|
updatedAt | String! |
Modified time stamp (ISO 8601 UTC time) |
|
walletType | WalletType! |
Wallet Type |
|
transactions | TransactionConnection! |
Transaction connection |
|
limit | Int | ||
nextToken | String | ||
assetSymbols | [String] | ||
address | String | ||
balances | BalanceConnection! |
List of token assets with balances associated with the wallet (ETH + ERC20 if Ethereum else BTC on Bitcoin) NOTE: pagination is not implemented yet - limit and nextToken are currently ignored |
|
limit | Int | ||
nextToken | String |
Possible Types: BlockchainWallet