Creating & Managing Allocations
An allocation is reserved storage space on blobbers. The zbox CLI provides commands to create, update, transfer, forbid, cancel, finalize allocations, and manage blobber/validator settings.
You may see commands written as ./zbox or zbox.
Use
./zboxif you are running the binary directly from the folder where it was built (e.g., aftermake installinside the repo).Use
zboxif the binary has been installed into your system’s$PATH(e.g.,/usr/local/bin), which lets you call it from anywhere.
Functionally, both are the same — the difference is whether your system can find the zbox command globally or only in the current directory.
1. Create New Allocation
The newallocation command reserves hard disk space on blobbers. Later, upload can be used to save files to the allocation.
newallocation has three modes:
Cost mode (
--cost) → Returns only the estimated cost.Free storage mode (
--free_storage) → Uses a free storage marker JSON.Standard mode (default) → Creates an allocation with user-specified parameters.
Command
zbox newallocation [flags]Parameters
--allocationFileName
Local file to store allocation info
allocation.txt
file path
--cost
Estimate cost only
–
flag
--data
Number of data shards (affects speed)
2
int
--parity
Number of parity shards (affects durability)
2
int (1 < p < 30)
--size
Reserved space (bytes)
2147483648
int
--lock*
Tokens locked in write pool
required
float
--free_storage
Free storage marker file
–
path
--owner
Owner’s ID (create for another user)
client
string
--owner_public_key
Owner’s public key
–
string
--read_price
Max read price
0–inf
range
--write_price
Max write price
0–inf
range
--usd
Show value in USD
–
flag
--third_party_extendable
Allow extensions by others
false
bool
--forbid_*
Forbid operations (upload, delete, update, move, copy, rename)
false
bool
--blobber_auth_tickets
Comma-separated auth tickets
–
strings
--preferred_blobbers
Comma-separated blobber IDs
auto
strings
--force
Force allocation even if insufficient blobbers
false
bool
--name
Allocation name
–
string
--lockis required unless--free_storageis used.
Free Storage Marker Format
{
"assigner": "my_corporation",
"recipient": "f174cdda7e24aeac0288afc2e8d8b20eda06b18333efd447725581dc80552977",
"free_tokens": 2.1,
"timestamp": 2000000,
"signature": "9edb86c8710d5e3ee4fde247c638fd6b81af67e7bb3f9d60700aec8e310c1f06"
}Examples
Standard Allocation
./zbox newallocation --lock 0.5Free Storage Allocation
./zbox newallocation --lock 0.5 --free_storage markers/my_marker.jsonResponse
Allocation created : d0939e912851959637257573b08c748474f0dd0ebbc8e191e4f6ad69e4fdc7ac2. Update Allocation
updateallocation modifies allocation settings.
Modes:
Free storage update → Uses
--free_storagemarker.Standard update → Extends expiry, size, or adds/removes blobbers.
Command
zbox updateallocation --allocation <id> [flags]Key Parameters
--allocation
Allocation ID (required)
--extend
Extend expiry (duration, e.g. 48h)
--size
Increase allocation size (bytes)
--lock
Add tokens to write pool
--add_blobber
Add blobber (requires --remove_blobber for swap)
--remove_blobber
Remove blobber
--third_party_extendable
Allow others to extend
--forbid_*
Forbid operations (upload, delete, etc.)
Examples
./zbox updateallocation --allocation <id> --expiry 48h --size 4096
./zbox updateallocation --allocation <id> --free_storage markers/my_marker.jsonResponse
Allocation updated with txId : fb84185dae620bbba8386286726f1efcd20d2516bcf1a448215434d87be3b30d3. Transfer Allocation Ownership
Transfer allocation from current owner to another user.
Command
zbox transferallocation --allocation <id> --new_owner <id> --new_owner_key <pubkey>Response
Transferred ownership of allocation : <id> to <new_owner> 4. Forbid Allocation Operations
Restrict operations using forbid flags with updateallocation.
--forbid_upload
Prevent file uploads
--forbid_delete
Prevent deletions
--forbid_update
Prevent updates
--forbid_move
Prevent moves
--forbid_copy
Prevent copies
--forbid_rename
Prevent renames
Example
./zbox updateallocation --allocation <id> --forbid_upload5. Cancel Allocation
Immediately cancels allocation and returns tokens (except already distributed to blobbers).
Command
zbox alloc-cancel --allocation <id>Response
Allocation canceled with txId : 501df5a8e2a6b8ebced1d1e7dc4ed17f653012dd49834801b4413786ec031cd26. Finalise Allocation
Finalises an expired allocation. Can be run by owner or blobber.
Command
zbox alloc-fini --allocation <id>Response
Allocation finalized with txId : 2a6c031ced1d1e7dc4ed17801b4413786ecd2501df5ab8ebf653012dd498348e7. Listing Allocations & Blobbers
List Allocations
zbox listallocationsList All Files in Allocation
zbox list-all --allocation <id>List Blobbers
zbox ls-blobbersBlobber Info
zbox bl-info --blobber_id <id>8. Blobber & Validator Settings
Update Blobber Settings
zbox bl-update --blobber_id <id> --read_price 0.1Update Validator Settings
zbox validator-update --validator_id <id> --service_charge 0.1List Validators
zbox ls-validatorsValidator Info
zbox validator-info --validator_id <id>9. Shutdown / Kill Blobbers & Validators
Shutdown Blobber
zbox shutdown-blobber --id <id> --wallet <chain_owner_wallet>Kill Blobber
zbox kill-blobber --id <id> --wallet <chain_owner_wallet>Shutdown Validator
zbox shutdown-validator --id <id> --wallet <chain_owner_wallet>Kill Validator
zbox kill-validator --id <id> --wallet <chain_owner_wallet>10. Version
Get CLI & SDK version:
zbox versionResponse
zbox....: v1.4.3
gosdk...: v1.8.14Last updated