Skip to content
Testnet only: a reference implementation, not a production service.Tokens and bank transfers here are simulated and have no value.

Sandbox

4 operations under sandbox. Examples read $API and $KEY from your shell.

POST /v1/sandbox/fiat-deposits

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Request body

application/json, required

object

  • reference string optional (nullable)
  • amount decimal string required
  • currency string required

Responses

201 Default Response

object

  • rail_ref string required
  • reference string required (nullable)
  • amount decimal string required
  • currency string required
  • status string required one of credited, suspense
  • received_at string required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/sandbox/fiat-deposits" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{"amount":"10.00","currency":"<currency>"}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/sandbox/fiat-deposits", {
  body: {
    "amount": "10.00",
    "currency": "<currency>"
  },
});
Copied

POST /v1/sandbox/transfers/{id}/outcome

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Parameters

  • id string required in path

Request body

application/json, required

object

  • outcome string required one of bank_rejected, compliance_rejected

Responses

200 Default Response

object

  • transfer_id string required
  • kind string required
  • status string required
  • status_reason string required (nullable)
  • version integer required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/sandbox/transfers/$ID/outcome" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{"outcome":"bank_rejected"}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/sandbox/transfers/{id}/outcome", {
  params: { path: { id: "<id>" } },
  body: {
    "outcome": "bank_rejected"
  },
});
Copied

POST /v1/sandbox/kyb-outcome

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Request body

application/json, required

object

  • decision string required one of approved, info_requested, rejected
  • reason string optional

Responses

200 Default Response

object

  • decision string required one of approved, info_requested, rejected
  • reason string required (nullable)

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/sandbox/kyb-outcome" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{"decision":"approved"}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/sandbox/kyb-outcome", {
  body: {
    "decision": "approved"
  },
});
Copied

POST /v1/sandbox/testnet/fund

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Request body

application/json, required

object

  • address string required

Responses

200 Default Response

object

  • address string required
  • hash string required (nullable)

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/sandbox/testnet/fund" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{"address":"<address>"}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/sandbox/testnet/fund", {
  body: {
    "address": "<address>"
  },
});
Copied

Edit on GitHub