| command | Operation to perform. Session: unlock. Wallets: list-wallets, get-wallet, create-wallet, delete-wallet, share-wallet, freeze-wallet, get-balance, list-addresses, create-address, maximum-spendable, fee-estimate. Sends and tx queries: send-transaction, get-transaction, list-transactions, get-transfer, list-transfers. TSS tx requests: get-tx-request, list-tx-requests. Policy and approval: list-policies, set-policy-rule, remove-policy-rule, list-pending-approvals, get-pending-approval, approve-pending, reject-pending, wait-for-approval. Webhooks: add-webhook, create-webhook, list-webhooks, remove-webhook, delete-webhook.
| yes | — |
| access-token | BitGo access token (sent as Bearer auth) | yes | — |
| enterprise-id | BitGo enterprise ID (required for create/list operations scoped to an enterprise) | no | — |
| api-url | BitGo API base URL. Default is production; override to https://app.bitgo-test.com/api/v2 for the test environment. | no | https://app.bitgo.com/api/v2 |
| otp | One-time password for /user/unlock and approve-pending. Required by BitGo for sensitive operations. Test environment accepts the magic OTP "000000"; production needs a real TOTP from the user authenticator. | no | — |
| duration | Unlock session duration in seconds (default 600). | no | 600 |
| coin | Coin ticker (btc, eth, sol, hteth, etc.). BitGo supports the full coin catalog; this value is passed through to the API. | no | — |
| wallet-id | Wallet ID | no | — |
| address | Destination address for send-transaction (single-recipient shortcut) | no | — |
| amount | Amount in base units (satoshis for BTC, wei for ETH, lamports for SOL, etc.) for single-recipient sends | no | — |
| recipients | JSON array of recipients for batch sends: [{"address": "0x...", "amount": "1000"}, {"address": "0x...", "amount": "2000"}]. When provided, takes precedence over address/amount. Works on both TSS and multi-sig wallets, and on both native and token coins (e.g. coin: hteth:tusdc for tokens). | no | — |
| comment | Optional comment to attach to a send. The action embeds the correlation-id automatically. | no | — |
| sequence-id | Optional client sequence ID for idempotent sends. | no | — |
| tx-id | Transaction ID for get-transaction | no | — |
| transfer-id | Transfer ID for get-transfer | no | — |
| tx-request-id | TSS transaction request ID for get-tx-request | no | — |
| fee-rate | Fee rate hint for maximum-spendable | no | — |
| label | Optional label for create-address | no | — |
| chain | Optional address chain index for create-address (UTXO coins) | no | — |
| policy-rule-id | Policy rule ID for remove-policy-rule | no | — |
| pending-approval-id | Pending approval ID for get-pending-approval / approve-pending / reject-pending / wait-for-approval | no | — |
| timeout | Polling timeout in seconds for wait-for-approval (default 300, max 3600) | no | 300 |
| register-webhook-on-pending | If set to "true" and send-transaction returns a pending approval, automatically register a webhook against the supplied webhook-url so the resolution can fire a follow-up workflow. | no | false |
| webhook-url | Webhook callback URL for add-webhook / register-webhook-on-pending | no | — |
| webhook-id | Webhook ID for remove-webhook | no | — |
| webhook-type | Webhook event type (transfer, pendingApproval, address_confirmation). Default: pendingApproval | no | pendingApproval |
| share-with-user | BitGo user ID to share a wallet with (share-wallet) | no | — |
| share-permissions | Comma-separated permissions for share-wallet (view, spend, admin) | no | — |
| limit | Result limit for list operations | no | — |
| prev-id | Pagination cursor for list operations | no | — |
| body | JSON body for commands that need rich input (policy rules, create-wallet config). Parsed and forwarded. | no | — |
| correlation-id | Optional correlation ID embedded in the BitGo comment field so a future webhook can match the approval back to the workflow that initiated it. If omitted, the action generates one. | no | — |