Mutations

The mutation type defines GraphQL operations that change data on the server. Complementing the Query type, the Mutation type defines GraphQL operations that create, update, and delete data. It is analogous to performing HTTP verbs such as POST, PATCH, and DELETE.

createUser

Creates a new user.

Return type: User!

Input fields for createUser

Name

Description

input CreateUserInput!

Parameters required to create a new user.

updateUser

Update profile details of a user.

Return type: Boolean!

Input fields for updateUser

Name

Description

input UpdateUserInput!

Parameters required to update user details.

updateUserNotifications

Update notification preferences of a user.

Return type: Boolean!

Input fields for updateUserNotifications

Name

Description

input UpdateNotificationsInput!

Parameters required to update user notification preferences.

setViewerPreference

Set a user preference, creating it if it does not exist.

Return type: UserPreference!

Input fields for setViewerPreference

Name

Description

input SetUserPreferenceInput!

Parameters of the user preference to set.

deleteViewerPreference

Delete a user preference.

Return type: UserPreference!

Input fields for deleteViewerPreference

Name

Description

input DeleteUserPreferenceInput!

Parameters of the user preference to delete.

createPersonalFreeOrganization

Creates a free personal organization for the authenticated user.

Return type: Organization!

activateWallet

Activates a wallet after checking if the wallet contract deployment has sufficient confirmations on the blockchain.

Return type: Wallet!

Input fields for activateWallet

Name

Description

input ActivateWalletInput!

Parameters required to activate a wallet.

joinOrganization

Join as a member of an organization.

Return type: OrganizationMember!

Input fields for joinOrganization

Name

Description

input JoinOrganizationInput!

Parameters required to join an organization.

updateOrganizationMember

Update data of a member in an organization.

Return type: Boolean!

Input fields for updateOrganizationMember

Name

Description

input UpdateOrganizationMemberInput!

Parameters required to update an organization member.

disableOrganizationMember

Disables an organization member.

Return type: Boolean!

Input fields for disableOrganizationMember

Name

Description

input DisableOrganizationMemberInput!

Parameters required to disable an organization member.

enableOrganizationMember

Enables an organization member who is currently disabled.

Return type: Boolean!

Input fields for enableOrganizationMember

Name

Description

input EnableOrganizationMemberInput!

Parameters required to enable an organization member.

sendOrganizationMemberInvitation

Sends an organization invitation.

Return type: OrganizationInvitation!

Input fields for sendOrganizationMemberInvitation

Name

Description

input SendOrganizationMemberInvitationInput!

Parameters to send an organization invite.

resendOrganizationMemberInvitation

Resends an organization invitation.

Return type: OrganizationInvitation!

Input fields for resendOrganizationMemberInvitation

Name

Description

input ResendOrganizationMemberInvitationInput!

Parameters to resend an organization invitation.

revokeOrganizationMemberInvitation

Revokes an existing organization invitation.

Return type: Boolean!

Input fields for revokeOrganizationMemberInvitation

Name

Description

input RevokeOrganizationMemberInvitationInput!

Parameters to revoke an organization invitation.

createGasTank

Create a new gas tank. By default, gas tanks are usable across multiple EVM chains. A gas tank can be confined to a single chain if so desired by specifying the OrganizationNetwork ID. If the gas tank already exists, it will be returned.

Return type: GasTank!

Input fields for createGasTank

Name

Description

input CreateGasTankInput!

Parameters required to create a new gas tank.

fundGasTankViaLevainFaucet

Return type: Boolean!

Input fields for fundGasTankViaLevainFaucet

Name

Description

input FundGasTankViaLevainFaucetInput!

Parameters required to create a new gas tank.

addOrganizationNetwork

Return type: OrganizationNetwork!

Input fields for addOrganizationNetwork

Name

Description

input AddOrganizationNetworkInput!

updateWallet

Update a wallet.

Return type: Boolean!

Input fields for updateWallet

Name

Description

input UpdateWalletInput!

Parameters required to update a wallet.

createWallet

Create a new wallet on the specified network.

Return type: Wallet!

Input fields for createWallet

Name

Description

input CreateWalletInput!

Parameters required to create a new wallet.

fundFromGasTank

Executes a funding transaction from the gas tank that the wallet belongs to. Only for the network's native token.

Return type: String!

Input fields for fundFromGasTank

Name

Description

input FundFromGasTankInput!

Parameters to fund an address from the wallet's Gas Tank

addWalletAccess

Creates a new wallet access for a member of an organization.

Return type: WalletAccess!

Input fields for addWalletAccess

Name

Description

input AddWalletAccessInput!

Parameters required to create a new wallet access for an organization member.

revokeWalletAccess

Removes the wallet access of an organization member.

Return type: Boolean!

Input fields for revokeWalletAccess

Name

Description

input RevokeWalletAccessInput!

Parameters required to remove the wallet access of an organization member.

updateWalletAccess

Updates the wallet access role of an organization member.

Return type: Boolean!

Input fields for updateWalletAccess

Name

Description

input UpdateWalletAccessInput!

Parameters required to update the wallet access role of an organization member.

setWalletPolicyApprovalThreshold

Updates the minimum number of approvals needed for a transaction to be approved.

Return type: WalletPolicy!

Input fields for setWalletPolicyApprovalThreshold

Name

Description

input SetWalletPolicyApprovalThresholdInput!

Parameters required to update the policy approval threshold.

createPolicyWhitelist

Creates a new whitelist policy for a wallet.

Return type: PolicyWhitelist!

Input fields for createPolicyWhitelist

Name

Description

input CreatePolicyWhitelistInput!

Parameters required to create a policy whitelist.

updatePolicyWhitelist

Updates a whitelist policy of a wallet.

Return type: Boolean!

Input fields for updatePolicyWhitelist

Name

Description

input UpdatePolicyWhitelistInput!

Parameters required to update a whitelist policy.

disablePolicyWhitelist

Disables a policy whitelist of a wallet.

Return type: Boolean!

Input fields for disablePolicyWhitelist

Name

Description

input DisablePolicyWhitelistInput!

Parameters required to disable a policy whitelist.

refreshTransactionRequestStatus

Refresh the status of a transaction request.

Return type: TransactionRequestStatus!

Input fields for refreshTransactionRequestStatus

Name

Description

input RefreshTransactionRequestStatusInput!

Parameters required to refresh the transaction request status.

createTransactionRequest

Create a new transaction request.

Return type: TransactionRequest!

Input fields for createTransactionRequest

Name

Description

input CreateTransactionRequestInput!

Parameters to initiate a new transaction request for a wallet.

createRequest

Create transaction request (v2)

Return type: TransactionRequest!

Input fields for createRequest

Name

Description

input CreateRequestInput!

Parameters to initiate a new transaction request for a wallet.

withdrawTransactionRequest

Withdraw transaction request

Return type: Boolean!

Input fields for withdrawTransactionRequest

Name

Description

input WithdrawTransactionRequestInput!

Parameters to withdraw a transaction request for a wallet.

send

Create a SEND asset transaction request.

Return type: TransactionRequest!

Input fields for send

Name

Description

input SendTransactionRequestInput!

Parameters to initiate a new transaction request for a wallet.

submitSignature

Deprecated

Use submitSignatures instead.

Submit signatures for a transaction request. For EVM transactions, the amount of gas required for execution can be estimated after this step.

Return type: TransactionRequest!

Input fields for submitSignature

Name

Description

input SubmitSignatureInput!

Parameters to submit signatures for a transaction request.

submitSignatures

Submit signatures for a transaction request. For EVM transactions, the amount of gas required for execution can be estimated after this step.

Return type: TransactionRequest!

Input fields for submitSignatures

Name

Description

input SubmitSignaturesInput!

Parameters to submit signatures for a transaction request.

executeTransaction

Executes the specified transaction request on chain if it's ready. For EVM smart contract wallets, this entails calling the smart contract's execution function with the Gas Tank.

Return type: TransactionRequest!

Input fields for executeTransaction

Name

Description

input ExecuteTransactionInput!

Parameters to execute a signed transaction request for a wallet.

createTransactionDigests

Generates cryptographic digests for a transaction request. Digests are used for verifying the transaction data and ensuring that no unauthorized changes have been made to the transaction.

Return type: TransactionRequest!

Input fields for createTransactionDigests

Name

Description

input CreateTransactionDigestsInput!

Parameters to create digests for transaction validation.

deleteRequest

Delete a request.

Return type: Boolean!

Input fields for deleteRequest

Name

Description

input DeleteRequestInput!

Parameters required to delete a transaction / signature request.

createWalletDepositAddress

Create a new deposit address.

Return type: CreateWalletDepositAddressResult!

Input fields for createWalletDepositAddress

Name

Description

input CreateWalletDepositAddressInput!

Parameters required to create a deposit address.

updateWalletDepositAddress

Update a deposit address.

Return type: Boolean!

Input fields for updateWalletDepositAddress

Name

Description

input UpdateWalletDepositAddressInput!

Parameters required to update a deposit address.

deployWalletDepositAddress

Deploy a wallet deposit address.

Return type: DeployWalletDepositAddressResult!

Input fields for deployWalletDepositAddress

Name

Description

input DeployWalletDepositAddressInput!

Parameters required to deploy a deposit address.

flushWalletDepositAddress

Flush a wallet deposit address.

Return type: FlushWalletDepositAddressResult!

Input fields for flushWalletDepositAddress

Name

Description

input FlushWalletDepositAddressInput!

Parameters required to flush a deposit address.

batchFlushWalletDepositAddresses

Batch flush wallet multiple deposit addresses for multiple ERC20 tokens

Return type: BatchFlushWalletDepositAddressesResult!

Input fields for batchFlushWalletDepositAddresses

Name

Description

input BatchFlushWalletDepositAddressesInput!

Parameters required to batch flush multiple deposit addresses for multiple ERC20 tokens

activateWalletDeposit

Activate a wallet deposit address when it has met the necessary number of block confirmations.

Return type: ActivateWalletDepositResult!

Input fields for activateWalletDeposit

Name

Description

input ActivateWalletDepositInput!

The parameters required to activate a wallet deposit address

approveTransactionRequest

Approve a transaction request.

Return type: ApproveTransactionRequestResult!

Input fields for approveTransactionRequest

Name

Description

input ApproveTransactionRequestInput!

The data required to approve a transaction request.

rejectTransactionRequest

Reject a transaction request.

Return type: TransactionRequestApproval!

Input fields for rejectTransactionRequest

Name

Description

input RejectTransactionRequestInput!

The data required to reject a transaction request.

createSignatureRequest

Creates a signature request for a transaction request.

Return type: CreateSignatureRequestResult!

Input fields for createSignatureRequest

Name

Description

input CreateSignatureRequestInput!

Parameters to create the signature request.

approveSignatureRequest

Approves a signature request.

Return type: ApproveSignatureRequestResult!

Input fields for approveSignatureRequest

Name

Description

input ApproveSignatureRequestInput!

Parameters to approve the signature request.

requestOwnerSignatures

Requests owner signatures for a transaction request.

Return type: RequestOwnerSignaturesResult!

Input fields for requestOwnerSignatures

Name

Description

input RequestOwnerSignaturesInput!

Parameters to request owner signatures.

resolveEIP1271Signature

Resolves an EIP-1271 signature.

Return type: ResolveEIP1271SignatureResult!

Input fields for resolveEIP1271Signature

Name

Description

input ResolveEIP1271SignatureInput!

Parameters to resolve an EIP-1271 signature.

rejectTransactionRequestSignature

Rejects a signature request.

Return type: Boolean!

Input fields for rejectTransactionRequestSignature

Name

Description

input RejectTransactionRequestSignatureInput!

Parameters to reject the signature request.

setWalletFinalApprover

Sets the final approver for signing of transactions in a wallet.

Return type: Boolean!

Input fields for setWalletFinalApprover

Name

Description

input SetWalletFinalApproverInput!

Parameters required to set the final approver in a wallet.

disableWalletSigner

Disables the signer from signing of transactions in a wallet.

Return type: Boolean!

Input fields for disableWalletSigner

Name

Description

input DisableWalletSignerInput!

Parameters required to disable the signer of a wallet.

shareWalletKey

Share a wallet key with a wallet member. The wallet member must fetch the key and decrypt it client-side. If there's an existing password, it will be replaced with the new one. The wallet member must have the approver role.

Return type: Password!

Input fields for shareWalletKey

Name

Description

input ShareWalletKeyInput!

registerWalletPassword

Return type: Password!

Input fields for registerWalletPassword

Name

Description

input RegisterWalletPasswordInput!

Parameters required to register a wallet member's password.

createKey

Creates a new key in an organization.

Return type: Key!

Input fields for createKey

Name

Description

input CreateKeyInput!

Parameters required to create a new key.

updateKey

Update a key.

Return type: Boolean!

Input fields for updateKey

Name

Description

input UpdateKeyInput!

Parameters required to update a key.

createWebhook

Creates a new webhook in an organization.

Return type: OrganizationWebhook!

Input fields for createWebhook

Name

Description

input CreateWebhookInput!

Parameters required to create a new webhook.

deleteWebhook

Delete a webhook.

Return type: Boolean!

Input fields for deleteWebhook

Name

Description

input DeleteWebhookInput!

Parameters required to delete a webhook.