Gemini Trust Company · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for REST Fund Management API

17 actions 17 updates phrasing extends openapi/gemini-trust-fund-management-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Gemini Trust Company's API. It is a proposal applied on top of the contract, not a document Gemini Trust Company publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 17 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/balances'].post
$.paths['/v1/notionalbalances/{currency}'].post
$.paths['/v1/addresses/{network}'].post
$.paths['/v1/deposit/{network}/newAddress'].post
$.paths['/v2/transfers'].post
$.paths['/v1/custodyaccountfees'].post
$.paths['/v2/withdraw/{network}/{ticker}/feeEstimate'].post
$.paths['/v2/withdraw/{network}/{ticker}'].post
$.paths['/v1/payments/addbank'].post
$.paths['/v1/payments/addbank/cad'].post
$.paths['/v1/payments/methods'].post
$.paths['/v1/approvedAddresses/account/{network}'].post
$.paths['/v1/approvedAddresses/{network}/request'].post
$.paths['/v1/approvedAddresses/{network}/remove'].post
$.paths['/v1/account/transfer/{currency}'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for REST Fund Management API
  version: 1.0.0
extends: openapi/gemini-trust-fund-management-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: 16
- target: $.paths['/v1/balances'].post
  update:
    x-apievangelist-phrasing:
      intent: Get available balances per currency
      effect: read
      questions:
      - How much of each currency is available to trade or withdraw in my account?
      - Can I include pending balances such as in-flight deposits?
      instructions:
      - text: Show available balances for account {account}.
        slots:
          account: requestBody.account
      - text: List balances for account {account} including pending deposits.
        slots:
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/notionalbalances/{currency}'].post
  update:
    x-apievangelist-phrasing:
      intent: Get balances valued in a chosen currency
      effect: read
      questions:
      - What are my holdings worth in US dollars right now?
      - Can I see my balances converted into GBP or another currency?
      instructions:
      - text: Show my balances valued in {currency}.
        slots:
          currency: path.currency
      - text: Get notional balances in {currency} for account {account}.
        slots:
          currency: path.currency
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/addresses/{network}'].post
  update:
    x-apievangelist-phrasing:
      intent: List deposit addresses on a network
      effect: read
      questions:
      - Which deposit addresses have I already generated on Ethereum?
      - Where can I find my existing bitcoin deposit addresses?
      instructions:
      - text: List my existing deposit addresses on the {network} network.
        slots:
          network: path.network
      - text: Show {network} deposit addresses for account {account}.
        slots:
          network: path.network
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/deposit/{network}/newAddress'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a new crypto deposit address
      effect: write
      questions:
      - How do I get a fresh address to deposit crypto into my account?
      - Can I label a new deposit address or request a legacy litecoin format?
      instructions:
      - text: Generate a new deposit address on {network}.
        slots:
          network: path.network
      - text: Create a {network} deposit address labeled {label}.
        slots:
          network: path.network
          label: requestBody.label
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/transfers'].post
  update:
    x-apievangelist-phrasing:
      intent: List past deposits and withdrawals
      effect: read
      questions:
      - What deposits and withdrawals have gone through my account recently?
      - Can I filter my transfer history by currency and blockchain network?
      instructions:
      - text: List my past {currency} transfers.
        slots:
          currency: requestBody.currency
      - text: Show the last {limit_transfers} deposits and withdrawals on network {network}.
        slots:
          limit_transfers: requestBody.limit_transfers
          network: requestBody.network
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/custodyaccountfees'].post
  update:
    x-apievangelist-phrasing:
      intent: List custody fee charges
      effect: read
      questions:
      - What custody fees have been charged to my account?
      - Is there a record of each custody fee transfer and when it happened?
      instructions:
      - text: List custody fee transfers for account {account}.
        slots:
          account: requestBody.account
      - text: Show my most recent {limit_transfers} custody fee records.
        slots:
          limit_transfers: requestBody.limit_transfers
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/withdraw/{network}/{ticker}/feeEstimate'].post
  update:
    x-apievangelist-phrasing:
      intent: Estimate the network fee for a withdrawal
      effect: read
      questions:
      - How much gas will it cost to withdraw ETH to an outside address?
      - Can I preview the network fee before sending a crypto withdrawal?
      instructions:
      - text: Estimate the fee to withdraw {amount} {ticker} on {network} to {address}.
        slots:
          amount: requestBody.amount
          ticker: path.ticker
          network: path.network
          address: requestBody.address
      - text: Quote the gas fee for sending {amount} {ticker} over {network} to {address}.
        slots:
          amount: requestBody.amount
          ticker: path.ticker
          network: path.network
          address: requestBody.address
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v2/withdraw/{network}/{ticker}'].post
  update:
    x-apievangelist-phrasing:
      intent: Withdraw crypto to an external address
      effect: destructive
      questions:
      - How do I send bitcoin from my exchange account to my own wallet?
      - Can I make crypto withdrawals idempotent so a retry doesn't send twice?
      - Which networks need a memo when I withdraw?
      instructions:
      - text: Withdraw {amount} {ticker} on {network} to address {address}.
        slots:
          amount: requestBody.amount
          ticker: path.ticker
          network: path.network
          address: requestBody.address
      - text: Send {amount} {ticker} over {network} to {address} with memo {memo}.
        slots:
          amount: requestBody.amount
          ticker: path.ticker
          network: path.network
          address: requestBody.address
          memo: requestBody.memo
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/payments/addbank'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a US bank account
      effect: write
      questions:
      - Can I link a checking account using its account and routing numbers?
      - What else is needed before a newly added bank is verified?
      instructions:
      - text: Add {type} bank account {accountnumber} with routing number {routing} named {name}.
        slots:
          type: requestBody.type
          accountnumber: requestBody.accountnumber
          routing: requestBody.routing
          name: requestBody.name
      - text: Link the US bank account {accountnumber} at routing {routing} under the name {name}.
        slots:
          accountnumber: requestBody.accountnumber
          routing: requestBody.routing
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/payments/addbank/cad'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a Canadian dollar bank account
      effect: write
      questions:
      - How do I add a Canadian bank account with a SWIFT code?
      - Are institution and branch numbers required when linking a CAD bank?
      instructions:
      - text: Add CAD {type} bank account {accountNumber} with SWIFT {swiftcode} named {name}.
        slots:
          type: requestBody.type
          accountNumber: requestBody.accountNumber
          swiftcode: requestBody.swiftcode
          name: requestBody.name
      - text: Link Canadian account {accountNumber}, SWIFT {swiftcode}, institution {institutionNumber}, as {name}.
        slots:
          accountNumber: requestBody.accountNumber
          swiftcode: requestBody.swiftcode
          institutionNumber: requestBody.institutionNumber
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/payments/methods'].post
  update:
    x-apievangelist-phrasing:
      intent: List linked banks and payment methods
      effect: read
      questions:
      - Which bank accounts are linked to my exchange account?
      - Where do I find the bank ID to pay for an instant buy?
      instructions:
      - text: List my linked banks and payment methods.
      - text: Show payment methods for account {account}.
        slots:
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/approvedAddresses/account/{network}'].post
  update:
    x-apievangelist-phrasing:
      intent: View the approved withdrawal address list
      effect: read
      questions:
      - Which withdrawal addresses are on my approved list for a network?
      - Can I check whether an approved address is still in its waiting period?
      instructions:
      - text: Show my approved withdrawal addresses on {network}.
        slots:
          network: path.network
      - text: List the {network} approved-address list for account {account}.
        slots:
          network: path.network
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/approvedAddresses/{network}/request'].post
  update:
    x-apievangelist-phrasing:
      intent: Request a new approved withdrawal address
      effect: write
      questions:
      - How long until a newly requested approved address can receive withdrawals?
      - Can I add a labeled wallet to my withdrawal allowlist?
      instructions:
      - text: Add {address} on {network} to my approved addresses as {label}.
        slots:
          address: requestBody.address
          network: path.network
          label: requestBody.label
      - text: Request approval for {network} address {address} labeled {label} with memo {memo}.
        slots:
          network: path.network
          address: requestBody.address
          label: requestBody.label
          memo: requestBody.memo
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/approvedAddresses/{network}/remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove an approved withdrawal address
      effect: destructive
      questions:
      - Can I take an address off my withdrawal allowlist?
      - Is it possible to remove an address that is still in its pending period?
      instructions:
      - text: Remove {address} from my approved {network} addresses.
        slots:
          address: requestBody.address
          network: path.network
      - text: Delete approved address {address} on {network} for account {account}.
        slots:
          address: requestBody.address
          network: path.network
          account: requestBody.account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/account/transfer/{currency}'].post
  update:
    x-apievangelist-phrasing:
      intent: Move funds between accounts in a group
      effect: write
      questions:
      - How do I move USD from one account in my master group to another?
      - Does an internal transfer between exchange accounts touch the blockchain?
      instructions:
      - text: Transfer {amount} {currency} from {sourceAccount} to {targetAccount}.
        slots:
          amount: requestBody.amount
          currency: path.currency
          sourceAccount: requestBody.sourceAccount
          targetAccount: requestBody.targetAccount
      - text: Move {amount} {currency} internally to account {targetAccount} using transfer id {clientTransferId}.
        slots:
          amount: requestBody.amount
          currency: path.currency
          targetAccount: requestBody.targetAccount
          clientTransferId: requestBody.clientTransferId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/transactions'].post
  update:
    x-apievangelist-phrasing:
      intent: Get the account's full transaction history
      effect: read
      questions:
      - Can I page through my account's whole transaction history from a given point in time?
      - What do I pass to fetch the next page of transaction history?
      instructions:
      - text: Get my transaction history starting from {timestamp_nanos}.
        slots:
          timestamp_nanos: requestBody.timestamp_nanos
      - text: Fetch the next page of transactions with continuation token {continuation_token}.
        slots:
          continuation_token: requestBody.continuation_token
      method: generated
      generated: '2026-10-01'