Sign DataItem

ArConnect Injected API signDataItem() function
The signDataItem() function allows you to create and sign a data item object, compatible with arbundles. These data items can then be submitted to an ANS-104 compatible bundler.
The bundled data item to sign
Note: This function requires the SIGN_TRANSACTION permission.
Warning: The function returns a buffer of the signed data item. You'll need to manually load it into an arbundles DataItem instance as seen in the example usage.

Data item

This function requires a valid data item object, like so:
export interface DataItem {
data: string | Uint8Array;
target?: string;
anchor?: string;
tags?: {
name: string;
value: string;

Example usage

import { DataItem } from "arbundles";
// connect to the extension
await window.arweaveWallet.connect(["SIGN_TRANSACTION"]);
// sign the data item
const signed = await window.arweaveWallet.signDataItem({
data: "This is an example data",
tags: [{
name: "Content-Type",
value: "text/plain"
// load the result into a DataItem instance
const dataItem = new DataItem(signed);
// now you can submit it to a bunder
await fetch(``, {
method: "POST",
headers: {
"Content-Type": "application/octet-stream"
body: dataItem.getRaw()