Skip to main content
POST
Submit Cryptocurrency Transfer

Authorizations

Authorization
string
header
required

Bearer authentication with an API token

Query Parameters

preflight_checks
enum<string>[]

Checks to run synchronously before the transfer is accepted, trading a little request latency for an immediate error instead of an asynchronous failure. Sent as a repeated query parameter; omitting it preserves existing behavior. A value outside the list below refuses the request.

PreflightCheck names a validation that can run synchronously at submit time.

Available options:
PREFLIGHT_CHECK_UNSPECIFIED,
PREFLIGHT_CHECK_BALANCE

Body

application/json

The transfer to submit. Sent as the request body. Kept as its own message so persisted approval payloads keep decoding.

The transfer to submit. Sent as the request body. Kept as its own message so persisted approval payloads keep decoding.

request_id
string<uuid>
required

Request identifier in a UUID format. Serves as an idempotency key.

Pattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}
account_id
string
required

Unique identifier of the account transferring the cryptocurrency

currency_symbol
string
required

Symbol or ticker of the cryptocurrency to send

amount
string
required

Amount to send in the asset currency's default unit (ex: Ether for ETH)

account_destination
account_destination · object

Internal Bastion account destination for P2P transfers

destination_address
string
deprecated

Deprecated: use address_destination instead.

Address of the recipient to receive the cryptocurrency.

destination_chain
enum<string>
deprecated

Deprecated: use address_destination instead.

Chain identifier for the cryptocurrency transaction.

Available options:
CHAIN_UNSPECIFIED,
ETHEREUM_MAINNET,
POLYGON_MAINNET,
ETHEREUM_TESTNET,
OPTIMISM_SEPOLIA,
BASE_MAINNET,
BASE_SEPOLIA,
OPTIMISM_MAINNET,
POLYGON_AMOY,
SOLANA_MAINNET,
SOLANA_DEVNET
Example:

"ETHEREUM_MAINNET"

priority
enum<string>
deprecated

Optional inclusion priority for the cryptocurrency transfer transaction. Higher priority results in faster confirmation times but higher gas fee spend.

⚠️ Transaction Priority

Setting a higher priority expedites your transaction by increasing the gas price used to submit the transaction.

Please note, however, that high-priority transfers may be delayed if the account has pending lower-priority transactions that must be processed first in sequence.

Available options:
PRIORITY_UNSPECIFIED,
PRIORITY_NORMAL,
PRIORITY_HIGH,
PRIORITY_URGENT
Example:

"PRIORITY_NORMAL"

validate_only
boolean

If true, only validates the request without executing the transfer. When set, all validations are run but no transfer is submitted.

device_signals
DeviceSignals · object | null

DeviceSignals carries client device/network identifiers captured at request time for value-moving, user-initiated endpoints.

Response

Success

id
string
request_id
string