Skip to Content
x207x207 Docs
Concepts

Asset classes

The four delivery classes A, B, C and D (and refused class X), with the asset types each one holds and what has run on testnet.

An asset class says how an asset is delivered. The class decides who holds the asset while a deal runs and how the buyer gets it. The backend registry is backend/src/marketplace/asset-classes.ts; the SDK constant is ASSET_CLASSES = ["A","B","C","D"].

Testnet only. In the full catalog, 13 of 85 offerable kinds have run on testnet. The rest are sandbox, mock, unit-only, generic or roadmap. Read Security and limits before relying on any class.

ClassDelivery typeHow it worksExamples
AnativeAtomic escrow of an NFT, NEAR account or other on-chain assetnft:nep171, ticket:event-nft, token:nep141, near:account, near:named-account
Baccess_keyRental of NEAR account access through a function-call keyaccess to an account for a period
Ctee_brokerA broker relays calls to an x402 endpoint so the secret never changes handsa paid API behind a key
Dx402A service paid directly with a voucher (flow F2)compute:gpu-hours, model:inference, storage:capacity, oracle:data-feed
XnoneNon-transferable. A listing is rejected with 400 asset_class_rejected; offer_grant fails with ERR_ASSET_CLASS_FORBIDDENnot offerable
rejectedListing: asset_type andasset_classA: native escrowB: access key rentalC: TEE broker relayD: paid with a voucherX: non-transferableContract or locker holds theassetFunction-call key,time-limitedBroker calls the endpointSeller serves, buyer paysx402

Asset types by class

asset_type is free text of the form <provider>:<kind>. The code knows these:

  • Class A, escrow (ESCROW_ASSET_TYPES): nft:nep171, ticket:event-nft, game:item-nft, coupon:voucher-nft, license:software-nft, token:nep141, rwa:tokenized, lst:liquid-staking, intents:multi-token, amm:lp-share.
  • Class A, accounts: near:account, near:named-account, vesting:transferable-lockup, chain-signatures:derived-address, near:member_account.
  • Class A, transfers: transfer:domain, transfer:game-item, transfer:ticket. transfer:website and transfer:online-store are roadmap only.
  • Class D, resources (12 kinds): compute:cpu-idle, compute:gpu-hours, storage:capacity, cdn:static-cache, model:inference, model:fine-tuning, oracle:data-feed, iot:sensor-data, gas:relayer, queue:priority-slot, network:proxy-bandwidth, compute:home-device. Units: call, minute, day, GB, job, request.

The full catalog has 94 entries: 85 offerable and 9 in class X.

Where the list comes from

GET /x207/circles/{circle}/marketplace/asset-classes serves the list with source: "local". It stays local until the contract's asset-class registry (set_asset_class, get_asset_class) becomes the source. Today the owner of the circle contract sets asset classes, and the registry in the backend is a copy.

Source

Edit on GitHub

On this page