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.
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
# 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'