Quickstart
Uma remessa Brasil → EUA no sandbox, em cinco chamadas.
A Maria, cliente do parceiro em São Paulo, envia R$ 10.000,00 para o irmão, Carlos, que tem conta no Chase Bank, em Miami.
Defina a URL do sandbox e a chave de demonstração:
export OXUS_API=https://developers.oxuspay.io/api/sandbox
export OXUS_API_KEY=oxk_sandbox_parceirodemo2026Cadastre o cliente
Só dados cadastrais. Nenhum documento.
curl -X POST $OXUS_API/v1/customers \
-H "Authorization: Bearer $OXUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalId": "cliente-000184233",
"type": "INDIVIDUAL",
"name": "Maria Oliveira",
"email": "maria.oliveira@exemplo.com.br",
"taxId": { "type": "CPF", "value": "12345678909" },
"dateOfBirth": "1988-04-17",
"nationality": "BRA",
"address": {
"street": "Av. Paulista", "number": "1000", "city": "São Paulo",
"state": "SP", "postalCode": "01310-100", "country": "BRA"
}
}'A resposta traz o id (cus_…) e o status PENDING_KYC_ATTESTATION.
Envie a atestação KYC
O parceiro declara que fez o KYC e envia o dossiê cifrado. Veja como gerar esse payload em Cofre e auditoria.
curl -X POST $OXUS_API/v1/customers/cus_8f2a91c04d7e/kyc-attestations \
-H "Authorization: Bearer $OXUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"level": "STANDARD",
"verifiedAt": "2026-09-30T18:44:00Z",
"riskRating": "LOW",
"politicallyExposedPerson": false,
"sanctionsScreening": { "status": "CLEAR", "screenedAt": "2026-10-07T14:01:58Z", "lists": ["OFAC", "UN", "COAF"] },
"dossier": {
"algorithm": "AES-256-GCM",
"ciphertext": "q8Vt0m2wq3rA9W1fZ0p8xQ==",
"iv": "b3JhbmRvbW5vbmNl",
"authTag": "dGFnMTIz",
"sha256": "9b74c9897bac770ffc029102a200c5de6e2c1c3e1e0c7a3a1f3b2e4d5c6a7b8f",
"dataKeyReference": "kms://parceiro/kyc-dek/cliente-000184233/v1"
},
"signature": {
"algorithm": "Ed25519",
"keyId": "parceiro-kyc-2026",
"value": "9U+0D72+hSuLRjmUov/isB9wDPns9I/CrIz9o/JAe6kSYkVFVzELrGPK/E4xrt8KbshyC6yRp6znS6wW06/DQw=="
}
}'O cliente passa a ACTIVE.
Cadastre a conta de destino
curl -X POST $OXUS_API/v1/customers/cus_8f2a91c04d7e/receivers \
-H "Authorization: Bearer $OXUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rail": "ACH",
"currency": "USD",
"holder": { "type": "INDIVIDUAL", "name": "Carlos Oliveira", "relationship": "FAMILY", "country": "USA" },
"details": {
"bankName": "Chase Bank",
"routingNumber": "021000021",
"accountNumber": "000123456789",
"accountType": "CHECKING"
}
}'Cote
curl -X POST $OXUS_API/v1/quotes \
-H "Authorization: Bearer $OXUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customerId": "cus_8f2a91c04d7e",
"receiverId": "rcv_AHShHbju",
"paymentMethod": "PIX",
"sourceCurrency": "BRL",
"amount": 1000000,
"amountType": "SOURCE"
}'{
"id": "quo_jyqRwE1-AHShHbjuAAAAAAAPQkBqxmlC",
"sourceAmount": 1000000,
"destinationAmount": 182765,
"exchangeRate": "0.184020",
"effectiveRate": "0.182765",
"fees": { "oxusFee": 6000, "payoutFee": 816, "total": 6816, "currency": "BRL" },
"routing": { "evaluatedRoutes": 5, "estimatedDelivery": "SAME_DAY" },
"expiresAt": "2026-10-07T15:51:10.000Z"
}O Carlos recebe US$ 1.827,65. A cotação vale por 5 minutos.
Crie a transferência
Gere uma Idempotency-Key por operação. Se a rede falhar, repita com a mesma chave.
curl -X POST $OXUS_API/v1/transfers \
-H "Authorization: Bearer $OXUS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"quoteId": "quo_jyqRwE1-AHShHbjuAAAAAAAPQkBqxmlC",
"purpose": "FAMILY_SUPPORT",
"externalReference": "CAMBIO-2026-000981"
}'A resposta traz o PIX copia e cola em paymentInstructions. O parceiro debita a conta da Maria e paga esse PIX.
IDs de exemplo
Os IDs desta página funcionam no sandbox. A cotação de exemplo não expira, para você testar direto na Referência da API.