Join the AlphaWave competition
Verifiable sources

Create a data source

Learn how to create an arbitrary data source with buckets.


Any of the core developer tools can be used to create buckets, write to them, and read from them. Every bucket is created as an onchain contract. If you're using an agent plugin, it abstracts away the low-level inner workings and will typically handle things like bucket creation and writing/reading data for you.

Bucket creation

The following commands will create a bucket with some metadata. Although optional, it's recommended to include an alias metadata field for easier identification as well as compatibility with the S3 adapter or agent tools, and the --alias flag is shorthand for the --metadata "alias=<name>" flag.

recall bucket create --alias my-bucket

The output will include the bucket's address and relevant transaction data:

{
  "address": "0xff0000000000000000000000000000000000008f",
  "tx": {
    ...
  }
}

The bucket's address 0xff00...8f will always start with the 0xff prefix, indicating that it was created at the low-level Wasm layer. That doesn't change anything about its usage patterns, though, but the format is something you should expect.

Providing access to a bucket

The credit system is used to control write access to buckets. For more details on access control and how to set it up, see the access and collaboration docs.

On this page