Skip to main content
POST
/
transfer
/
fiat-accounts
Create Fiat Account
curl --request POST \
  --url https://api.paxos.com/v2/transfer/fiat-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "identity_id": "54385e67-d7ef-40d1-b488-ceda6dd9b264",
  "fiat_network_instructions": {
    "wire": {
      "account_number": "12345678",
      "routing_details": {
        "routing_number": "031302971",
        "bank_name": "Customers Bank",
        "bank_address": {
          "country": "USA"
        }
      },
      "fiat_account_owner_address": {
        "address1": "456 Main Street",
        "city": "NY",
        "country": "USA"
      }
    }
  },
  "fiat_account_owner": {
    "person_details": {
      "first_name": "Jane",
      "last_name": "Doe"
    }
  }
}
'
import requests

url = "https://api.paxos.com/v2/transfer/fiat-accounts"

payload = {
"identity_id": "54385e67-d7ef-40d1-b488-ceda6dd9b264",
"fiat_network_instructions": { "wire": {
"account_number": "12345678",
"routing_details": {
"routing_number": "031302971",
"bank_name": "Customers Bank",
"bank_address": { "country": "USA" }
},
"fiat_account_owner_address": {
"address1": "456 Main Street",
"city": "NY",
"country": "USA"
}
} },
"fiat_account_owner": { "person_details": {
"first_name": "Jane",
"last_name": "Doe"
} }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identity_id: '54385e67-d7ef-40d1-b488-ceda6dd9b264',
fiat_network_instructions: {
wire: {
account_number: '12345678',
routing_details: {
routing_number: '031302971',
bank_name: 'Customers Bank',
bank_address: {country: 'USA'}
},
fiat_account_owner_address: {address1: '456 Main Street', city: 'NY', country: 'USA'}
}
},
fiat_account_owner: {person_details: {first_name: 'Jane', last_name: 'Doe'}}
})
};

fetch('https://api.paxos.com/v2/transfer/fiat-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.paxos.com/v2/transfer/fiat-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identity_id' => '54385e67-d7ef-40d1-b488-ceda6dd9b264',
'fiat_network_instructions' => [
'wire' => [
'account_number' => '12345678',
'routing_details' => [
'routing_number' => '031302971',
'bank_name' => 'Customers Bank',
'bank_address' => [
'country' => 'USA'
]
],
'fiat_account_owner_address' => [
'address1' => '456 Main Street',
'city' => 'NY',
'country' => 'USA'
]
]
],
'fiat_account_owner' => [
'person_details' => [
'first_name' => 'Jane',
'last_name' => 'Doe'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.paxos.com/v2/transfer/fiat-accounts"

payload := strings.NewReader("{\n \"identity_id\": \"54385e67-d7ef-40d1-b488-ceda6dd9b264\",\n \"fiat_network_instructions\": {\n \"wire\": {\n \"account_number\": \"12345678\",\n \"routing_details\": {\n \"routing_number\": \"031302971\",\n \"bank_name\": \"Customers Bank\",\n \"bank_address\": {\n \"country\": \"USA\"\n }\n },\n \"fiat_account_owner_address\": {\n \"address1\": \"456 Main Street\",\n \"city\": \"NY\",\n \"country\": \"USA\"\n }\n }\n },\n \"fiat_account_owner\": {\n \"person_details\": {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\"\n }\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.paxos.com/v2/transfer/fiat-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"identity_id\": \"54385e67-d7ef-40d1-b488-ceda6dd9b264\",\n \"fiat_network_instructions\": {\n \"wire\": {\n \"account_number\": \"12345678\",\n \"routing_details\": {\n \"routing_number\": \"031302971\",\n \"bank_name\": \"Customers Bank\",\n \"bank_address\": {\n \"country\": \"USA\"\n }\n },\n \"fiat_account_owner_address\": {\n \"address1\": \"456 Main Street\",\n \"city\": \"NY\",\n \"country\": \"USA\"\n }\n }\n },\n \"fiat_account_owner\": {\n \"person_details\": {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\"\n }\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.paxos.com/v2/transfer/fiat-accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity_id\": \"54385e67-d7ef-40d1-b488-ceda6dd9b264\",\n \"fiat_network_instructions\": {\n \"wire\": {\n \"account_number\": \"12345678\",\n \"routing_details\": {\n \"routing_number\": \"031302971\",\n \"bank_name\": \"Customers Bank\",\n \"bank_address\": {\n \"country\": \"USA\"\n }\n },\n \"fiat_account_owner_address\": {\n \"address1\": \"456 Main Street\",\n \"city\": \"NY\",\n \"country\": \"USA\"\n }\n }\n },\n \"fiat_account_owner\": {\n \"person_details\": {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\"\n }\n }\n}"

response = http.request(request)
puts response.read_body
{
  "id": "dde1b3c5-d02a-48f6-8d11-16b4f532ea49",
  "ref_id": "test_ref_id_1",
  "identity_id": "c6ea91da-8f33-4545-9bdf-3cf29b4041d7",
  "account_id": "91f91384-30d4-46c2-9118-7f3cec676a2c",
  "fiat_account_owner": {
    "person_details": {
      "first_name": "Jane",
      "last_name": "Doe"
    },
    "fiat_network_instructions": {
      "wire": {
        "account_number": "12345678",
        "fiat_account_owner_address": {
          "country": "USA",
          "address1": "456 Main Street, NY",
          "city": "New York",
          "province": "NY",
          "address2": "",
          "zip_code": "10101"
        },
        "routing_details": {
          "routing_number_type": "ABA",
          "routing_number": "123456789",
          "bank_name": "Customers Bank",
          "bank_address": {
            "country": "USA",
            "address1": "123 Bank Street",
            "city": "New York",
            "province": "NY",
            "address2": "",
            "zip_code": "10101"
          }
        }
      },
      "status": "PENDING",
      "metadata": {
        "test_ref_id": "47aa7538-e2d2-47b3-8600-44a7965dd357",
        "transaction_attempt": 1
      }
    }
  },
  "created_at": "2023-09-24T14:15:22Z"
}
{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "account_number must be set"
}
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "identity_id forbidden for first-party customers"
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "no fiat account found for id: '2d929a0d-e1e3-4781-b7f8-7b34e66f7832'"
}
OAuth Scope
transfer:write_fiat_account

Authorizations

Authorization
string
header
required

Paxos APIs use OAuth 2 with the client credentials grant flow.

Token URLs:

Learn more in the API credentials guide →

Body

application/json
fiat_account_owner
object
required
fiat_network_instructions
object
required
ref_id
string

The optional client-specified ID (for idempotence).

identity_id
string

The Paxos Identity (identity_id) of the user's FiatAccount. Required only for customers with 3rd-Party integrations initiating transfers on behalf of their end users.

account_id
string

The Paxos Account (account_id) of the user's FiatAccount. Required only for customers with 3rd-Party integrations initiating transfers on behalf of their end users.

metadata
object

Optional client-specified metadata. Up to 6 key/value pairs may be provided. Each key and value must be less than or equal to 100 characters.

Response

A successful response.

id
string
required

The Paxos FiatAccount ID (UUID).

fiat_network_instructions
object
required
status
enum<string>
required
Available options:
PENDING,
APPROVED,
REJECTED
created_at
string<date-time>
required

The time at which this FiatAccount was created.

ref_id
string

The optional client-specified ID (for idempotence).

identity_id
string

The Paxos Identity (identity_id) of the user's FiatAccount.

account_id
string

The Paxos Account (account_id) of the user's FiatAccount. Required only for customers with 3rd-Party integrations initiating transfers on behalf of their end users.

fiat_account_owner
object
metadata
object

Optional client-specified metadata. Up to 6 key/value pairs may be returned. Each key and value must be less than or equal to 100 characters.

updated_at
string<date-time>

The time at which this FiatAccount record was most recently updated.