Quick Start

Start Building with Bridge APIs

Step 1: Create a Bridge Account

Get started with Bridge by heading over to dashboard.bridge.xyz. Create your free developer account. Note that the Bridge dashboard offers a passwordless sign-in setup – we will authenticate you via email.

Step 2: Create your API keys

Once logged in, click on the "API Keys" tab on the top menu bar and generate a new API key.

Note that Bridge will make your API key available only once. Hence make sure to immediately copy and save the key in a safe and secure location.

Your key is used to authenticate into our APIs and is hence highly sensitive. Please make sure to keep the keys in a secure environment. In the event of a compromise, you can immediately revoke key access from our dashboard and generate a new key.

Bridge API Keys

Step 3: Onboard your first customer

You're now ready to query our APIs.

As the first step, you can create a Customer object that represents a user in your system. Update the <API Key> parameter below with your own API key and perform the following requests:

3a: Request a terms of service link for your customer

Customers need to agree to Bridge's terms of services before we can process KYC / B information.

curl --location --request POST 'https://api.bridge.xyz/v0/customers/tos_links' \
--header 'Idempotency-Key: <A unique idempotency key>' \
--header 'Api-Key: <API Key>'

This endpoint will return a response like the following:

{
  "url": "https://dashboard.bridge.xyz/accept-terms-of-service?session_token=4d5d8c45-9feb-422a-bb5e-0fd32e3b3c53"
}

Use this url to guide the customer towards terms of service acceptance. You can embed this URL in an iFrame or display in a new browser window. You can pass a redirect_uri query parameter that will redirect the TOS page back to your application with a signed_agreement_id as a query parameter.

Save this signed_agreement_id and pass it along to the customer creation endpoint as follows:

3b: Create a customer

curl --location --request POST 'https://api.bridge.xyz/v0/customers' \
--header 'Content-Type: application/json' \
--header 'Api-Key: <API Key>' \
--header 'Idempotency-Key: <generate a uuid>' \
--data-raw '{
  "type": "individual",
  "first_name": "John",
  "last_name": "Doe",
  "email": "[email protected]",
  "phone": "+12223334444",
  "address": {
    "street_line_1": "1234 Lombard Street",
    "street_line_2": "Apt 2F",
    "city": "San Francisco",
    "state": "CA",
    "postal_code": "94109",
    "country": "USA"
  },
  "signed_agreement_id": <signed_agreement_id from above>
  "birth_date": "1989-09-09",
  "tax_identification_number": "111-11-1111"
}'

Upon customer creation, Bridge will handle all KYC for the customer and return a status field that denotes the KYC status for the user (example KYC statuses include not_started, active, or rejected).

Step 4: Register your customer's bank account

Follow the steps on the guide here: registering customer's bank account with Plaid. You can also manually register a bank account (please reach out if you would like to use these APIs).

Step 5: Move your first dollar

Once you have a customer with an active KYC status and a registered bank account, you can use Bridge's Transfers or Liquidation Address APIs to initiate money movement from crypto to fiat, crypto to crypto, or fiat to crypto. Here's one example that off-ramps USDC into a fiat bank account via wire.

curl --location --request POST 'https://api.bridge.xyz/v0/transfers' \
--header 'Content-Type: application/json' \
--header 'Api-Key: <API Key>' \
--header 'Idempotency-Key: <generate a idempotency-key>' \
--data-raw '{
  "amount": "100.00",
  "on_behalf_of": "customer_123",
  "source": {
    "payment_rail": "polygon",
    "currency": "usdc",
    "from_address": "0xdeadbeef",
  },
  "destination": {
    "payment_rail": "wire",
    "currency": "usd",
    "external_account_id": "external_account_123",
  }
}'

Congratulations! You've converted and moved your first dollar from stablecoin to fiat. You can now reference subsequent guides to gain a deeper understanding of the various concepts we support.