Skip to content

Choose a shipping BitBadges standard by intent, discover its exact CLI builder and actions, and distinguish payment variants from recurring authorization.

Standards are recognizable arrangements of native token approvals, balances, permissions, and trackers. They provide builders and parsers for common applications without deploying a separate smart contract. A collection's advertised standard name is a discovery hint; validate its actual configuration before acting.

For an agent, begin with the user's intended outcome, then select the builder and inspect the resulting transaction. Use the CLI as the primary entry point. Read Build, Validate, and Track before automating a lifecycle. The Token Standard tab documents the underlying chain primitives.

Intent to Standard

User wantsStandard and detailsCreation entry point
A finite invoice for one payer, a roster, installments, or a targetPaymentRequestV2bb build payment-request-v2
A reusable checkout linkPaymentLinkV1Same builder, kind: "payment-link"
An existing legacy requestPaymentRequestbb build payment-request
Recurring access with explicit renewal consentSubscriptionsbb build subscription
A token backed by a deposited assetSmart Tokenbb build smart-token
A token with a chain coin wrapperIBC Token FactoryGeneric collection/session tools; frontend /mint/ibc-token
An existing IBC-backed vault configurationVaultbb build vault
Prepaid units or API creditsCredit Tokenbb build credit-token
A priced product catalogProductsbb build product-catalog
A verifier-controlled bountyBountybb build bounty
Goal-based funding and its separate settlement lifecycleCrowdfundbb build crowdfund
An auctionAuctionbb build auction
YES/NO positions with a resolverPrediction Marketbb build prediction-market
NFT listings and bidsNFTMarketplacebb build listing or bb build bid
A fungible collectionFungible TokensGeneric collection/session tools; fungible-token skill
An NFT collectionNFTsGeneric collection/session tools; nft-collection skill
Membership managed as a token listAddress Listbb build address-list
Short-lived manager-issued credentialsCustom-2FAbb build custom-2fa
Quest completion tokensQuestsFrontend quest/claims workflow; bb dev skills quest for guidance
A single unique NFT1 of 1Generic collection/session tools; frontend /mint/one-of-one
Issuer-authorized token movementIssuer-Controlled TokensGeneric collection/session tools; frontend /mint/issuer-controlled
Restrict transfersNon-TransferableApproval and permission configuration
Pool/DEX participationLiquidity PoolsExisting pool commands; Smart Token --tradable where applicable

Not every standard has dedicated list, show, or build verbs. The table identifies actual supported surfaces; use --help on the installed CLI to discover exact options. Tags such as Tradable, Subscription, and Invoice may be validator aliases. Do not rewrite stored tags or assume aliases work in every indexer filter.

Payment Selection

RequirementUse
Alice pays onceSpecific payer invoice
Anyone pays oncePublic invoice
Any one of Alice, Bob, or Carol paysOne roster obligation, one payment
Alice, Bob, and Carol must each paySeparate obligation for each payer
Any three eligible wallet addresses must payOne obligation, three required payments, distinct payers
Alice pays on several datesIndependent installment obligations
Alice pays in smaller incrementsPartial-payment quantum and finite target
A group contributes toward a direct-payment totalShared target, with final recipient payouts on each contribution
The same checkout can be used repeatedlyPayment link
Charge the same user periodically after consentSubscriptions
Hold money for a refund or conditional releaseA separately verified escrow/funding standard; direct invoice targets do not escrow

The nine payment presets describe common shapes. Valid combinations can be classified custom; they still use the same strict terms and on-chain approvals. Payer rules, unit rules, and tracking define the differences.

Agent Discovery

bash
bb --help-json
bb build payment-request-v2 --help
bb pay-requests pay --help
bb dev tools list --names
bb dev skills payment-obligations
bb dev skills subscription

The installed CLI's machine-readable command tree describes syntax. Tool schemas describe input shape; the builder's runtime validation also checks cross-field rules. Read the standard's lifecycle before selecting an action. An emitted message is a proposal, and a submitted hash is not confirmed settlement.

Existing Smart Token vault functionality is documented here. The separately proposed Agent Vault work is not required for the main-wallet invoice flow and is not included in these standards' guarantees.

Frontend Coverage

This reference includes every creation family registered in the frontend: invoices (Invoices, legacy PaymentRequest, PaymentRequestV2, PaymentLinkV1), subscriptions, smart tokens, IBC token factory, vaults, credits, products, quests, address lists, Custom-2FA, bounties, crowdfunding, auctions, prediction markets, fungible tokens, NFTs, 1-of-1 NFTs, and issuer-controlled tokens.

Composable capabilities are documented alongside their owning family: NFTMarketplace and Liquidity Pools, Non-Transferable and UI conventions. Leaderboard, Milestones, and ListView:<name> are display tags. They do not introduce new chain primitives. The invoice form's nine presets map to payer rules and payment units, with reusable checkout in Payments.

The CLI JSON recipes document supported builder inputs. Where the frontend offers a template without a dedicated SDK/CLI builder, the page identifies the generic primitives and labels partial JSON as a fragment. Do not treat a display tag, illustrative fragment, or generic tool as a complete standard implementation.

Machine Input

For invoice discovery, the CLI emits the builder parameters under data. These are distinct from the collection's standards tags. For example, this selection fragment requests a finite invoice model, not a complete collection:

json
{
  "version": 2,
  "kind": "invoice"
}

Add validated obligations and metadata from the complete JSON input. For other families, use the matching bb build recipe and domain action commands on that page. Agents should retain the original input alongside the generated transaction so reviewers can compare intended terms against actual approval criteria.

Edit this page on GitHub