Bridge Bridge Wallets API
The Bridge Wallets API from Bridge — 6 operation(s) for bridge wallets.
The Bridge Wallets API from Bridge — 6 operation(s) for bridge wallets.
openapi: 3.0.2
info:
title: Bridge API Keys Bridge Wallets API
description: APIs to move into, out of, and between any form of a dollar
version: '1'
servers:
- url: https://api.bridge.xyz/v0
description: The base path for all resources
security:
- ApiKey: []
tags:
- name: Bridge Wallets
paths:
/wallets:
get:
summary: Get all Bridge Wallets
description: List of Bridge Wallets
tags:
- Bridge Wallets
parameters:
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/BridgeWalletStartingAfterParameter'
- $ref: '#/components/parameters/BridgeWalletEndingBeforeParameter'
responses:
'200':
description: List of Bridge Wallets
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeWalletsList'
examples:
SuccessfulBridgeWalletListResponse:
$ref: '#/components/examples/SuccessfulBridgeWalletListResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/wallets/total_balances:
get:
summary: Get total balances of all Bridge Wallets
tags:
- Bridge Wallets
description: Get the total balances of all Bridge Wallets
responses:
'200':
description: Total balances of all Bridge Wallets
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BridgeWalletTotalBalance'
examples:
TotalBalancesFound:
$ref: '#/components/examples/SuccessfulTotalBalancesResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/wallets/{bridgeWalletID}:
get:
summary: Get a Bridge Wallet
description: Retrieve a Bridge Wallet by its ID
tags:
- Bridge Wallets
parameters:
- $ref: '#/components/parameters/BridgeWalletIDParameter'
responses:
'200':
description: A Bridge Wallet object response
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeWalletWithBalances'
examples:
SuccessfulBridgeWalletGetResponse:
$ref: '#/components/examples/SuccessfulBridgeWalletGetResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/wallets/{bridgeWalletID}/history:
parameters:
- $ref: '#/components/parameters/BridgeWalletIDParameter'
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/BridgeWalletHistoryStartingAfterParameter'
- $ref: '#/components/parameters/BridgeWalletHistoryEndingBeforeParameter'
- $ref: '#/components/parameters/BridgeWalletHistoryStartingTimeParameter'
- $ref: '#/components/parameters/BridgeWalletHistoryEndingTimeParameter'
get:
summary: Get transaction history for a Bridge Wallet
tags:
- Bridge Wallets
description: Get the list of transactions involving this Bridge Wallet
responses:
'200':
$ref: '#/components/responses/BridgeWalletHistoryResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/customers/{customerID}/wallets:
get:
summary: Get all Bridge Wallets for a customer
description: List of Bridge Wallets for the specified Customer ID
tags:
- Bridge Wallets
parameters:
- $ref: '#/components/parameters/CustomerIDParameter'
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/BridgeWalletStartingAfterParameter'
- $ref: '#/components/parameters/BridgeWalletEndingBeforeParameter'
responses:
'200':
description: List of Bridge Wallets
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeWalletsList'
examples:
SuccessfulBridgeWalletListResponse:
$ref: '#/components/examples/SuccessfulBridgeWalletListResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create a Bridge Wallet
tags:
- Bridge Wallets
parameters:
- $ref: '#/components/parameters/CustomerIDParameter'
- $ref: '#/components/parameters/IdempotencyKeyParameter'
requestBody:
description: Bridge Wallet to be created
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBridgeWallet'
responses:
'201':
description: Bridge Wallet created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBridgeWalletResponse'
examples:
SuccessfulLiquidationAddressCreateResponse:
$ref: '#/components/examples/SuccessfulBridgeWalletCreateResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/customers/{customerID}/wallets/{bridgeWalletID}:
get:
summary: Get a Bridge Wallet
description: Retrieve a Bridge Wallet for the specified Bridge Wallet ID
tags:
- Bridge Wallets
parameters:
- $ref: '#/components/parameters/CustomerIDParameter'
- $ref: '#/components/parameters/BridgeWalletIDParameter'
responses:
'200':
description: A Bridge Wallet object response
content:
application/json:
schema:
$ref: '#/components/schemas/BridgeWalletWithBalances'
examples:
SuccessfulLiquidationAddressGetResponse:
$ref: '#/components/examples/SuccessfulBridgeWalletGetResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
components:
schemas:
CreateBridgeWallet:
required:
- chain
properties:
chain:
$ref: '#/components/schemas/BridgeWalletChain'
BridgeWalletTotalBalance:
description: The total balance across all Bridge wallets for a given currency
type: object
required:
- balance
- currency
- chain
properties:
balance:
type: string
description: The total balance of wallets in the given currency ex. "10.95"
readOnly: true
currency:
description: The currency of the total balance
$ref: '#/components/schemas/Currency'
readOnly: true
chain:
description: The chain of the total balance
$ref: '#/components/schemas/BridgeWalletChain'
readOnly: true
contract_address:
description: The contract address of the currency, or null if it is a native currency
type: string
readOnly: true
BridgeWalletEventResponse:
description: Shared fields present on every bridge wallet history event.
type: object
required:
- id
- bridge_wallet_id
- amount
- available_balance
- currency
- source
- destination
- type
- created_at
properties:
id:
$ref: '#/components/schemas/Id'
bridge_wallet_id:
$ref: '#/components/schemas/Id'
amount:
description: Amount of the transaction, represented as a decimal string. Examples include "100.250000", "0.100000", "1.234567" etc.
type: string
available_balance:
description: Available balance of the wallet after this event, represented as a decimal string.
type: string
currency:
$ref: '#/components/schemas/Currency'
type:
description: The type of wallet event.
type: string
enum:
- deposit
- direct_deposit
- withdrawal
- return
- undeliverable
- card_spend
- card_refund
source:
description: The source of the transfer, which could be an external bank account, a bridge account, or a crypto wallet address.
type: object
properties:
currency:
$ref: '#/components/schemas/Currency'
payment_rail:
type: string
from_address:
type: string
nullable: true
destination:
description: The destination of the transfer, which could be an external bank account, a bridge account, or a crypto wallet address.
type: object
properties:
currency:
$ref: '#/components/schemas/Currency'
payment_rail:
type: string
tx_hash:
type: string
nullable: true
from_address:
type: string
nullable: true
payment_route:
description: Details about the Bridge payment route that initiated this event, such as a transfer, liquidation address drain, virtual account deposit, or card spend. Not present on direct deposits.
type: object
nullable: true
properties:
type:
description: The type of payment route.
type: string
enum:
- transfer
- liquidation_address
- virtual_account
- card_spend
customer_id:
$ref: '#/components/schemas/Id'
transfer_id:
type: string
nullable: true
card_crypto_transaction_id:
description: The ID of the card crypto transaction that initiated this event. Present on card_spend and card_refund events when the event is linked to a specific on-chain card transaction.
type: string
nullable: true
issuing_authorization_id:
description: The Stripe Issuing authorization ID associated with this card event.
type: string
nullable: true
issuing_transaction_id:
description: The Stripe Issuing transaction ID associated with this card event.
type: string
nullable: true
created_at:
type: string
format: date-time
BridgeWalletWithBalances:
required:
- chain
allOf:
- $ref: '#/components/schemas/CreateBridgeWallet'
- properties:
id:
$ref: '#/components/schemas/Id'
readOnly: true
chain:
description: The chain of the Bridge Wallet
$ref: '#/components/schemas/BridgeWalletChain'
readOnly: true
address:
description: The blockchain address of the Bridge Wallet
type: string
readOnly: true
initiation_required:
readOnly: true
type: boolean
description: When present, transfers sourced from this wallet must include an `initiation` object on the create request. Omitted for wallets that do not require initiation data.
created_at:
readOnly: true
type: string
description: Time of creation of the Bridge Wallet
format: date-time
updated_at:
readOnly: true
type: string
description: Time of most recent update of the Bridge Wallet
format: date-time
balances:
type: array
items:
$ref: '#/components/schemas/BridgeWalletBalance'
readOnly: true
CreateBridgeWalletResponse:
required:
- chain
allOf:
- $ref: '#/components/schemas/CreateBridgeWallet'
- properties:
id:
$ref: '#/components/schemas/Id'
readOnly: true
address:
description: The blockchain address of the Bridge Wallet
type: string
readOnly: true
initiation_required:
readOnly: true
type: boolean
description: When present, transfers sourced from this wallet must include an `initiation` object on the create request. Omitted for wallets that do not require initiation data.
created_at:
readOnly: true
type: string
description: Time of creation of the Bridge Wallet
format: date-time
updated_at:
readOnly: true
type: string
description: Time of most recent update of the Bridge Wallet
format: date-time
BridgeWallet:
required:
- chain
allOf:
- $ref: '#/components/schemas/CreateBridgeWallet'
- properties:
id:
$ref: '#/components/schemas/Id'
readOnly: true
chain:
description: The chain of the Bridge Wallet
$ref: '#/components/schemas/BridgeWalletChain'
readOnly: true
address:
description: The blockchain address of the Bridge Wallet
type: string
readOnly: true
initiation_required:
readOnly: true
type: boolean
description: When present, transfers sourced from this wallet must include an `initiation` object on the create request. Omitted for wallets that do not require initiation data.
created_at:
readOnly: true
type: string
description: Time of creation of the Bridge Wallet
format: date-time
updated_at:
readOnly: true
type: string
description: Time of most recent update of the Bridge Wallet
format: date-time
Currency:
type: string
enum:
- usdb
- usdc
- usdt
- usd
- pyusd
Error:
required:
- code
- message
properties:
code:
type: string
minLength: 1
maxLength: 256
message:
type: string
minLength: 1
maxLength: 512
source:
title: ErrorSource
required:
- location
- key
properties:
location:
type: string
enum:
- path
- query
- body
- header
key:
type: string
description: Comma separated names of the properties or parameters causing the error
Id:
description: A UUID that uniquely identifies a resource
type: string
pattern: '[a-z0-9]*'
minLength: 1
maxLength: 42
BridgeWalletChain:
type: string
enum:
- base
- ethereum
- solana
- tempo
- tron
BridgeWalletsList:
type: object
required:
- count
- data
properties:
count:
description: total number of items in data
type: integer
data:
type: array
minItems: 0
items:
$ref: '#/components/schemas/BridgeWallet'
BridgeWalletBalance:
description: The balance of a Bridge Wallet for a given currency
type: object
required:
- balance
- currency
- chain
properties:
balance:
type: string
description: The balance in the given currency. ex. "10.95"
readOnly: true
currency:
description: The currency of the balance
$ref: '#/components/schemas/Currency'
readOnly: true
chain:
description: The chain of the balance
$ref: '#/components/schemas/BridgeWalletChain'
readOnly: true
contract_address:
description: The contract address of the currency, or null if it is a native currency
type: string
readOnly: true
examples:
ReturnBridgeWalletEvent:
summary: An outgoing transfer from a bridge wallet that was rejected for AML reasons was returned
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '150.000000'
available_balance: '1150.000000'
currency: usdc
type: return
source:
currency: usd
payment_rail: ach
destination:
currency: usdc
payment_rail: ethereum
payment_route:
type: transfer
customer_id: cust_123
transfer_id: transfer_123
created_at: '2025-01-01T00:00:00.000Z'
DepositTransferBridgeWalletEvent:
summary: A deposit to a bridge wallet via a transfer payment
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '300.000000'
available_balance: '1300.000000'
currency: usdc
type: deposit
source:
currency: usd
payment_rail: ach
destination:
currency: usdc
payment_rail: ethereum
tx_hash: '0xdeadbeef'
payment_route:
type: transfer
customer_id: cust_123
transfer_id: transfer_123
created_at: '2025-01-01T00:00:00.000Z'
SuccessfulTotalBalancesResponse:
summary: A successful get request for total balances
value:
- balance: '100.25'
currency: usdb
chain: solana
contract_address: ENL66PGy8d8j5KNqLtCcg4uidDUac5ibt45wbjH9REzB
WithdrawalBridgeWalletEvent:
summary: An outgoing transfer from a bridge wallet initiated by a transfer
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '500.000000'
available_balance: '500.000000'
currency: usdc
type: withdrawal
source:
currency: usdc
payment_rail: ethereum
destination:
currency: usd
payment_rail: ach
payment_route:
type: transfer
customer_id: cust_123
transfer_id: transfer_123
created_at: '2025-01-01T00:00:00.000Z'
CardSpendBridgeWalletEvent:
summary: A card spend debiting the bridge wallet to fund a card authorization
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '25.500000'
available_balance: '974.500000'
currency: usdc
type: card_spend
source:
currency: usdc
from_address: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
payment_rail: base
destination:
currency: usdc
payment_rail: card_spend_internal_funding
payment_route:
type: card_spend
customer_id: cust_123
card_crypto_transaction_id: cct_123
issuing_authorization_id: iauth_123
issuing_transaction_id: ipi_456
created_at: '2025-01-01T00:00:00.000Z'
UndeliverableBridgeWalletEvent:
summary: An outgoing transfer from a bridge wallet that could not be delivered was returned
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '80.000000'
available_balance: '1080.000000'
currency: usdc
type: undeliverable
source:
currency: usd
payment_rail: ach
destination:
currency: usdc
payment_rail: ethereum
payment_route:
type: transfer
customer_id: cust_123
transfer_id: transfer_123
created_at: '2025-01-01T00:00:00.000Z'
DepositStaticMemoEventBridgeWalletEvent:
summary: A deposit to a bridge wallet via a static memo fiat payment
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '200.000000'
available_balance: '1200.000000'
currency: usdc
type: deposit
source:
currency: usd
payment_rail: wire
destination:
currency: usdc
payment_rail: ethereum
tx_hash: '0xdeadbeef'
payment_route:
type: static_memo_event
customer_id: cust_123
deposit_id: dep_123
static_memo_event_id: sme_123
static_memo_id: sm_123
created_at: '2025-01-01T00:00:00.000Z'
DirectDepositBridgeWalletEvent:
summary: A deposit to a bridge wallet directly on the blockchain
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '25.000000'
available_balance: '1025.000000'
currency: usdc
type: direct_deposit
source:
currency: usdc
payment_rail: ethereum
from_address: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
destination:
currency: usdc
payment_rail: ethereum
tx_hash: '0xdeadbeef'
created_at: '2025-01-01T00:00:00.000Z'
DepositDrainBridgeWalletEvent:
summary: A deposit to a bridge wallet via a liquidation address drain
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '50.000000'
available_balance: '1050.000000'
currency: usdc
type: deposit
source:
currency: usd
payment_rail: ach
destination:
currency: usdc
payment_rail: ethereum
tx_hash: '0xdeadbeef'
payment_route:
type: drain
customer_id: cust_123
drain_id: drain_123
liquidation_address_id: la_123
created_at: '2025-01-01T00:00:00.000Z'
SuccessfulBridgeWalletListResponse:
summary: A successful get response for a list of Bridge Wallets
value:
count: 1
data:
- id: bw_123
chain: solana
address: 9kV3ZMehKVyxfHKCcaDLye3P9HHw2MP4jtQa2gKBUmCs
created_at: '2023-11-22T21:31:30.515Z'
updated_at: '2023-11-22T21:31:30.515Z'
CardRefundBridgeWalletEvent:
summary: A card refund crediting the bridge wallet after a confirmed card spend is returned
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '10.450000'
available_balance: '1010.450000'
currency: usdc
type: card_refund
source:
currency: usdc
from_address: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
payment_rail: base
destination:
currency: usdc
payment_rail: card_spend_internal_funding
payment_route:
type: card_spend
customer_id: cust_123
issuing_authorization_id: iauth_789
issuing_transaction_id: ipi_012
created_at: '2025-01-01T00:00:00.000Z'
DepositVirtualAccountEventBridgeWalletEvent:
summary: A deposit to a bridge wallet via a virtual account payment
value:
count: 1
data:
- id: bwe_123
bridge_wallet_id: bw_123
amount: '75.000000'
available_balance: '1075.000000'
currency: usdc
type: deposit
source:
currency: usd
payment_rail: ach
destination:
currency: usdc
payment_rail: ethereum
tx_hash: '0xdeadbeef'
payment_route:
type: virtual_account_event
customer_id: cust_123
deposit_id: dep_123
virtual_account_event_id: vae_123
virtual_account_id: va_123
created_at: '2025-01-01T00:00:00.000Z'
SuccessfulBridgeWalletGetResponse:
summary: A successful get response for a Bridge Wallet
value:
id: bw_123
chain: solana
address: 9kV3ZMehKVyxfHKCcaDLye3P9HHw2MP4jtQa2gKBUmCs
created_at: '2023-11-22T21:31:30.515Z'
updated_at: '2023-11-22T21:31:30.515Z'
balances:
- balance: '100.25'
currency: usdb
chain: solana
contract_address: ENL66PGy8d8j5KNqLtCcg4uidDUac5ibt45wbjH9REzB
SuccessfulBridgeWalletCreateResponse:
summary: A successful Bridge Wallet creation response
value:
id: bw_123
chain: solana
address: 9kV3ZMehKVyxfHKCcaDLye3P9HHw2MP4jtQa2gKBUmCs
created_at: '2023-11-22T21:31:30.515Z'
updated_at: '2023-11-22T21:31:30.515Z'
parameters:
IdempotencyKeyParameter:
in: header
name: Idempotency-Key
required: true
schema:
type: string
BridgeWalletEndingBeforeParameter:
in: query
name: ending_before
schema:
type: string
description: This is a bridge wallet id. If this is specified, the previous page that ends with a bridge wallet right BEFORE the specified bridge wallet id on the bridge wallet timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that bridge wallets newer than the specified bridge wallet id will be returned (shouldn't be set if starting_after is set)
LimitParameter:
in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 100
default: 10
description: The number of items to return (min 1, default 10, max 100)
BridgeWalletStartingAfterParameter:
in: query
name: starting_after
schema:
type: string
description: This is a bridge wallet id. If this is specified, the next page that starts with a bridge wallet right AFTER the specified bridge wallet id on the bridge wallet timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that bridge wallets older than the specified bridge wallet id will be returned (shouldn't be set if ending_before is set)
BridgeWalletHistoryEndingTimeParameter:
in: query
name: ending_time
required: false
schema:
type: string
description: The exclusive ending time in ISO8601 format. If specified, only Bridge Wallet history events created before this time are returned. Can be combined with starting_time to form a bounded time window or with an event ID cursor to paginate within the filtered results.
BridgeWalletHistoryStartingTimeParameter:
in: query
name: starting_time
required: false
schema:
type: string
description: The inclusive starting time in ISO8601 format. If specified, only Bridge Wallet history events created at or after this time are returned. Can be combined with ending_time to form a bounded time window or with an event ID cursor to paginate within the filtered results.
BridgeWalletHistoryEndingBeforeParameter:
in: query
name: ending_before
schema:
type: string
description: This is a bridge wallet event id. If this is specified, the previous page that ends with an event right BEFORE the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events newer than the specified event id will be returned (shouldn't be set if starting_after is set)
BridgeWalletIDParameter:
name: bridgeWalletID
in: path
required: true
schema:
$ref: '#/components/schemas/Id'
BridgeWalletHistoryStartingAfterParameter:
in: query
name: starting_after
schema:
type: string
description: This is a bridge wallet event id. If this is specified, the next page that starts with an event right AFTER the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events older than the specified event id will be returned (shouldn't be set if ending_before is set)
CustomerIDParameter:
name: customerID
in: path
required: true
schema:
$ref: '#/components/schemas/Id'
responses:
NotFoundError:
description: No resource found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
NotFoundErrorExample:
summary: Invalid customer id
value:
code: Invalid
message: Unknown customer id
UnexpectedError:
description: Unexpected error. User may try and send the request again.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
UnexpectedError:
summary: An unexpected error
value:
errors:
- code: unexpected
message: An expected error occurred, you may try again later
AuthenticationError:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
MissingTokenError:
summary: No Api-Key header
description: The header may be missing or misspelled.
value:
code: required
location: header
name: Api-Key
message: Missing Api-Key header
InvalidTokenError:
summary: Invalid key in Api-Key header
value:
code: invalid
location: header
name: Api-Key
message: Invalid Api-Key header
BadRequestError:
description: Request containing missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
BadCustomerRequestErrorExample:
summary: Bad customer request
value:
code: bad_customer_request
message: fields missing from customer body.
name: first_name,ssn
BridgeWalletHistoryResponse:
description: List of transactions for this Bridge Wallet
content:
application/json:
schema:
title: Bridge Wallet History
type: object
required:
- count
- data
properties:
count:
type: integer
description: The number of events returned
data:
type: array
minItems: 0
items:
$ref: '#/components/schemas/BridgeWalletEventResponse'
examples:
WithdrawalBridgeWalletEvent:
$ref: '#/components/examp
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bridge/refs/heads/main/openapi/bridge-bridge-wallets-api-openapi.yml