Input Objects

Input objects are used to pass arguments to mutations. Input objects are defined as input types and can be scalar or object types. Input objects are similar to objects in that they can have fields, but they cannot have arguments on their fields.

ActivateWalletDepositInput

Parameters to pass when activating a wallet deposit address.

Name

Description

walletDepositAddressId ID!

The system-generated unique ID of the created deposit address.

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

ActivateWalletInput

Name

Description

orgId ID

A unique 12-digit identifier of an organization. This field is deprecated. You do not need to provide it anymore, it will be inferred from the walletId.

walletId ID!

The system-generated unique ID of the wallet.

minConfirmations Int

The minimum number of block confirmations required for the network. This field is deprecated. You do not need to provide it anymore, it will be inferred from the walletId.

AddOrganizationNetworkInput

Name

Description

networkId ID!

The networkId of the network to be added to an organization. It must belong to an allowed network family and must also be available.

orgId ID!

The unique 12-digit identifier of the organization.

AddWalletAccessInput

Name

Description

role WalletMemberRole!

The wallet role of the organization member.

memberId ID!

The system-generated unique ID of the organization member.

walletId ID!

The system-generated unique ID of the wallet.

orgId ID

The unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

ApproveSignatureRequestInput

Params for approving a transaction signature request.

Name

Description

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

signatureRequestId ID!

The system-generated unique ID of the signature request.

ApproveTransactionRequestInput

The parameters to approve a transaction request.

Name

Description

transactionRequestId ID!

The system-generated unique ID of the transaction request.

BackupKey

Name

Description

keyId ID!

Key ID of an existing unconsumed SCALAR_NEUTERED key.

BatchFlushWalletDepositAddressesInput

Parameters to pass when batch flushing wallet deposit addresses with multiple ERC20 tokens

Name

Description

walletDepositAddressIds [ID!]!

List of system-generated unique IDs for the created deposit addresses

erc20Addresses [String!]

List of ERC20 addresses to flush. Use tokenCaip19Uris instead

tokenCaip19Uris [String!]

List of assets to flush

feeLevel NetworkFeeLevel

The network fee level for the transaction. Defaults to Standard, only applicable for EVM wallet

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

organizationNetworkId ID

The system-generated unique ID of the organization network. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

BuildTransactionInput

Parameters to build a transaction for a wallet. The returned data can be used with the createTransactionRequest mutation.

Name

Description

to String!

Recipient address.

amount Float!

Amount of asset to be sent, denominated in canonical units. For example, 1 ETH instead of 10^18 wei, 1 BTC instead of 10^8 sats, 1 TRX instead of 10^6 sun.

asset String!

CAIP-19 URI of the asset to be sent.

feeLevel NetworkFeeLevel

The network fee level for the transaction. Defaults to Standard.

CipherBlobInput

Parameters required to define or modify a cipher blob.

Name

Description

cipher String!

The algorithm used to encrypt the private key. Currently supports only AES with a 256-bit key in CBC mode.

keyDerivation String!

The method used to derive a cryptographic key from a password. Currently only supports Password-Based Key Derivation Function 2 (PBKDF2).

keyHasher String!

The cryptographic hash function used. Currently supports only SHA-256.

iter Int!

The number of iterations for the key derivation function. Typically, a higher number means stronger security at the cost of longer computation time.

salt String!

The salt value used in the key derivation function. Helps in preventing rainbow table attacks.

iv String!

Initialization Vector (IV) used for the encryption process in CBC mode. Ensures that the encryption is unique even with the same data and key.

cipherText String!

The encrypted version of the private key.

hash String!

Hash value of the encrypted data, ensuring its integrity and authenticity.

CreateGasTankInput

Name

Description

orgId ID!

The id of the organization.

organizationNetworkId ID

The identifier of the network within the organization where the gas tank has been deployed. Specifying this field creates a single-chain Gas Tank, confining it operate on a single EVM network.This field is no longer necessary since gas tanks are no longer confined to a single chain.

CreateKeyInput

Name

Description

orgId ID!

A unique 12-digit identifier of an organization.

name String

The human-readable name of the key.

type KeyType!

The type of key. Refer to KeyType

retrieveIfExists Boolean!

If true, retrieves an existing key instead of creating a new one.

publicKey String

Public key of an asymmetrical key pair, applicable when importing material for a neutered key type.

CreatePolicyWhitelistInput

Name

Description

address String!

The address of the policy whitelist.

walletId ID!

The system-generated unique ID of the wallet.

label String!

The label of the policy whitelist.

CreateSignatureRequestInput

Params for creating a transaction request signature.

Name

Description

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID!

The system-generated unique ID of the wallet.

signatureData NewTransactionRequestSignatureData!

The data to sign.

CreateTransactionDigestsInput

Parameters to create digests for transaction validation.

Name

Description

requestId ID!

The system-generated unique ID of the transaction request.

nonce Int

Optional nonce for the transaction.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

CreateTransactionRequestInput

Parameters to initiate a new transaction request for a wallet.

Name

Description

walletId ID!

The system-generated unique ID of the wallet.

networkAssetId ID

The system-generated unique ID of the NetworkAsset associated with the transaction request, or null if not associated with a specific asset.

transactionData NewTransactionRequestData

The detailed transaction request data.

tokenTransactionInput BuildTransactionInput

Transaction inputs when sending an ERC20 or TRC20 token.

feeData NewTransactionRequestFeeData

Data related to the transaction fee. This field is deprecated, the fee values are specified at signing time instead. Will be removed soon.

type String

Type or category of the transaction.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

CreateUserInput

Name

Description

firstName String!

User's first name.

lastName String!

User's last name.

marketingOptIn Boolean

User's marketing opt-in.

productUpdatesOptIn Boolean

User's product updates opt-in.

CreateWalletDepositAddressInput

Parameters to pass in when creating a new wallet deposit address.

Name

Description

walletId ID!

The system-generated unique ID of the wallet.

label String!

The label of the deposit address.

toAutoDeploy Boolean

Indicates if the client wants their deposit address auto deployed. If not specified, this defaults to false.

salt String

(EVM only) The salt to use for deterministic address generation. Expected to be a hexadecimal format string of length 66 (0x + 32 bytes). For example: 0x1111111111111111111111111111111111111111111111111111111111111111.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

CreateWalletInput

Name

Description

orgId ID!

A unique 12-digit identifier of an organization.

organizationNetworkId ID

The ID of the OrganizationNetwork to create the wallet on. This is no longer required, please use network instead.

network String

The CAIP-2 URI / ID of the OrganizationNetwork to create the wallet on.

type WalletType!

The type of wallet to create. Wallets have different capabilities, security characteristics and costs depending on the underlying implementation. For example, Levain's fork of SimpleMultiSig is simple and immutable by design, while Safe is more complex but comes with a greater feature-set such as extensibility and on-chain policy controls. Ultimately, the choice between different Wallet types boils down to use-case.

name String!

The human-readable name of the wallet.

description String

A description of the wallet. Use this field to provide additional context about the wallet, e.g. its purpose.

mainKey MainKey!

The main key that will be part of the 2-of-3 multi-sig wallet. Levain will not have access to this key.

backupKey BackupKey!

The backup key that will be part of the 2-of-3 multi-sig wallet, to be used in the event the first key is lost and unrecoverable. Levain will not have access to this key.

use1167Proxy Boolean

Indicates if the Wallet should be deployed using the EIP-1167 proxy pattern. If true, the wallet will be deployed using the EIP-1167 proxy pattern. If false, the wallet will be deployed using the standard contract deployment pattern.

salt String

(EVM only) When using the EIP-1167 Proxy Pattern, we can specify a salt to be used for the deployment. This will ensure the address will be deterministic and will have the same address across all chains. If not specified, a random salt will be used. Expected to be a hexadecimal format string of length 66 (0x + 32 bytes). For example: 0x1111111111111111111111111111111111111111111111111111111111111111.

CreateWebhookInput

Name

Description

orgId ID!

A unique 12-digit identifier of an organization.

webhookUrl String!

URL of client webhook endpoint

subscribedNetworks [String!]

Array of CAIP2 identifiers

DeleteRequestInput

Parameters required to delete a transaction / signature request.

Name

Description

requestId ID!

The system-generated unique ID of the request.

DeleteUserPreferenceInput

Name

Description

key String!

Key of the preference. A user can have only one preference per key.

DeleteWebhookInput

Name

Description

webhookId ID!

Unique identifier of the webhook

orgId ID!

A unique 12-digit identifier of an organization.

DeployWalletDepositAddressInput

Parameters to pass when deploying a new wallet deposit address

Name

Description

walletDepositAddressId ID!

The system-generated unique ID of the created deposit address.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

organizationNetworkId ID

The ID of the OrganizationNetwork to create the wallet on. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

DisableOrganizationMemberInput

Name

Description

memberId ID!

The system-generated unique ID of the organization member.

orgId ID!

The unique 12-digit identifier of the organization.

DisablePolicyWhitelistInput

Name

Description

policyId ID!

The ID of the whitelist policy that is to be disabled.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

DisableWalletSignerInput

Name

Description

policyId ID!

The system-generated unique ID of the wallet policy to be updated.

walletMemberAccessId ID!

The signer's wallet access ID.

EnableOrganizationMemberInput

Name

Description

memberId ID!

The system-generated unique ID of the organization member.

orgId ID!

The unique 12-digit identifier of the organization.

ExecuteTransactionInput

Parameters to execute a signed transaction on-chain for a multi-sig wallet.

Name

Description

requestId ID!

The system-generated unique ID of the transaction request.

signature String

Signature of one of the wallet owners, authorizing the transaction request to be executed on chain. This field is deprecated, use signatures instead. Will be removed soon.

signatures [SignatureDigestInput!]

Signature of one of the wallet owners, authorizing the transaction request to be executed on chain.

feeLevel NetworkFeeLevel

The network fee level for the transaction. Defaults to Standard.

nonceFrom String

The BlockTag from which to source the nonce for the on-chain transaction. Defaults to pending. Only applicable for EVM chains.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

FlushWalletDepositAddressInput

Parameters to pass when flushing a wallet deposit address.

Name

Description

walletDepositAddressId ID!

The system-generated unique ID of the created deposit address.

erc20Address String

  An optional field that signifies the on-chain address of a ERC/TRC-20 asset contract.
  If this field is not specified, an attempt will be made to flush the native asset on chain.
  
  For EVM based chains, leaving this field empty essentially does nothing since native assets are automatically flushed for EVM chains.

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

organizationNetworkId ID

The system-generated unique ID of the organization network. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

FundGasTankViaLevainFaucetInput

Name

Description

orgId ID!

The id of the organization.

gasTankId ID!

The id of the gas tank.

networkId String!

The id of the network.

GasTankAddressInput

Parameters to pass in when retrieving the gas tank address.

Name

Description

format AddressFormat

The format of the gas tank address.

formatForNetwork String

The CAIP-2 identifier or system-generated UUID of the network on which the gas tank is deployed.

JoinOrganizationInput

Name

Description

invitationCode String!

The user's invitation code to join an organization.

MainKey

Name

Description

encryptedPrivateKey CipherBlobInput!

The encrypted private key of the wallet. The private key is encrypted by a password generated on the client. Hence, the raw private key will never be readable by Levain.

keyId ID!

Key ID of an existing unconsumed SCALAR_NEUTERED key.

passwordRecoveryKeyId ID!

The ID of the password recovery key used to encrypt the wallet password (which is used to encrypt the Main private key). The encryption of the wallet password is for recovering the wallet password in the event it is lost or forgotten.

NewSafeTransactionRequestData

Parameters for initiating a new transaction request on a Safe smart contract wallet.

Name

Description

to String!

The recipient address of the transaction.

value String!

The amount of cryptocurrency to be transferred. If the transaction is for token transfer or contract interaction, this value might be 0.

data String!

Encoded data payload. For simple transfers, it’s an empty string. For contract interactions, it contains the method call and its arguments.

operation Int!

Indicates the type of operation: 0 for calls, 1 for delegate calls.

baseGas String!

The minimum amount of gas units that should be used for the transaction.

gasPrice String!

The cost per unit of gas (e.g. in wei). A higher value will make the transaction execute faster but is also more expensive.

gasToken String!

Address of the token in which transaction fees will be paid.

refundReceiver String!

Address that receives leftover gas (e.g. in wei) from the executed transaction. If set to 0x000...000, it defaults to the sender of the transaction.

nonce Int!

A unique number to prevent replay attacks. Incremented with each transaction sent from Safe.

safeTxGas String!

Estimation of how much gas the transaction will consume, allowing to define the refund for the executor.

NewSimpleMultiSigTransactionRequestData

Parameters for creating a new simple multi-signature transaction request.

Name

Description

destination String!

The address of the destination of the transaction.

value String!

The amount of the transaction.

nonce Int

This field is not necessary since the nonce should not be provided at transaction request initiation time. Will be removed soon.

data String!

The data of the transaction.

gasLimit String

The maximum amount of gas to consume for the transaction. This field is not necessary since the gasLimit can be estimated server-side, however, the client can still set a gas limit.

NewTransactionRequestData

Wrapper for the transaction request data for different wallet types.

Name

Description

safe NewSafeTransactionRequestData

Transaction request data for a Safe smart contract wallet.

simpleMultiSig NewSimpleMultiSigTransactionRequestData

Transaction request data for a simple multi-signature wallet.

tron NewTronTransactionRequestData

Transaction request data for a Tron multi-signature wallet.

NewTransactionRequestFeeData

Parameters for defining a new fee structure associated with a transaction request. This field is deprecated and should not be used.

Name

Description

estimatedTotalFees String!

The estimated total fees. Typically denominated in wei for EVM-based chains.

maxPriorityFeePerGas String!

Deprecated and will be removed soon.

maxFeePerGas String!

Deprecated and will be removed soon.

NewTransactionRequestSignatureData

Parameters to provide signature-related details for a new transaction request.

Name

Description

message String!

Message that the dApp is requesting to sign (EIP1271)

url String!

URL of the dApp that is requesting the signature.

iconUrl String

Icon URL of dApp that is requesting the signature

requester String!

Name of the dApp that is requesting the signature.

NewTronTransactionRequestData

Name

Description

raw String

The JSON serialized string of the Tron transaction. Build the transaction with a suitable tron SDK. This field is deprecated, use the json field instead. Will be removed soon.

json JSON

The JSON representation of the Tron transaction. Build the transaction with a suitable tron SDK, or with the buildTransaction resolved field.

RefreshTransactionRequestStatusInput

Parameters to refresh a transaction request status.

Name

Description

requestId ID

The system-generated unique ID of the transaction request.

transactionRequestId ID

The system-generated unique ID of the transaction request. This field is deprecated, use requestId instead. Will be removed soon.

RegisterWalletPasswordInput

The input parameters to register a wallet key password.

Name

Description

walletKeyPasswordId ID!

encrypted CipherBlobInput!

The symmetrically encrypted private key.

passwordRecoveryKeyId ID

The password recovery key ID, enabling the wallet member to recover their password if lost.

RejectTransactionRequestInput

The parameters to reject a transaction request.

Name

Description

transactionRequestId ID!

The system-generated unique ID of the transaction request.

RejectTransactionRequestSignatureInput

Params for rejecting a transaction signature request.

Name

Description

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

transactionRequestId ID!

The system-generated unique ID of the transaction request.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

RequestOwnerSignaturesInput

Params for requesting owner signatures.

Name

Description

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

digest String!

The digest.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

signatureRequestId ID!

The system-generated unique ID of the signature request.

signature String!

The signature.

ResendOrganizationMemberInvitationInput

Name

Description

invitationId ID!

The system-generated unique ID of the organization invitation.

orgId ID!

The unique 12-digit identifier of an organization.

ResolveEIP1271SignatureInput

Parameters for resolving an EIP-1271 signature.

Name

Description

orgId ID

The unique 12-digit identifier of the organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

signatureRequestId ID!

The system-generated unique ID of the signature request.

RevokeOrganizationMemberInvitationInput

Name

Description

invitationId ID!

The system-generated unique ID of the organization invitation.

orgId ID!

The unique 12-digit identifier of an organization.

RevokeWalletAccessInput

Name

Description

walletAccessId ID!

The system-generated unique ID of the organization member's wallet access.

orgId ID

The unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

SendOrganizationMemberInvitationInput

Name

Description

email String

The email address of the user.

role OrganizationMemberRole!

The role of the member in the organization.

orgId ID!

The unique 12-digit identifier of an organization.

SendRequestData

Name

Description

to String!

Recipient address.

amount Float!

Amount of asset to be sent, denominated in canonical units. For example, 1 ETH instead of 10^18 wei, 1 BTC instead of 10^8 sats, 1 TRX instead of 10^6 sun.

asset String!

CAIP-19 URI of the asset to be sent.

feeLevel NetworkFeeLevel

The network fee level for the transaction. Defaults to Standard.

SendTransactionRequestInput

Parameters to initiate a SEND transaction request for a wallet.

Name

Description

walletId ID!

The system-generated unique ID of the wallet.

networkAssetId ID

The system-generated unique ID of the NetworkAsset associated with the transaction request, or null if not associated with a specific asset.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

data SendRequestData!

The detailed transaction request data.

SetUserPreferenceInput

Name

Description

key String!

Key of the preference. A user can have only one preference per key.

value String!

Value of the preference.

SetWalletFinalApproverInput

Name

Description

policyId ID!

The system-generated unique ID of the wallet policy to be updated.

walletMemberAccessId ID!

The final approver's wallet access ID.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

SetWalletPolicyApprovalThresholdInput

Name

Description

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

policyId ID!

The system-generated unique ID of the wallet policy to be updated.

approvalThreshold Int!

Minimum number of approvals required to approve a transaction.

ShareWalletKeyInput

Name

Description

walletKeyId ID!

walletAccessId ID!

transientEncryptedPrivKey CipherBlobInput!

The encrypted private key of the wallet, encrypted with a secret generated client-side. This encrypted private key is transient, and will be deleted after the new wallet member has successfully decrypted it and created their own encrypted private key.

SignatureDigestInput

Digest for the corresponding signature

Name

Description

digestId String!

Digest of the signature

signature String!

Signature of the digest

SubmitSignatureInput

Parameters to submit a signature for a multi-sig wallet.

Name

Description

requestId ID!

The system-generated unique ID of the transaction request.

signature ID!

Signature of one of the wallet owners, authorizing the transaction request to be executed on chain.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

SubmitSignaturesInput

Parameters to submit a signature for a multi-sig wallet.

Name

Description

requestId ID!

The system-generated unique ID of the transaction request.

signatures [SignatureDigestInput!]!

Signatures of one of the wallet owners, authorizing the transaction request to be executed on chain.

UpdateKeyInput

Name

Description

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

name String!

The new name of the key.

keyId ID!

The system-generated unique ID of the key to be updated.

UpdateNotificationsInput

Name

Description

marketingOptIn Boolean

User's marketing opt-in.

productUpdatesOptIn Boolean

User's product updates opt-in.

UpdateOrganizationMemberInput

Name

Description

memberId ID!

The system-generated unique ID of the organization member to be updated.

role OrganizationMemberRole!

The new role of the organization member.

orgId ID!

The unique 12-digit identifier of the organization.

UpdatePolicyWhitelistInput

Name

Description

policyId ID!

The ID of the whitelist policy that is to be updated.

label String!

The label of the whitelist policy that is to be updated.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

UpdateUserInput

Name

Description

firstName String!

User's first name.

lastName String!

User's last name.

UpdateWalletAccessInput

Name

Description

role WalletMemberRole!

The new wallet role of the organization member.

walletAccessId ID!

The system-generated unique ID of the organization member's wallet access.

orgId ID

The unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

UpdateWalletDepositAddressInput

Parameters to pass in when updating the label of a wallet deposit address.

Name

Description

walletDepositAddressId ID!

The system-generated unique ID of the created deposit address.

label String!

The label of the deposit address.

walletId ID

The system-generated unique ID of the wallet. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

orgId ID

A unique 12-digit identifier of an organization. No longer required and will be ignored as it will be automatically inferred. Will be removed soon.

UpdateWalletInput

Name

Description

walletId ID!

The system-generated unique ID of the wallet.

name String

The new name of the wallet.

description String

The new description of the wallet.