Links

Dispatch Transaction

ArConnect Injected API dispatch() function
The dispatch() function allows you to quickly sign and send a transaction to the network in a bundled format. It is best for smaller datas and contract interactions. If the bundled transaction cannot be submitted, it will fall back to a base layer transaction. The function returns the result of the API call.
Argument
Type
Description
transaction
A valid Arweave transaction instance (without a keyfile)
Note: This function requires the DISPATCH permission.
Note: If you are trying to sign a larger piece of data (5 MB <), make sure to notify the user to not switch / close the browser tab. Larger transactions are split into chunks in the background and will take longer to sign.
Note: The function uses the default bundler node set by the user or the extension. Consider using the signDataItem() function to submit data to a custom bundler.

Dispatch result

The dispatch() function returns the result of the operation, including the ID of the submitted transaction, as well as if it was submitted in a bundle or on the base layer.
export interface DispatchResult {
id: string;
type?: "BASE" | "BUNDLED";
}

Example usage

import Arweave from "arweave";
// create arweave client
const arweave = new Arweave({
host: "ar-io.net",
port: 443,
protocol: "https"
});
// connect to the extension
await window.arweaveWallet.connect(["DISPATCH"]);
// create a transaction
const transaction = await arweave.createTransaction({
data: '<html><head><meta charset="UTF-8"><title>Hello permanent world! This was signed via ArConnect!!!</title></head><body></body></html>'
});
// dispatch the tx
const res = await window.arweaveWallet.dispatch(transaction);
console.log(`The transaction was dispatched as a ${res.type === "BUNDLED" ? "bundled" : "base layer"} Arweave transaction.`)