Skip to content

Add vaultless field to order input/output spec #43

@findolor

Description

@findolor

Overview

Document the new vaultless field for order inputs/outputs in the YAML spec. This field enables direct wallet-based trading in V6 orderbook.

Parent issue: rainlanguage/rain.orderbook#2402

Spec Changes

Add vaultless field to order input/output configuration:

orders:
  my-order:
    inputs:
      - token: token-a
        vaultless: true  # Funds received go directly to wallet
    outputs:
      - token: token-b
        vault-id: 0x123  # Funds go from vault (existing behavior)

Field Definition

Field Type Required Default Description
vaultless boolean No false When true, uses wallet directly instead of vault. Contract uses vault_id = 0 internally.

Validation Rules

Scenario Result
vaultless: true Valid - uses wallet directly
vaultless: true + vault-id: X Error: "Using vault-id is not allowed in vaultless mode"
vault-id: 0 Error: "Invalid vault-id value. For vaultless mode use vaultless: true"
vaultless: false or omitted Uses vault-id if specified, otherwise generates random

Behavior

  • Vaultless inputs: Tokens received are sent directly to the owner's wallet
  • Vaultless outputs: Tokens given are pulled directly from the owner's wallet (requires approval)
  • Hybrid orders: Each input/output can independently be vaultless or vault-based

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions