Skip to main content
A broadcast is sending a transaction to the blockchain network so nodes can receive and include it in the chain. In these docs “broadcast” refers to submitting a (signed) transaction to the blockchain (the node/rpc) so it’s propagated and eventually confirmed. Examples and API calls that “sign an unsigned transaction and broadcast it to chain” are available in the examples pages. Use broadcast when you want the wallet to sign (using its underlying key) and publish a prepared transaction or PSBT to the blockchain. The endpoint accepts either a signed/partially-signed PSBT (Bitcoin/Litecoin) or an unsigned transaction payload for many chains; the wallet service will sign (when applicable) and broadcast it to the network. Check out the examples for exact request formats and chain-specific transaction examples.

Speed up and cancel

If a broadcasted transaction is stuck in the mempool (status Broadcasted), you can speed it up or cancel it:
Success is not guaranteed. If the original transaction confirms before the replacement is mined, the speed-up or cancel will fail.
What endpoint should I use for my transactions?
  • Transfer: call the Transfer Asset endpoint for native tokens, ERC-20/721, SPL, Cardano assets, etc. It creates a wallet transfer request, requires user action signing, supports fee sponsorship, idempotency via externalId, policy approvals, status tracking, and indexing (txHash, dateConfirmed). See Transfer.
  • Broadcast (Sign & Broadcast): use the Broadcast Transaction endpoint when you’ve built a raw/serialized transaction (or need to call arbitrary smart contract functions, mint, deploy contracts). This endpoint signs the transaction with the wallet key and broadcasts it; it also returns request status and txHash. See Broadcast.
  • Sign (Generate Signature): use Generate Signature only when you need an off-chain signature (no broadcast). Note this wallet endpoint is deprecated in favor of the Keys API; it does not submit anything to the chain.

Transaction request object

id
string
required

Transaction id.

Required string length: 1 - 64
Pattern: ^tx-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"tx-583hu-sp2p7-slvb9nqpa3hd8bus"

walletId
string
required

Wallet id.

Required string length: 1 - 64
Pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"wa-5pfuu-9euek-h0odgb6snva8ph3k"

network
enum<string>
required
Available options:
Algorand,
AlgorandTestnet,
Aptos,
AptosTestnet,
ArbitrumOne,
ArbitrumSepolia,
ArcTestnet,
AvalancheC,
AvalancheCFuji,
BabylonGenesis,
BabylonTestnet5,
Base,
BaseSepolia,
Berachain,
BerachainBepolia,
Bitcoin,
BitcoinSignet,
BitcoinTestnet4,
BitcoinCash,
Bob,
BobSepolia,
Bsc,
BscTestnet,
Canton,
CantonTestnet,
Cardano,
CardanoPreprod,
Concordium,
ConcordiumTestnet,
Celo,
CeloAlfajores,
Codex,
CodexSepolia,
CosmosHub4,
CosmosIcsTestnet,
Dogecoin,
DogecoinTestnet,
Ethereum,
EthereumClassic,
EthereumClassicMordor,
EthereumSepolia,
EthereumHoodi,
FlareC,
FlareCCoston2,
FlowEvm,
FlowEvmTestnet,
Hedera,
HederaTestnet,
Ink,
InkSepolia,
InternetComputer,
Ion,
IonTestnet,
Iota,
IotaTestnet,
Kusama,
KusamaAssetHub,
Litecoin,
LitecoinTestnet,
Movement,
MovementTestnet,
Near,
NearTestnet,
Optimism,
OptimismSepolia,
Origyn,
Plasma,
PlasmaTestnet,
Plume,
PlumeSepolia,
Paseo,
PaseoAssetHub,
Polkadot,
PolkadotAssetHub,
Polygon,
PolygonAmoy,
Polymesh,
PolymeshTestnet,
Race,
RaceSepolia,
Rayls,
RaylsTestnet,
Robinhood,
RobinhoodSepolia,
SeiAtlantic2,
SeiPacific1,
Solana,
SolanaDevnet,
Sonic,
SonicTestnet,
Starknet,
StarknetSepolia,
Stellar,
StellarTestnet,
Sui,
SuiTestnet,
Tezos,
TezosGhostnet,
TezosShadownet,
Tempo,
TempoModerato,
Tsc,
TscTestnet1,
Ton,
TonTestnet,
Tron,
TronNile,
Westend,
WestendAssetHub,
Xdc,
XdcApothem,
XLayer,
XLayerSepolia,
XrpLedger,
XrpLedgerTestnet
requester
object
required

The user who initiated the request.

requestBody
Transaction · object
required

Signs an unsigned transaction and broadcasts it to chain. For EVM transactions, you may use JSON objects:

For Starknet transactions, you may use invocation request objects (https://github.com/starkware-libs/starknet-specs/blob/v0.8.1/api/starknet_api_openrpc.json#L2621):

For Concordium transactions, you may use JSON objects (from https://github.com/Concordium/concordium-node-sdk-js/blob/sdk/12.0.0-alpha.3/packages/sdk/src/transactions/Transaction.ts#L102)

status
enum<string>
required
Available options:
Pending,
Executing,
Broadcasted,
Confirmed,
Failed,
Rejected
dateRequested
string<date-time>
required

ISO 8601 date (must be UTC). When the transaction was requested.

Example:

"2023-04-14T20:41:28.715Z"

reason
string
txHash
string
fee
string
approvalId
string
Required string length: 1 - 64
Pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"ap-2a9in-tt2a1-983lho480p35ejd0"

datePolicyResolved
string<date-time>

ISO 8601 date (must be UTC). When the transaction was approved by policy reviewers.

Example:

"2023-04-14T20:41:28.715Z"

dateBroadcasted
string<date-time>

ISO 8601 date (must be UTC). When the transaction was broadcasted to the blockchain.

Example:

"2023-04-14T20:41:28.715Z"

dateConfirmed
string<date-time>

ISO 8601 date (must be UTC). When the transaction was confirmed on chain.

Example:

"2023-04-14T20:41:28.715Z"

externalId
string
replacementId
string

The id of the replacement transaction (cancel or speed-up) issued for this transaction.

details
object

Structured representation of the data used to construct the signature (e.g. nonce, gas parameters). Shape is blockchain specific.

Last modified on June 8, 2026