---
title: "PreValidate deposit of resources to an account"
method: POST
path: "/transaction/account-deposit-pre-validation"
tags: ["Transaction"]
---

# PreValidate deposit of resources to an account

`POST /transaction/account-deposit-pre-validation`

Helper endpoint that allows pre-validation if a deposit of certain resources to a given account can succeed or not. It is only meant for pre-validation usage, it does not guarantee that execution will succeed.

## Request body

- AccountDepositPreValidationRequest
  - `account_address` string, required — Bech32m-encoded human readable version of the address.
  - `resource_addresses` Address[], required
  - `badge` TransactionAccountDepositPreValidationAuthorizedDepositorBadge
    - `badge_type` 'ResourceBadge' | 'NonFungibleBadge', required

## Response `200`

Pre-validation response, including all deciding factors that were used to generate that response.

- AccountDepositPreValidationResponse
  - `ledger_state` LedgerState, required — The ledger state against which the response was generated. Can be used to detect if the Network Gateway is returning up-to-date information.
    - `network` string, required — The logical name of the network
    - `state_version` integer, required — The state version of the ledger. Each transaction increments the state version by 1.
    - `proposer_round_timestamp` string, required — The proposer round timestamp of the consensus round when this transaction was committed to ledger. This is not guaranteed to be strictly increasing, as it is computed as an average across the validator set. If this is significantly behind the current timestamp, the Network Gateway is likely reporting out-dated information, or the network has stalled.
    - `epoch` integer, required — The epoch number of the ledger at this state version.
    - `round` integer, required — The consensus round in the epoch that this state version was committed in.
  - `allows_try_deposit_batch` boolean, required
  - `resource_specific_behaviour` AccountDepositPreValidationResourceSpecificBehaviourItem[] — The fully resolved try_deposit_* ability of each resource (which takes all the inputs into account, including the authorized depositor badge, the default deposit rule and the resource-specific details).
    - `resource_address` string, required — Bech32m-encoded human readable version of the address.
    - `allows_try_deposit` boolean, required
  - `deciding_factors` AccountDepositPreValidationDecidingFactors, required — Deciding factors used to calculate response.
    - `is_badge_authorized_depositor` boolean, nullable — Whether the input badge belongs to the account's set of authorized depositors. This field will only be present if any badge was passed in the request.
    - `default_deposit_rule` 'Accept' | 'Reject' | 'AllowExisting', required — Default deposit rule set to an account.
    - `resource_specific_details` AccountDepositPreValidationDecidingFactorsResourceSpecificDetailsItem[] — Returns deciding factors for each resource. Contains only information about resources presented in the request, not all resource preference rules for queried account.
      - `resource_address` string, required — Bech32m-encoded human readable version of the address.
      - `vault_exists` boolean, required
      - `is_xrd` boolean, required
      - `resource_preference_rule` 'Allowed' | 'Disallowed'

## Other responses

- `4XX` — Client-originated request error

---

[API](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon.md) · [All operations](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/radixdlt/radix-gateway-api-babylon/revisions/153aecf74342/schema)
