Onchain payments
APIs
Send stablecoin payment
relevant webhooks for this endpoint be sure you have docid\ bn5xtgkjogbe ctwomcbs for these webhooks docid\ l2nt0zp yk zwesb7d pt docid\ l2nt0zp yk zwesb7d pt docid\ l2nt0zp yk zwesb7d pt docid\ l2nt0zp yk zwesb7d pt api reference initiates an outbound payment from a given account to a previously created externaladdress using the externaladdressid or to an inline beneficiary using the complete externaladdress block { "name" "endpoint /crypto/v1/payments", "method" "post", "url" "https //sandbox crbcos com/crypto/v1/payments", "description" "", "tab" "examples", "examples" { "languages" \[ { "id" "gvbyb xxxg8aaahk3ybhl", "language" "curl", "code" "{\n \\"accountnumber\\" \\"2917000057\\",\n \\"amount\\" 10000000,\n \\"externaladdress\\" {\n \\"title\\" \\"john's metamask wallet sol\\",\n \\"blockchain\\" \\"solana\\",\n \\"address\\" \\"fvfzayzneljydghc3pwe3wumfgxgkdh6hwjrehgmzw84\\",\n \\"tag\\" \\"sol wallet\\",\n \\"beneficiary\\" {\n \\"name\\" \\"john doe\\",\n \\"addressline1\\" \\"2115 linwood\\",\n \\"addressline2\\" \\"ave\\",\n \\"city\\" \\"fort lee\\",\n \\"stateprovince\\" \\"nj\\",\n \\"countrycode\\" \\"us\\",\n \\"postalcode\\" \\"07024\\"\n }\n },\n \\"originator\\" {\n \\"entitytype\\" \\"business\\",\n \\"entityname\\" \\"sk corp\\",\n \\"addressline1\\" \\"2115 linwood\\",\n \\"addressline2\\" \\"ave\\",\n \\"city\\" \\"fort lee\\",\n \\"stateprovince\\" \\"nj\\",\n \\"postalcode\\" \\"07024\\",\n \\"countrycode\\" \\"us\\"\n },\n \\"currency\\" \\"usdc\\",\n \\"feetype\\" \\"net\\",\n \\"feelevel\\" \\"low\\",\n \\"clientidentifier\\" \\"test 1\\"\n}\n", "customlabel" "" } ], "selectedlanguageid" "gvbyb xxxg8aaahk3ybhl" }, "results" { "languages" \[ { "id" "vvw eg1cazm9nswdn62ez", "language" "200", "code" "{\n \\"id\\" \\"b6bf7f13 7b91 41cb 87d7 b3640167c96e\\",\n \\"referenceid\\" \\"crp2694f3l7gun\\",\n \\"partnerid\\" \\"a6154099 f87f 4944 b974 b32f0108a29a\\",\n \\"productid\\" \\"7c3ef848 8d09 4953 ad55 b32f010ddb05\\",\n \\"clientidentifier\\" \\"test 1\\",\n \\"accountnumber\\" \\"2917000057\\",\n \\"direction\\" \\"outbound\\",\n \\"status\\" \\"hold\\",\n \\"blockchain\\" \\"solana\\",\n \\"currency\\" \\"usdc\\",\n \\"unit\\" \\"mwei\\",\n \\"amount\\" 10000000,\n \\"feecurrency\\" \\"sol\\",\n \\"feeunit\\" \\"lamport\\",\n \\"feetype\\" \\"net\\",\n \\"feelevel\\" \\"low\\",\n \\"sourceaddress\\" \\"alpx1irfrmpbbodmqacqvtxewei4vijzgfrdgvzbta1h\\",\n \\"destinationaddress\\" \\"fvfzayzneljydghc3pwe3wumfgxgkdh6hwjrehgmzw84\\",\n \\"createdat\\" \\"2025 09 26t17 49 56 6277343\\",\n \\"lastmodifiedat\\" \\"2025 09 26t21 49 56 6388805z\\",\n \\"postingstatus\\" \\"pending\\",\n \\"transactionhash\\" null\n}", "customlabel" "" } ], "selectedlanguageid" "vvw eg1cazm9nswdn62ez" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "accountnumber", "kind" "required", "type" "string", "description" "account number initiating the payment maximum 20 characters ", "" "account number initiating the payment maximum 20 characters " }, { "name" "amountnative", "kind" "optional", "type" "number", "description" "amount in usd cents (system converts to chain base units) you must provide a value for either the amount or amountnative, not both ", "" "amount in usd cents (system converts to chain base units) you must provide a value for either the amount or amountnative, not both " }, { "name" "amount", "kind" "optional", "type" "number", "description" "amount in blockchain base units (for example, 0 01 usdc = 10,000 on 6 decimals) you must provide a value for either the amount or amountnative, not both ", "" "amount in blockchain base units (for example, 0 01 usdc = 10,000 on 6 decimals) you must provide a value for either the amount or amountnative, not both " }, { "name" "externaladdressid", "kind" "optional", "type" "string", "description" "a reference code for a saved externaladdress in uuid format \nyou must provide a value for either the externaladdressid or the externaladdress object but not both ", "" "a reference code for a saved externaladdress in uuid format \nyou must provide a value for either the externaladdressid or the externaladdress object but not both " }, { "name" "externaladdress", "kind" "optional", "type" "object", "description" "beneficiary details including name and address information \nyou must provide either the externaladdressid or the exteraladdress object but not both ", "" "beneficiary details including name and address information \nyou must provide either the externaladdressid or the exteraladdress object but not both ", "children" \[ { "name" "title", "kind" "required", "type" "string", "description" "label for wallet (inline only) maximum 255 characters " }, { "name" "blockchain", "kind" "required", "type" "string", "description" "blockchain network where payments will be sent (for example, solana, ethereum) maximum 20 characters " }, { "name" "address", "kind" "required", "type" "string", "description" "destination wallet address maximum 255 characters " }, { "name" "tag", "kind" "optional", "type" "string", "description" "tag/memo/destination tag if the blockchain requires it maximum 255 characters " }, { "name" "beneficiary", "kind" "required", "type" "object", "description" "beneficiary kyc address block the person or business that receives the payment ", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "full legal name maximum 200 characters " }, { "name" "addressline1", "kind" "required", "type" "string", "description" "first line of the beneficiary’s physical address maximum 80 characters " }, { "name" "addressline2", "kind" "optional", "type" "string", "description" "second line of the beneficiary’s physical address maximum 80 characters " }, { "name" "city", "kind" "required", "type" "string", "description" "full name of the city where the beneficiary is located maximum 40 characters " }, { "name" "stateprovince", "kind" "required", "type" "string", "description" "2 letter code for the state or province of the beneficiary maximum 2 characters " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code for the beneficiary's country maximum 2 characters " }, { "name" "postalcode", "kind" "required", "type" "string", "description" "postal or zip code of the beneficiary maximum 20 characters " } ] } ], "schema" \[ { "name" "title", "kind" "required", "type" "string", "description" "label for wallet (inline only) maximum 255 characters " }, { "name" "blockchain", "kind" "required", "type" "string", "description" "blockchain network where payments will be sent (for example, solana, ethereum) maximum 20 characters " }, { "name" "address", "kind" "required", "type" "string", "description" "destination wallet address maximum 255 characters " }, { "name" "tag", "kind" "optional", "type" "string", "description" "tag/memo/destination tag if the blockchain requires it maximum 255 characters " }, { "name" "beneficiary", "kind" "required", "type" "object", "description" "beneficiary kyc address block the person or business that receives the payment ", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "full legal name maximum 200 characters " }, { "name" "addressline1", "kind" "required", "type" "string", "description" "first line of the beneficiary’s physical address maximum 80 characters " }, { "name" "addressline2", "kind" "optional", "type" "string", "description" "second line of the beneficiary’s physical address maximum 80 characters " }, { "name" "city", "kind" "required", "type" "string", "description" "full name of the city where the beneficiary is located maximum 40 characters " }, { "name" "stateprovince", "kind" "required", "type" "string", "description" "2 letter code for the state or province of the beneficiary maximum 2 characters " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code for the beneficiary's country maximum 2 characters " }, { "name" "postalcode", "kind" "required", "type" "string", "description" "postal or zip code of the beneficiary maximum 20 characters " } ] } ] }, { "name" "originator", "kind" "optional", "type" "object", "description" "the person or entity who the payment is from", "" "the person or entity who the payment is from", "children" \[ { "name" "entitytype", "kind" "required", "type" "string", "description" "the type of entity for this payment valid values are \\"person\\" or \\"business\\"" }, { "name" "fullname", "kind" "required", "type" "string", "description" "full name of the originator maximum 255 characters required if entitytype is \\"person\\"" }, { "name" "firstname", "kind" "optional", "type" "string", "description" "first name maximum 255 characters " }, { "name" "lastname", "kind" "optional", "type" "string", "description" "lastname maximum 255 characters " }, { "name" "entityname", "kind" "optional", "type" "string", "description" "entity name maximum 255 characters required if the entitytype is \\"business\\" " }, { "name" "addressline1", "kind" "optional", "type" "string", "description" "first line of the originator's physical address maximum 80 characters " }, { "name" "addressline2", "kind" "optional", "type" "string", "description" "second line of the originator’s physical address maximum 80 characters " }, { "name" "city", "kind" "optional", "type" "string", "description" "full name of the city where the originator is located maximum 40 characters " }, { "name" "stateprovince", "kind" "optional", "type" "string", "description" "2 letter code for the state or province of the originator maximum 2 characters " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "postal or zip code of the originator maximum 20 characters " }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "2 letter iso country code for the originator's country maximum 2 characters for a business entitytype, the country where it is registered for an person entitytype, the country where they're based " }, { "name" "birthdate", "kind" "optional", "type" "string", "description" "if entitytype is \\"business,\\" date of registration if entitytype is \\"person\\", date of birth the date and time are in this format \\"yyyy mm dd\\" " }, { "name" "identificationtype", "kind" "optional", "type" "string", "description" " ein (employer identification number)\nthis id type is required for a \\"business\\" entitytype" }, { "name" "identificationvalue", "kind" "optional", "type" "string", "description" "the ein number maximum 255 characters this id is required for a \\"business\\" entitytype " } ], "schema" \[ { "name" "entitytype", "kind" "required", "type" "string", "description" "the type of entity for this payment valid values are \\"person\\" or \\"business\\"" }, { "name" "fullname", "kind" "required", "type" "string", "description" "full name of the originator maximum 255 characters required if entitytype is \\"person\\"" }, { "name" "firstname", "kind" "optional", "type" "string", "description" "first name maximum 255 characters " }, { "name" "lastname", "kind" "optional", "type" "string", "description" "lastname maximum 255 characters " }, { "name" "entityname", "kind" "optional", "type" "string", "description" "entity name maximum 255 characters required if the entitytype is \\"business\\" " }, { "name" "addressline1", "kind" "optional", "type" "string", "description" "first line of the originator's physical address maximum 80 characters " }, { "name" "addressline2", "kind" "optional", "type" "string", "description" "second line of the originator’s physical address maximum 80 characters " }, { "name" "city", "kind" "optional", "type" "string", "description" "full name of the city where the originator is located maximum 40 characters " }, { "name" "stateprovince", "kind" "optional", "type" "string", "description" "2 letter code for the state or province of the originator maximum 2 characters " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "postal or zip code of the originator maximum 20 characters " }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "2 letter iso country code for the originator's country maximum 2 characters for a business entitytype, the country where it is registered for an person entitytype, the country where they're based " }, { "name" "birthdate", "kind" "optional", "type" "string", "description" "if entitytype is \\"business,\\" date of registration if entitytype is \\"person\\", date of birth the date and time are in this format \\"yyyy mm dd\\" " }, { "name" "identificationtype", "kind" "optional", "type" "string", "description" " ein (employer identification number)\nthis id type is required for a \\"business\\" entitytype" }, { "name" "identificationvalue", "kind" "optional", "type" "string", "description" "the ein number maximum 255 characters this id is required for a \\"business\\" entitytype " } ] }, { "name" "currency", "kind" "required", "type" "string", "description" "asset to send (for example, usdc) maximum 10 characters ", "" "asset to send (for example, usdc) maximum 10 characters " }, { "name" "feetype", "kind" "optional", "type" "string", "description" "every crypto transaction requires a network fee the fee can either be paid up front deducted from the payment amount, or taken later from a partner’s available balance \n gross network fee will be deducted from the sent amount\n net network fee will be taken out from available balance \nmaximum 10 characters ", "" "every crypto transaction requires a network fee the fee can either be paid up front deducted from the payment amount, or taken later from a partner’s available balance \n gross network fee will be deducted from the sent amount\n net network fee will be taken out from available balance \nmaximum 10 characters " }, { "name" "feelevel", "kind" "optional", "type" "string", "description" "defines the blockchain fee level which will be paid for the transaction by the sender \nrelevant for eth and utxo (for example, bitcoin) tokens only \nvalid values are low, medium or high\nhigher fees result in faster transaction processing ", "" "defines the blockchain fee level which will be paid for the transaction by the sender \nrelevant for eth and utxo (for example, bitcoin) tokens only \nvalid values are low, medium or high\nhigher fees result in faster transaction processing " }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes maximum 50 characters ", "" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes maximum 50 characters " } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "hastryitout" false, "response" \[ { "name" "id", "kind" "optional", "type" "string", "description" "unique identifier of the payment" }, { "name" "referenceid", "kind" "optional", "type" "string", "description" "unique cross river reference id for the payment the reference id always begins with the first letter of the rail for crypto the reference id starts with 'c' ", "children" \[] }, { "name" "partnerid", "kind" "optional", "type" "string", "description" "your unique id in the cross river system this id is in guid format ", "children" \[] }, { "name" "productid", "kind" "optional", "type" "string", "description" "id in guid format of your specific product type on which the wallet parent account is based provided by cross river ", "children" \[] }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes ", "children" \[] }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "debited account", "children" \[] }, { "name" "direction", "kind" "optional", "type" "string", "description" "outbound", "children" \[] }, { "name" "status", "kind" "optional", "type" "string", "description" "created, pending, hold, batched, processing, completed, rejected, canceled, researchrequired, transmitted, blocked, returned", "children" \[] }, { "name" "blockchain", "kind" "optional", "type" "string", "description" "blockchain network where payment was sent (for example, solana, ethereum)", "children" \[] }, { "name" "currency", "kind" "optional", "type" "string", "description" "asset sent (for example, usdc)", "children" \[] }, { "name" "unit", "kind" "optional", "type" "string", "description" "base unit (for example, mwei)", "children" \[] }, { "name" "amountnative", "kind" "optional", "type" "number", "description" "amount in usd cents, if provided/computed (system converts to chain base units) ", "children" \[] }, { "name" "amount", "kind" "optional", "type" "number", "description" "amount in blockchain base units (for example, 0 01 usdc = 10,000 on 6 decimals)", "children" \[] }, { "name" "netamount", "kind" "optional", "type" "string", "description" "net after fees", "children" \[] }, { "name" "feecurrency", "kind" "optional", "type" "string", "description" "fee asset + unit (for example, sol/lamport)", "children" \[] }, { "name" "feetype", "kind" "optional", "type" "string", "description" "every crypto transaction requires a network fee the fee can either be paid up front deducted from the payment amount, or taken later from a partner’s available balance \n gross network fee will be deducted from the sent amount\n net network fee will be taken out from available balance ", "children" \[] }, { "name" "servicefee", "kind" "optional", "type" "number", "description" "platform fee", "children" \[] }, { "name" "sourceaddress/destinationaddress", "kind" "optional", "type" "string", "description" "on chain addresses", "children" \[] }, { "name" "externaladdressid", "kind" "optional", "type" "string", "description" "a reference code for a saved externaladdress in uuid format the payment is sent to this external address, if used in the request ", "children" \[] }, { "name" "createdat", "kind" "optional", "type" "string", "description" "date and time the payment was created in the system in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "lastmodifiedat", "kind" "optional", "type" "string", "description" "internal cross river value date and time the database entry was last modified in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "canceledat", "kind" "optional", "type" "string", "description" "date and time the payment was canceled in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "rejectedat", "kind" "optional", "type" "string", "description" "date and time the payment was rejected in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "processedat", "kind" "optional", "type" "string", "description" "date and time the payment was processed by cross river in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm] ", "children" \[] }, { "name" "completedat", "kind" "optional", "type" "string", "description" "date and time the payment was systemically completed this can only occur after the payment has successfully posted to the account in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "transactionhash", "kind" "optional", "type" "string", "description" "blockchain tx hash", "children" \[] }, { "name" "postingstatus", "kind" "optional", "type" "string", "description" "internal posting status (pending, posted, failed, canceled, authorized, notapplicable)", "children" \[] } ], "autogeneratedanchorslug" "endpoint cryptov1payments", "legacyhash" "hwri18pfmpeimzy9vh22f" }