AlgoVoi · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Algovoi Co Uk Checkout API
18 actions
18 updates
phrasing
extends
openapi/algovoi-co-uk-checkout-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for AlgoVoi's API. It is a proposal applied on top of the contract, not a document AlgoVoi publishes.
What the actions change
x-apievangelist-phrasing
Targets 18 · first 16 shown; the file carries all of them
$.info
$.paths['/checkout/{token}/verify'].post
$.paths['/checkout/{token}/qr'].get
$.paths['/checkout/{token}/build-txn'].get
$.paths['/checkout/{token}/submit-txn'].post
$.paths['/checkout/{token}/detect'].get
$.paths['/checkout/{token}/submit-sponsored'].post
$.paths['/checkout/{token}/abandon'].post
$.paths['/checkout/{token}/cancel'].post
$.paths['/checkout/{token}/xchain/bridge-info'].get
$.paths['/checkout/{token}/xchain/bridge-send'].post
$.paths['/checkout/{token}/xchain/source-tx-recorded'].post
$.paths['/checkout/{token}/xchain/bridge-status/{tx_hash}'].get
$.paths['/checkout/{token}/xchain/prepare'].post
$.paths['/checkout/{token}/xchain/prepare-optin'].post
$.paths['/checkout/{token}/xchain/optin-submit'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Algovoi Co Uk Checkout API
version: 1.0.0
extends: openapi/algovoi-co-uk-checkout-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 17
- target: $.paths['/checkout/{token}/verify'].post
update:
x-apievangelist-phrasing:
intent: Verify a payer's on-chain transaction for a checkout
effect: write
questions:
- How do I confirm a shopper's crypto transaction and mark the payment link as paid?
- What happens if the transaction sent to a checkout link was for the wrong amount or chain?
- Does verifying a checkout return a redirect URL I can send the buyer to?
instructions:
- text: Verify transaction {tx_id} against checkout {token} and mark it paid.
slots:
tx_id: requestBody.tx_id
token: path.token
- text: Check that tx {tx_id} on chain {chain} settled checkout link {token}.
slots:
tx_id: requestBody.tx_id
chain: requestBody.chain
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/qr'].get
update:
x-apievangelist-phrasing:
intent: Render a QR code image for a checkout
effect: read
questions:
- Can I get a PNG QR code for a WalletConnect pairing URI on a checkout page?
- Is there a way to show a scannable QR image without a JavaScript QR library?
instructions:
- text: Generate a QR code PNG encoding {data} for checkout {token}.
slots:
data: query.data
token: path.token
- text: Make a scannable QR image of the WalletConnect URI {data} on checkout {token}.
slots:
data: query.data
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/build-txn'].get
update:
x-apievangelist-phrasing:
intent: Build an unsigned Algorand or VOI checkout transaction
effect: read
questions:
- How can a wallet get an unsigned Algorand transaction to sign for a checkout via WalletConnect?
- Do I need algosdk in the browser to build the payment transaction for a VOI checkout?
instructions:
- text: Build an unsigned payment transaction for checkout {token} sent from wallet {sender}.
slots:
token: path.token
sender: query.sender
- text: Prepare the base64 unsigned txn that address {sender} should sign to pay checkout {token}.
slots:
sender: query.sender
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/submit-txn'].post
update:
x-apievangelist-phrasing:
intent: Submit a signed Algorand or VOI checkout transaction
effect: write
questions:
- Once the customer signs the Algorand transaction, how do I broadcast it to algod for this checkout?
- What do I get back after submitting a signed VOI transaction for a payment link?
instructions:
- text: Broadcast the customer's signed transaction for checkout {token} and give me the tx id.
slots:
token: path.token
- text: Submit the base64 signed Algorand txn for payment link {token} to the network.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/detect'].get
update:
x-apievangelist-phrasing:
intent: Detect an inbound payment for a checkout
effect: read
questions:
- Can the checkout find the customer's payment on-chain without them pasting a transaction id?
- Which chains does automatic payment detection poll, Algorand, VOI and Hedera?
instructions:
- text: Look on-chain for an incoming payment to checkout {token}.
slots:
token: path.token
- text: Poll the indexer to see whether checkout {token} has received funds yet.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/submit-sponsored'].post
update:
x-apievangelist-phrasing:
intent: Submit a fee-sponsored checkout transaction
effect: write
questions:
- Can the merchant's sponsor wallet pay the network fee so the customer sends a zero-fee transaction?
- What happens if the tenant has no sponsor wallet when a sponsored payment is submitted?
instructions:
- text: Submit the customer's zero-fee signed transaction for checkout {token} through the sponsor wallet.
slots:
token: path.token
- text: Pool fees from the tenant sponsor wallet and send the signed payment for checkout {token}.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/abandon'].post
update:
x-apievangelist-phrasing:
intent: Mark a checkout as abandoned by the customer
effect: destructive
questions:
- How does a shopper walk away from a checkout so the merchant order doesn't stay pending forever?
- Can a customer abandon a checkout without the merchant's cancel secret?
instructions:
- text: Record that the customer abandoned checkout {token}.
slots:
token: path.token
- text: Flag checkout {token} as walked away by the shopper so the order shows cancelled.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/cancel'].post
update:
x-apievangelist-phrasing:
intent: Cancel an active checkout link as the merchant
effect: destructive
questions:
- How does a merchant cancel a payment link they created?
- Why does cancelling a checkout link require the cancel secret from link creation?
- Can I cancel a link that has already been paid or expired?
instructions:
- text: Cancel checkout link {token} using cancel secret {cancel_secret}.
slots:
token: path.token
cancel_secret: requestBody.cancel_secret
- text: Void merchant payment link {token} with secret {cancel_secret} and return the redirect URL.
slots:
token: path.token
cancel_secret: requestBody.cancel_secret
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/bridge-info'].get
update:
x-apievangelist-phrasing:
intent: List EVM source chains for bridging a checkout
effect: read
questions:
- Which EVM chains can a buyer bridge USDC from to pay this checkout?
- How much does the shopper need to send including the Allbridge bridge fee?
instructions:
- text: Show the supported bridge source chains and send amounts for checkout {token}.
slots:
token: path.token
- text: Get the Allbridge fee-inclusive amount a buyer must send for checkout {token}.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/bridge-send'].post
update:
x-apievangelist-phrasing:
intent: Build swapAndBridge calldata for MetaMask
effect: write
questions:
- How do I get the swapAndBridge calldata a MetaMask user signs to pay from an EVM chain?
- Can the shopper choose the destination chain when bridging, or is it fixed by the merchant?
instructions:
- text: Build the bridge transaction calldata for MetaMask to pay checkout {token}.
slots:
token: path.token
- text: Create the eth_sendTransaction payload that bridges USDC into checkout {token}.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/source-tx-recorded'].post
update:
x-apievangelist-phrasing:
intent: Record the source-chain bridge transaction hash
effect: write
questions:
- After MetaMask returns a hash for the bridge call, how do I tie it back to the checkout?
- What happens if I record a different source transaction hash for the same bridge attempt?
instructions:
- text: Record the MetaMask source transaction hash on the bridge attempt for checkout {token}.
slots:
token: path.token
- text: Advance checkout {token}'s bridge attempt to pending_bridge with the source tx hash.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/bridge-status/{tx_hash}'].get
update:
x-apievangelist-phrasing:
intent: Check a cross-chain bridge transfer's progress
effect: read
questions:
- Has the cross-chain USDC transfer for this checkout arrived on the destination chain yet?
- How do I poll Allbridge for completion of a bridge payment?
instructions:
- text: Check bridge status for source tx {tx_hash} on checkout {token}.
slots:
tx_hash: path.tx_hash
token: path.token
- text: Poll whether bridge transfer {tx_hash} for checkout {token} has completed on the destination.
slots:
tx_hash: path.tx_hash
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/prepare'].post
update:
x-apievangelist-phrasing:
intent: Prepare an EVM-wallet payment via LogicSig address
effect: write
questions:
- How can someone with only an EVM wallet pay an Algorand checkout?
- Which LogicSig address is derived for my EVM wallet, and is it funded enough?
instructions:
- text: Derive the Algorand LogicSig address for my EVM wallet and check funding on checkout {token}.
slots:
token: path.token
- text: Prepare the EIP-712 payment for checkout {token} from an EVM address.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/prepare-optin'].post
update:
x-apievangelist-phrasing:
intent: Prepare the USDCa opt-in for an EVM wallet
effect: write
questions:
- Does the LogicSig address need to opt in to USDCa before an EVM wallet can pay?
- Who funds the LogicSig address before the USDCa opt-in?
instructions:
- text: Fund the LogicSig address and build the USDCa opt-in message for checkout {token}.
slots:
token: path.token
- text: Get the EIP-712 opt-in message my EVM wallet signs for checkout {token}.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/optin-submit'].post
update:
x-apievangelist-phrasing:
intent: Submit the signed USDCa opt-in transaction
effect: write
questions:
- Where do I send the EVM signature for the pending USDCa opt-in?
- What do I get back once the opt-in transaction is submitted?
instructions:
- text: Submit the signed USDCa opt-in for checkout {token} with my EVM signature.
slots:
token: path.token
- text: Send the pending opt-in on checkout {token} and return the optin tx id.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/xchain/submit'].post
update:
x-apievangelist-phrasing:
intent: Submit the EVM-signed xChain payment
effect: write
questions:
- How do I finish an xChain checkout payment after signing the EIP-712 message?
- Which transaction id comes back when the EVM-signed payment is submitted?
instructions:
- text: Submit the EIP-712 signed xChain payment for checkout {token}.
slots:
token: path.token
- text: Send the pending cross-wallet payment for checkout {token} using my EVM signature.
slots:
token: path.token
method: generated
generated: '2026-10-01'
- target: $.paths['/checkout/{token}/status'].get
update:
x-apievangelist-phrasing:
intent: Check whether a checkout link has been paid
effect: read
questions:
- Has my customer paid the payment link yet?
- What statuses can a checkout link be in, active, paid, expired or cancelled?
instructions:
- text: Check the payment status of checkout {token}.
slots:
token: path.token
- text: Tell me if link {token} is paid and where it redirects.
slots:
token: path.token
method: generated
generated: '2026-10-01'