### Example Payment Transaction Data Source: https://docs.payments.sardine.ai/api_reference/onramp/order/get-an-order-by-id Provides a concrete example of a complete payment transaction, illustrating the expected format for fields such as IDs, timestamps, monetary values, fees, payment method details, and withdrawal information. This example is useful for testing and understanding API interactions. ```yaml x-examples: Example 1: id: 0113e40a-7406-4036-a882-745a3275e614 createdAt: '2023-03-10T20:46:29Z' confirmedAt: '2023-03-10T20:46:33Z' referenceId: test-0.7142516498128628 status: Complete fiatCurrency: USD transactionId: 7b47afca-4a6d-4cd3-a756-03db3281b932 walletAddress: '0x3d0babc12ac0b08f933a837dbb7a9943be35b0fc' expiresAt: '2023-03-10T20:51:29Z' userId: afceb64d-2d0b-4e52-8b99-a6a4eafc8515 total: 10 subtotal: 0 processingFees: transactionFee: 0 networkFee: 1.05 payment: amountCents: 1000 currency: USD paymentMethodId: cfb30490-62da-4bcb-8179-5e18953d0117 paymentMethodType: Bank withdrawal: txHash: >- 0xbb45ae53e0ca10e598cf9d0ffedf554e8a72ca4a611a3f883474e0d6864eda5a walletAddress: '0x3d0babc12ac0b08f933a837dbb7a9943be35b0fc' withdrawals: - walletAddress: '0x3d0babc12ac0b08f933a837dbb7a9943be35b0fc' holdAmount: 5 holdUntil: '2023-03-14T20:46:14.675+00:00' quantity: 0.003091455 isHold: true status: HOLD - txHash: >- 0xbb45ae53e0ca10e598cf9d0ffedf554e8a72ca4a611a3f883474e0d6864eda5a walletAddress: '0x3d0babc12ac0b08f933a837dbb7a9943be35b0fc' quantity: 0.003091455 isHold: false status: SETTLED withdrawnAt: '2023-03-10T20:46:58Z' ``` -------------------------------- ### Customer Schema Example Source: https://docs.payments.sardine.ai/api_reference/nft/customers/post-customer-information An example of the customer schema, detailing personal information, address, and transaction data. This schema is used to represent customer profiles and their associated financial activities. ```yaml dateOfBirth: '1990-08-15' address: street1: 1 Main St city: Okhlahoma regionCode: OK postalCode: '70438' countryCode: US transaction: id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 createdAtMillis: 1616822241000 amount: 1000 itemCategory: crypto actionType: buy currencyCode: USD paymentMethod: type: crypto bank: accountNumber: '123456789' routingNumber: '1298751331' accountType: checking balance: 1000 balanceCurrencyCode: USD emailAddress: user@example.com isEmailVerified: true phone: '+17342321234' isPhoneVerified: true createdAtMills: 0 personalInfo: - source: id_verification firstName: John lastName: Doe address: street1: 1 Main St city: Okhlahoma regionCode: OK postalCode: '70438' countryCode: US dateOfBirth: '1980-07-15' ``` -------------------------------- ### API Response Example (200 OK) Source: https://docs.payments.sardine.ai/api_reference/nft/customers/post-customer-information Example of a successful API response (HTTP 200 OK) containing customer and transaction details, including risk levels and verification checkpoints. This response provides insights into the customer's risk profile and verification status. ```yaml responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' examples: example-1: value: sessionKey: string level: string status: string customer: score: 0 level: string signals: - key: string value: string transaction: level: string amlLevel: string indemnification: decision: string instantLimit: 0 holdAmount: 0 verificationCode: string checkpoints: customer: customerPurchaseLevel: value: string ruleIds: - {} emailLevel: value: string ruleIds: - {} historicalLevel: value: string ruleIds: - {} riskLevel: value: string ruleIds: - {} ``` -------------------------------- ### Webhook Payload Example (order.status.updated) Source: https://docs.payments.sardine.ai/integration_guides/onofframps/api_integration Sample payload for webhook notifications regarding order status changes. Includes event type, order ID, new status, and timestamp. Essential for real-time updates. ```json { "event": "order.status.updated", "order_id": "order123", "status": "completed", "timestamp": "2025-04-17T12:34:56Z" } ``` -------------------------------- ### Example Payout Creation Request Source: https://docs.payments.sardine.ai/api_reference/nft/create-payout An example of a POST request body to create payouts, specifying order details and an array of payout objects. Each payout includes recipient wallet information, asset type, amount, and network. The txHash is initially null. ```json { "orderId": "a9a54943-468a-4e0c-9d3d-84b7dbc663f0", "orderValue": 20, "payouts": [ { "id": "7fea91c2-a491-49fb-9312-d372f4334ce1", "orderId": "a9......", "status": "FUNDED", "payoutType": "CRYPTO", "receipt": { "walletAddress": "0x...", "assetSymbol": "USDC", "assetAmount": 15, "network": "polygon", "txHash": null } }, { "id": "887d8f92-f129-4ecb-b909-0e12aff70e74", "status": "FUNDED", "payoutType": "CRYPTO", "receipt": { "walletAddress": "0x...", "assetSymbol": "USDC", "assetAmount": 5, "network": "polygon", "txHash": null } } ] } ``` -------------------------------- ### Order Data Structure and Example Source: https://docs.payments.sardine.ai/api_reference/nft/get-orders Defines the structure for payment order data, including properties for currency, payment method type, transaction details, and potential error reasons. An example demonstrates a typical order object with its associated fields and values. ```yaml properties: currency: type: string paymentMethodType: type: string data: type: object properties: transactionType: type: string name: type: string price: type: string contractAddress: type: string imageUrl: type: string error: type: object properties: reasonCode: type: string description: >- Reason code if Order is in `Declined`, `Cancelled` or `Refunded` x-examples: example-1: id: 4971a540-9700-47db-93c3-48a179c25b53 createdAt: '2022-08-09T18:58:55Z' referenceId: fff123121123dff12332 status: Expired expiresAt: '2022-08-09T19:58:55Z' userId: 890a7f-akjsdi983-aps389df87 total: 500 subtotal: 498.6 processingFees: tax: 0.1 clientProcessingFee: 1.2 networkFee: 0.1 payment: currency: USD paymentMethodType: credit data: transactionType: nft name: The BEST NFT FOR DEMO PURPOSE price: '498.6' contractAddress: '0x7fC0344254E1663C2eF24e3c063cbec231525C20' imageUrl: >- https://www.dictionary.com/e/wp-content/uploads/2018/03/This-is-Fine-300x300.jpg withdrawal: txHash: >- 0x36e38af93e08388fb8140ccaf7e4c6fef2234d5b3f9dc6ace39c53859f9da37d walletAddress: '0x5e14dfdb3438676255f0e4137c627c73bc7551a0' examples: Get Order by Reference ID: value: id: 4971a540-9700-47db-93c3-48a179c25b53 createdAt: '2022-08-09T18:58:55Z' referenceId: fff123121123dff12332 status: Expired expiresAt: '2022-08-09T19:58:55Z' userId: 890a7f-akjsdi983-aps389df87 total: 500 subtotal: 498.6 processingFees: tax: 0.1 clientProcessingFee: 1.2 networkFee: 0.1 payment: currency: USD paymentMethodType: credit data: transactionType: nft name: The BEST NFT FOR DEMO PURPOSE price: '498.6' contractAddress: '0x7fC0344254E1663C2eF24e3c063cbec231525C20' imageUrl: >- https://www.dictionary.com/e/wp-content/uploads/2018/03/This-is-Fine-300x300.jpg ``` -------------------------------- ### Obtain Client Token Request - HTTP Example Source: https://docs.payments.sardine.ai/integration_guides/nft_checkout/nft_checkout_payout Demonstrates an example HTTP POST request to the Sardine AI API for obtaining a client token. It includes the endpoint URL, necessary Basic Authentication header, and a sample request body with a mandatory 'referenceId'. ```http { "method": "POST", "url": "https://api.sandbox.sardine.ai/v1/auth/client-tokens", "headers" : { "Authorization" : "Basic Y2xpZW50SWQ6Y2xpZW50U2VjcmV0", }, "body" : { "referenceId": "42eadcb0-4a93-45af-9c8c-d295db5aeb6c" } ``` -------------------------------- ### Get Order Status using Reference ID (HTTP) Source: https://docs.payments.sardine.ai/integration_guides/nft_checkout/nft_checkout_web This snippet demonstrates how to make an HTTP GET request to the Sardine AI API to retrieve the status of an order. It uses a `referenceId` to identify the specific transaction. Ensure you have the correct API endpoint and authorization headers. ```http { "method": "GET", "url": "https://api.sandbox.sardine.ai/v1/orders", "query" : { "referenceId" : "7ce511d0-c973-4744-b819-d933a248ae51" }, "headers" : { "Authorization" : "Basic Y2xpZW50SWQ6Y2xpZW50U2VjcmV0" } } ``` -------------------------------- ### JSON: Poll Orders Endpoint Request Example Source: https://docs.payments.sardine.ai/integration_guides/onofframps/mobile_integration An example of a GET request to the Sardine API's /orders endpoint to check the status of a specific order using its order ID and client token. ```json { "method": "GET", "url": "https://api.sandbox.sardine.ai/v1/orders/17983781730123", "query" : { "clientToken" : "7ce511d0-c973-4744-b819-d933a248ae51" }, "headers" : { "Authorization" : "Basic Y2xpZW50SWQ6Y2xpZW50U2VjcmV0", } } ``` -------------------------------- ### Get Enabled Tokens - OpenAPI Specification Source: https://docs.payments.sardine.ai/api_reference/onramp/coverage/get-enabled-tokens This OpenAPI 3.0.3 specification defines the GET /enabled-tokens endpoint for the Sardine Crypto API. It allows clients to fetch a list of supported cryptocurrency tokens, including their symbols, names, networks, decimal precision, chain IDs for EVM-compatible networks, and token addresses for ERC-20 tokens. The response includes example data for various cryptocurrencies. ```yaml openapi: 3.0.3 info: version: '1.0' title: Crypto API description: Reference for Sardine Crypto API contact: email: support@sardine.io name: Sardine url: docs.sardine.io servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server security: [] paths: /enabled-tokens: get: tags: - Coverage summary: Get Enabled Tokens description: 'Fetch list of tokens supported. ' operationId: get_tokens responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: type: object properties: token: type: string description: Symbol of cryptocurrency tokenName: type: string description: Full name of cryptocurrency network: type: string description: Name of network, token is available on decimals: type: integer description: Number of decimal points that the crypto can have chainId: type: integer description: chainID if network is EVM compatible nullable: true tokenAddress: type: string description: address if token is ERC-20 x-examples: example-1: data: - token: AAVE tokenName: Aave network: ethereum decimals: 18 chainId: 1 tokenAddress: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9' - token: ADA tokenName: Cardano network: cardano decimals: 6 chainId: null tokenAddress: null - token: ALGO tokenName: Algorand network: algorand decimals: 6 chainId: null tokenAddress: null - token: AXS tokenName: Axie Infinity network: ethereum decimals: 18 chainId: 1 tokenAddress: '0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b' - token: AVAX tokenName: Avalanche network: avalanche_c-chain decimals: 18 chainId: 43114 tokenAddress: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7' - token: BAT tokenName: Basic Attention Token network: ethereum decimals: 18 chainId: 1 tokenAddress: '0x0D8775F648430679A709E98d2b0Cb6250d2887EF' - token: BCH tokenName: Bitcoin Cash network: bitcoin_cash decimals: 8 chainId: null tokenAddress: null - token: BTC tokenName: Bitcoin network: bitcoin decimals: 8 chainId: null destinationTagRequired: false tokenAddress: null - token: BUSD tokenName: Binance USD network: ethereum decimals: 18 chainId: 1 destinationTagRequired: false tokenAddress: '0x4Fabb145d64652a948d72533023f6E7A623C7C53' - token: COMP tokenName: Compound network: ethereum decimals: 18 chainId: 1 destinationTagRequired: false tokenAddress: '0xc00e94Cb662C3520282E6f5717214004A7f26888' - token: DAI tokenName: Dai network: ethereum decimals: 18 chainId: 1 destinationTagRequired: false ``` -------------------------------- ### Navigation and Other Pages Source: https://docs.payments.sardine.ai/api_reference/onramp/coverage/get-supported-tokens Instructions on how to fetch navigation and other pages within the documentation. ```APIDOC ## Navigation and Other Pages ### Description Instructions on how to fetch navigation and other pages within the documentation. ### Method GET ### Endpoint /llms.txt ### Parameters #### Query Parameters - **url** (string) - Required - The URL to fetch the file from. Example: `https://docs.payments.sardine.ai/llms.txt` ### Request Example ``` GET https://docs.payments.sardine.ai/llms.txt ``` ### Response #### Success Response (200) - **content** (string) - The content of the fetched file. #### Response Example ```json { "content": "[Content of the llms.txt file]" } ``` ``` -------------------------------- ### GET /v1/orders/{order_id} Source: https://docs.payments.sardine.ai/integration_guides/onofframps/api_integration Retrieve the current status of an order by polling this endpoint. This is useful if webhooks are not available or for manual status checks. The response includes the order's status, timestamps, and relevant transfer details. ```APIDOC ## GET /v1/orders/{order_id} ### Description Poll this endpoint to retrieve the current status of an order. This is an alternative to webhooks or for manual status checks. The response includes the order's current status, relevant timestamps, and details about payment and asset transfers. ### Method GET ### Endpoint /v1/orders/{order_id} ### Parameters #### Path Parameters - **order_id** (string) - Required - The unique identifier of the order. ### Response #### Success Response (200) - **status** (string) - The current status of the order (e.g., `pending`, `processing`, `completed`, `failed`). - **timestamps** (object) - Contains various timestamps related to the order lifecycle. - **payment_details** (object) - Details about the payment associated with the order. - **asset_transfer_details** (object) - Information about the asset transfer. ``` -------------------------------- ### Get Fiat Currencies OpenAPI Specification Source: https://docs.payments.sardine.ai/api_reference/onramp/coverage/get-fiat-currencies OpenAPI 3.0.3 specification for the GET /fiat-currencies endpoint. This defines the API structure, including request methods, parameters, and response schemas for retrieving supported fiat currencies and their associated payment options. ```yaml openapi: 3.0.3 info: version: '1.0' title: Crypto API description: Reference for Sardine Crypto API contact: email: support@sardine.io name: Sardine url: docs.sardine.io servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server security: [] paths: /fiat-currencies: get: tags: - Coverage summary: Get Fiat Currencies description: List of fiat currencies supported by Sardine operationId: get-trade-get-fiat-currencies responses: '200': description: OK content: application/json: schema: type: object properties: response: type: object properties: symbol: type: string description: 3 letter symbol of fiat currency supportingCountries: type: array description: 2 letter ISO code for countries items: type: string name: type: string description: Name of currency paymentOptions: type: array items: type: object properties: name: type: string description: Name of payment method id: type: string processingTime: type: string displayText: type: boolean icon: type: string dailyLimit: type: integer description: Amount of crypto that can be purchased daily maxAmount: type: integer description: The maximum size of the transaction minAmount: type: integer description: The minimum size of transaction weeklyLImit: type: integer x-examples: example-1: response: symbol: USD supportingCountries: - US name: US Dollar paymentOptions: - name: ACH id: '1' processingTime: Instant - 3 days displayText: true icon: string dailyLimit: 300000 maxAmount: 300000 minAmount: 5000 isAllowed: true defaultAmount: 20000 icon: string security: - ClientToken: [] servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server components: securitySchemes: ClientToken: type: http scheme: basic ``` -------------------------------- ### Onboard User API Request (POST /v1/customers) Source: https://docs.payments.sardine.ai/integration_guides/onofframps/api_integration Initiates the onboarding process for a new user. Requires user's email, phone number, and country. Returns a unique customerId for subsequent operations. ```json { "email": "user@example.com", "phone": "+1234567890", "country": "US" } ``` -------------------------------- ### GET /kyc/widgetUrl Source: https://docs.payments.sardine.ai/api_reference/onramp/user-onboarding/get-kyc-widget-url Retrieves a URL for initiating document-based KYC verification for a specified user. ```APIDOC ## GET /kyc/widgetUrl ### Description This endpoint returns a URL that redirects the user to perform document-based KYC verification. ### Method GET ### Endpoint /kyc/widgetUrl ### Parameters #### Query Parameters - **userId** (string) - Required - The ID of the user for whom the KYC URL is being requested ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **kycUrl** (string) - URL to redirect the user to complete KYC #### Response Example ```json { "example": "{\"kycUrl\": \"https://kyc-widget.sardine.ai/start?sessionId=abc123\"}" } ``` ``` -------------------------------- ### POST /v1/customers Source: https://docs.payments.sardine.ai/integration_guides/onofframps/api_integration Onboard a new user by creating a customer profile. This is a prerequisite for placing orders and requires a unique `customerId` for subsequent operations. ```APIDOC ## POST /v1/customers ### Description Onboard a user by creating a customer profile. This endpoint is required before a user can place orders. The response includes a `customerId` that must be used in all subsequent user-specific operations. ### Method POST ### Endpoint /v1/customers ### Request Body - **email** (string) - Required - The user's email address. - **phone** (string) - Required - The user's phone number. - **country** (string) - Required - The user's country code (e.g., US). ### Request Example ```json { "email": "user@example.com", "phone": "+1234567890", "country": "US" } ``` ### Response #### Success Response (200) - **customerId** (string) - The unique identifier for the onboarded customer. ``` -------------------------------- ### Get Payment Method Information (OpenAPI) Source: https://docs.payments.sardine.ai/api_reference/onramp/payment-method/get-payment-method-information This OpenAPI specification defines the GET /payment-methods endpoint for retrieving user payment method details. It requires a `userId` query parameter and returns a JSON object containing payment method type and bank account information. ```yaml openapi: 3.0.3 info: version: '1.0' title: Crypto API description: Reference for Sardine Crypto API contact: email: support@sardine.io name: Sardine url: docs.sardine.io servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server security: [] paths: /payment-methods: get: tags: - Payment Method summary: Get Payment Method information description: Get information about User's payment methods operationId: get-user-payment_method parameters: - name: userId in: query description: ID of User required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: payment_method_type: type: string payment_method: $ref: '#/components/schemas/BankAccount' security: [] servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server components: schemas: BankAccount: type: object title: Bank Account properties: bankAccountId: type: string description: Unique identifier for the given user. format: uuid accountNumber: type: string description: | Bank account number name: type: string description: User set name of account format: email officialName: type: string description: Bank designated name of account format: date routingNumber: type: string description: The date that the user was created. format: date subtype: type: string description: Subtype of account type: type: string description: Type of account, checking, saving etc wireRoutingNUmber: type: string description: Routing number for bank account institutionName: type: string description: Name of the bank at which the account is open status: type: string enum: - connected - disconnected x-stoplight: id: 5n26ty6etq5zy ``` -------------------------------- ### Get Add Fiat Account Widget URL OpenAPI Spec Source: https://docs.payments.sardine.ai/api_reference/onramp/payment-method/get-add-fiat-account-widget-url OpenAPI specification for the GET /payment-methods/widgetUrl endpoint. This endpoint requires a `userId` and returns a URL to connect fiat payment methods like credit cards or bank accounts. ```yaml openapi: 3.0.3 info: version: '1.0' title: Crypto API description: Reference for Sardine Crypto API contact: email: support@sardine.io name: Sardine url: docs.sardine.io servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server security: [] paths: /payment-methods/widgetUrl: get: tags: - Payment Method summary: Get Add Fiat Account URL description: >- This endpoint returns a URL where users can be redirected to connect external fiat payment methods, including credit/debit cards, bank accounts, and SEPA. operationId: get-fiat-account-widget-url parameters: - name: userId in: query description: >- The ID of the user for whom the fiat account connection URL is being requested required: true schema: type: string responses: '200': description: Successful response with fiat account connection URL content: application/json: schema: type: object properties: addFiatAccountUrl: type: string description: URL to redirect the user to connect a fiat payment method format: uri examples: example-1: value: addFiatAccountUrl: https://connect-fiat.sardine.ai/start?sessionId=xyz789 security: [] servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server ``` -------------------------------- ### Get Supported Tokens Source: https://docs.payments.sardine.ai/api_reference/onramp/coverage/get-supported-tokens Fetches a list of tokens that are supported by the Payments Sardine AI service. ```APIDOC ## GET /websites/payments_sardine_ai/tokens ### Description Fetch list of tokens supported. ### Method GET ### Endpoint /websites/payments_sardine_ai/tokens ### Parameters #### Query Parameters #### Request Body ### Request Example ### Response #### Success Response (200) - **tokens** (array) - A list of supported token symbols. #### Response Example ```json { "tokens": ["BTC", "ETH", "USDT"] } ``` ``` -------------------------------- ### GET /orders Source: https://docs.payments.sardine.ai/api_reference/onramp/order/get-user-orders Retrieves a list of orders placed by a user. Supports filtering by userId, status, date range. ```APIDOC ## GET /orders ### Description Retrieves the list of orders placed by the user, with optional filtering based on specific query parameters like userId. ### Method GET ### Endpoint /orders ### Parameters #### Query Parameters - **userId** (string) - Required - The ID of the user whose orders are being retrieved - **status** (string) - Optional - Filter orders by status (e.g., pending, completed) - **fromDate** (string) - Optional - Filter orders created after this date (ISO 8601 format) - **toDate** (string) - Optional - Filter orders created before this date (ISO 8601 format) ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **orders** (array) - An array of order objects. - **orderId** (string) - Unique identifier for the order - **fromCurrency** (string) - The cryptocurrency involved in the order (e.g., ETH) - **toCurrency** (string) - The fiat currency for the transaction (e.g., USD) - **amount** (number) - Amount of cryptocurrency involved - **status** (string) - The current status of the order (e.g., pending, completed) - **createdAt** (string) - The timestamp when the order was created #### Response Example ```json { "orders": [ { "orderId": "OFF-20250417-001", "fromCurrency": "ETH", "toCurrency": "USD", "amount": 0.05, "status": "pending", "createdAt": "2025-04-17T10:00:00Z" }, { "orderId": "OFF-20250416-002", "fromCurrency": "BTC", "toCurrency": "USD", "amount": 0.2, "status": "completed", "createdAt": "2025-04-16T14:30:00Z" } ] } ``` ``` -------------------------------- ### Retrieve Supported Geo Coverage, Assets, and Payment Methods Source: https://docs.payments.sardine.ai/integration_guides/onofframps/api_integration Fetch dynamic metadata for your UI, including supported countries, cryptocurrencies, fiat currencies, and payment methods. ```APIDOC ## Retrieve Supported Geo Coverage, Assets, and Payment Methods ### Description Use these endpoints to fetch dynamic metadata necessary for populating UI elements like dropdowns and for client-side input validation. ### Endpoints * `GET /v1/geo-coverage` - Retrieves a list of supported countries and regions. * `GET /v1/supported-tokens` - Retrieves a list of available cryptocurrencies and fiat currencies. ``` -------------------------------- ### GET /fiat-currencies Source: https://docs.payments.sardine.ai/api_reference/onramp/coverage/get-fiat-currencies Retrieves a list of all fiat currencies supported by Sardine, along with details about their payment options and transaction limits. ```APIDOC ## GET /fiat-currencies ### Description Retrieves a list of all fiat currencies supported by Sardine, including their symbols, supporting countries, names, and available payment options with associated limits. ### Method GET ### Endpoint /fiat-currencies ### Parameters #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **response** (object) - Contains the list of fiat currencies. - **symbol** (string) - 3 letter symbol of fiat currency. - **supportingCountries** (array) - 2 letter ISO code for countries. - items (string) - **name** (string) - Name of currency. - **paymentOptions** (array) - Details of payment methods available for the currency. - items (object) - **name** (string) - Name of payment method. - **id** (string) - **processingTime** (string) - **displayText** (boolean) - **icon** (string) - **dailyLimit** (integer) - Amount of crypto that can be purchased daily. - **maxAmount** (integer) - The maximum size of the transaction. - **minAmount** (integer) - The minimum size of transaction. - **weeklyLImit** (integer) - **isAllowed** (boolean) - **defaultAmount** (integer) - **icon** (string) #### Response Example ```json { "response": { "symbol": "USD", "supportingCountries": [ "US" ], "name": "US Dollar", "paymentOptions": [ { "name": "ACH", "id": "1", "processingTime": "Instant - 3 days", "displayText": true, "icon": "string", "dailyLimit": 300000, "maxAmount": 300000, "minAmount": 5000 } ], "isAllowed": true, "defaultAmount": 20000, "icon": "string" } } ``` ``` -------------------------------- ### POST /websites/payments_sardine_ai Source: https://docs.payments.sardine.ai/api_reference/nft/post-client-token Initiates a payment session, allowing for pre-filled customer identity information and NFT details. Supports various payment methods and smart contract execution. ```APIDOC ## POST /websites/payments_sardine_ai ### Description This endpoint initiates a payment session. It allows for pre-filled customer identity information, NFT details, and tax rate configurations. It also supports smart contract execution for NFT purchases and specifies enabled payment methods. ### Method POST ### Endpoint /websites/payments_sardine_ai ### Parameters #### Request Body - **referenceId** (string) - Required - A unique identifier for the transaction. - **customerId** (string) - Optional - The ID of the customer. - **nft** (object) - Required - Details about the NFT being purchased. - **name** (string) - Required - The name of the NFT. - **price** (number) - Required - The price of the NFT. - **currencyCode** (string) - Required - The currency code for the price (e.g., USD, CAD). - **imageUrl** (string) - Optional - The URL of the NFT image. - **contractAddress** (string) - Optional - The smart contract address for the NFT. - **blockchainNftId** (string) - Optional - The ID of the NFT on the blockchain. - **network** (string) - Optional - The blockchain network (e.g., polygon). - **recipientAddress** (string) - Optional - The recipient's address for the NFT. - **platform** (string) - Optional - The NFT platform. - **executionType** (string) - Optional - The type of execution (e.g., 'smart_contract'). - **quantity** (integer) - Optional - The quantity of NFTs to purchase. - **identityPrefill** (object) - Optional - Information to pre-fill for the customer. - **firstName** (string) - Optional - First name of the customer. - **lastName** (string) - Optional - Last name of the customer. - **dateOfBirth** (string) - Optional - Date of birth in YYYY-MM-DD format. - **emailAddress** (string) - Optional - Email address of the user. - **phone** (string) - Optional - Phone number of the user with country code. - **address** (object) - Optional - Customer's address. - **street1** (string) - Required - Street address line 1. - **street2** (string) - Optional - Street address line 2. - **city** (string) - Required - City name. - **regionCode** (string) - Required - State or region code. - **postalCode** (string) - Required - Postal or ZIP code. - **countryCode** (string) - Required - Two-letter country code. - **taxRates** (object) - Optional - A mapping of country/region codes to tax rates. - **expiresIn** (integer) - Optional - The time in seconds until the session expires. - **paymentMethodTypeConfig** (object) - Optional - Configuration for payment methods. - **enabled** (array) - Optional - A list of enabled payment method types. - **default** (string) - Optional - The default payment method type. ### Request Example ```json { "referenceId": "42eadcb0-4a93-45af-9c8c-d295db5aeb6c", "customerId": "adf02ae2-f633-11ec-b939-0242ac120002", "nft": { "name": "NFT #1", "price": 100, "currencyCode": "USD", "imageUrl": "https://gateway.nftcompany.io/ipfsQmSAQm4gbhjSeUk7fuYppHd7Z8dfWpBvnFmqFSKqkrUJPM" }, "identityPrefill": { "firstName": "John", "lastName": "Doe", "dateOfBirth": "2000-01-01", "emailAddress": "foobar@gmail.com", "phone": "+19254485826", "address": { "street1": "123 Main st", "street2": "", "city": "irvine", "regionCode": "CA", "postalCode": "02747", "countryCode": "US" } }, "taxRates": { "US": 10, "US-CA": 20 } } ``` ### Response #### Success Response (200) - **clientToken** (string) - A unique token used to authenticate the merchant. (format: uuid) #### Response Example ```json { "clientToken": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` ``` -------------------------------- ### Get KYC Widget URL (OpenAPI) Source: https://docs.payments.sardine.ai/api_reference/onramp/user-onboarding/get-kyc-widget-url This OpenAPI definition describes the GET /kyc/widgetUrl endpoint. It requires a 'userId' query parameter and returns a JSON object containing a 'kycUrl' for document-based KYC verification. The endpoint is available on sandbox and production Sardine API servers. ```yaml openapi: 3.0.3 info: version: '1.0' title: Crypto API description: Reference for Sardine Crypto API contact: email: support@sardine.io name: Sardine url: docs.sardine.io servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server security: [] paths: /kyc/widgetUrl: get: tags: - User Onboarding summary: Get KYC Widget URL description: >- This endpoint returns a URL that redirects the user to perform document-based KYC verification. operationId: get-kyc-widget-url parameters: - name: userId in: query description: The ID of the user for whom the KYC URL is being requested required: true schema: type: string responses: '200': description: Successful response with KYC redirect URL content: application/json: schema: type: object properties: kycUrl: type: string description: URL to redirect the user to complete KYC format: uri examples: example-1: value: kycUrl: https://kyc-widget.sardine.ai/start?sessionId=abc123 security: [] servers: - url: https://api.sandbox.sardine.ai/v1 description: Sandbox - url: https://api.sardine.ai/v1 description: Prod Server ```